Google Cloud:使用服务帐户凭据,如何访问目录下的所有文件?如何获取整个目录的签名网址?

GoogleCloud: With service account credentials, how to access all files under directory ? How to get SignedUrl for entire directory?

Google云: 我在 ABC 存储桶下的 xyz 文件夹下存储了一些文件。我们已经创建了服务帐户来访问这些文件。我可以使用 gsutil:

为每个文件创建签名 URL
gsutil signurl -d 120s key.json gs://bucketname/folderNmae/index.html

我想直接访问文件夹,而不是为所有文件创建 signedURL。 我们有解决办法吗?

尝试为文件夹创建 signedURL 但出现错误:

Please create/upload an object with that name before a creating signed URL to access it.

您可以使用以下命令来实现该功能:

gsutil signurl -d 120s key.json gs://bucketname/folderName/**

这将为存储桶中的每个文件创建一个 SignedURL。

有关在 gsutil 命令中使用通配符名称的更多信息,请参阅文档中的 link

GCS 没有真正意义上的子目录;您的对象名称可能具有包含 / 个字符的相似前缀,看起来像路径中的目录。如今,使用签名 URL,您无法授予对以给定前缀开头的 any/all 对象的访问权限。您只能授予某人针对特定资源进行经过身份验证的 API 调用的权限。