Google cloud storage 使用api更改bucket中所有对象的ACL

Google cloud storage 使用api更改bucket中所有对象的ACL,google-cloud-storage,Google Cloud Storage,使用google云存储Api(json或xml,最好是json),有没有办法为bucket中的所有对象设置ACL?我知道可以获得一个对象列表,然后分别迭代和设置每个对象的ACL,但肯定有一种更简单的方法。我知道使用gsutil,您可以使用setacl-R在整个bucket上设置acl。那么API呢??我在JavaAppEngine中工作,但当然也可以使用RESTfulAPI。任何帮助都会很好 现有对象ACL与bucket ACL正交。要更改bucket中所有对象的ACL,需要执行以下操作之一:

使用google云存储Api(json或xml,最好是json),有没有办法为bucket中的所有对象设置ACL?我知道可以获得一个对象列表,然后分别迭代和设置每个对象的ACL,但肯定有一种更简单的方法。我知道使用gsutil,您可以使用setacl-R在整个bucket上设置acl。那么API呢??我在JavaAppEngine中工作,但当然也可以使用RESTfulAPI。任何帮助都会很好

现有对象ACL与bucket ACL正交。要更改bucket中所有对象的ACL,需要执行以下操作之一:

  • 列出bucket中的所有对象并更新每个对象的acl
    • 查看批处理请求-
  • 使用GroupByEmail或GroupByDomain授权-
  • 从项目团队中添加/删除人员-

  • 您可以更改组和团队的成员身份,而无需返回并更新所有对象。

    如何在bucket上设置默认对象ACL,以便新对象自动获得ACL?我希望能够更改现有对象。设置默认acl是有用的,但在这种情况下它不能满足我的需要。我需要更改所有现有对象。为什么不直接使用gsutil呢?这是一次性操作还是您需要经常这样做?这是一个持续的需要。基本上,我的应用程序中有不同的组,每个组都需要一个bucket。我需要在成员加入/离开组时更新ACL。因此,手动使用GSUTIL不是一种选择。如果您想调整ACL作为成员加入/离开组,请考虑为您的对象使用组授予。这样,您只需要更新一次(在group MaManagement页面中),它会影响所有对象。看来我得选择1了。在我的用例中使用groupbyemail是不可能的,因为我需要以编程方式处理创建、添加/删除成员的操作,并且没有google groups api。