是否可以使用SwiftService.upload设置容器读取ACL?

时间:2017-01-18 10:48:20

标签: python openstack-swift

我使用Python-Swift客户端连接到Openstack的Swift文件存储。我的服务允许用户上传文件并将其存储在Swift中。我的要求是该文件应该能够在未经许可的情况下被读取。

我找到了读取权限的解决方案;我必须设置读取ACL {'read_acl': '.r:*'}创建容器时。但是,这需要单独的容器创建请求。我编写了代码来创建容器以确保设置ACL。

现在每个请求我最终做了两件事: 1.使用正确的读取ACL创建容器。 2.将文件上传到容器。

由于Upload自动创建容器以确保它存在,因此浪费了相当多的时间。这为时间敏感的过程增加了额外的不必要的步骤。

我是否可以通过upload设置容器的读取ACL并让自动创建处理它?什么是优化此过程的替代方案?

1 个答案:

答案 0 :(得分:0)

听起来您希望跨多个容器读取权限。根据您的要求,您可以在帐户或租户级别设置ACL,然后该租户的每个用户都会在帐户知道的所有文件上继承这些权限。这样,您无需在上传时使用每个容器的权限。

根据您的工作流程和要求,这可能不起作用。

https://www.swiftstack.com/docs/cookbooks/swift_usage/account_acl.html