我想将一个长音频文件转录为文本。
所以我创建了一个存储桶,并使用
将其设置为私有 gsutil acl set private gs://bucket
然后我将特定帐户的上传权限设置为
gsutil acl ch -u myaccount@provider.com:WRITE gs://bucket
然后将服务帐户的读取权限设置为存储桶
gsutil acl ch -u projectname@projectname-a.iam.gserviceaccount.com:R gs://bucket/
然后我使用python程序发送了一个请求,但是它返回403
,但是如果我将该对象设置为public,那么它会返回200
,但是我不想将文件的许可设置为public
还有什么我可以做的吗?
是否必须强制使音频文件可公开访问以生成文本?
我按照此步骤设置了服务帐户权限:https://stackoverflow.com/a/45638730/4320263
答案 0 :(得分:1)
通过ACL doesn't allow the content within to be downloaded授予用户对存储桶的读取权限,而不仅仅是列出内容。 您可以在对象本身上设置ACL读取权限:
gsutil acl ch -u projectname@projectname-a.iam.gserviceaccount.com:R gs://bucket/file.xxx
或者您可以授予Storage Object Viewer IAM policy on the bucket来访问整个存储桶中的内容。