我有2个项目(A和B),而A我想将文件写入B的存储。 我已经在我要写的B桶上授予对A的写访问权。
我已查看https://cloud.google.com/storage/docs/json_api/v1/buckets/list
正如我所提到的那样,我可以通过将项目编号传递给客户来获取列表:
req = client.buckets().list(project=PROJECT_NUMBER)
res = req.execute()
...
到目前为止一切顺利。
当我检查API以列出给定的存储桶时,我被卡住了。
https://cloud.google.com/storage/docs/json_api/v1/buckets/get
https://cloud.google.com/storage/docs/json_api/v1/objects/insert
这些API不需要项目编号,只需要存储桶名称。
如何确保将文件保存到项目B下的正确存储桶中?
我想念什么?
提前感谢您的帮助!
答案 0 :(得分:0)
存储桶名称是全局唯一的,因此在处理特定存储桶时无需指定项目编号。如果存储桶“bucketOfProjectB”属于项目B,那么您只需要调用buckets().get(bucket="bucketOfProjectB").execute()
,即使调用它的用户属于项目A(只要调用者具有正确的权限),它也会工作。
在列出存储桶或创建新存储桶时,必须指定项目,因为存储桶都属于一个特定项目,但这是您需要执行此操作的唯一位置。