在Firebase中使用云函数访问文件的旧版本

在Firebase中使用云函数访问文件的旧版本,firebase,google-cloud-functions,google-cloud-storage,firebase-storage,Firebase,Google Cloud Functions,Google Cloud Storage,Firebase Storage,我在Firebase存储桶上使用gsutil访问了单个json文件的版本。我现在正在搜索如何使用云函数检索该文件的版本,并最终允许用户在需要时返回其工作的旧版本。我没有找到任何关于如何使用云函数列出文件版本的文档。可能吗?谢谢大家! 在云函数中,您将看到,它包含一个非常薄的围绕常规函数的包装 看起来你可以把a传给a 应该是这样的: const result = await bucket.getFiles({ versions: true }) result.files.forEach(file

我在Firebase存储桶上使用gsutil访问了单个json文件的版本。我现在正在搜索如何使用云函数检索该文件的版本,并最终允许用户在需要时返回其工作的旧版本。我没有找到任何关于如何使用云函数列出文件版本的文档。可能吗?谢谢大家!

在云函数中,您将看到,它包含一个非常薄的围绕常规函数的包装

看起来你可以把a传给a

应该是这样的:

const result = await bucket.getFiles({ versions: true })
result.files.forEach(file => {
  console.log(file.name);
});

不过,这将列出bucket中的所有文件。我没有看到一个API允许您列出单个文件的版本。仅有的示例显示了gsutil和restapi,它们也不是针对单个对象。您可能需要将其与选项中的prefix参数结合使用,以使其仅列出单个文件的版本。啊,在这种情况下,您可以使用前缀过滤器来过滤单个文件。只需传递
prefix
选项的整个路径:
bucket.getFiles({prefix:'path/to/file.jpg',versions:true})
。如果将有关版本的信息存储在比云存储更灵活查询的数据库中,可能会更容易。我认为您的评论是对的,Doug。我现在正在学习firebase存储。非常感谢。