1

使用 Laravel 和 OpenCloud/OpenStack,我可以使用 createContainer 函数创建一个容器,但它默认创建一个私有容器,我想创建一个具有公共读取访问权限的容器(可以从托管服务提供商门户完成)。

这是我的代码:

$client = app()->make('OpenCloud\OpenStack');    
$service = $client->objectStoreService('swift', $data_center);    
$container = $service->createContainer($container_name);    
// trying to find how to set $container read access ???
4

1 回答 1

0

由于默认情况下 swift 容器不是公共的,因此您可以通过更改容器元数据来更改它。

这可能有效:

$metadata = $container->appendToMetadata(array(
    'X-Container-Read' =>: '.r:*'
));

[1] http://docs.php-opencloud.com/en/latest/services/object-store/containers.html#create-or-update-container-metadata

[2] https://ask.openstack.org/en/question/80609/how-to-make-a-container-public-in-swift-rest-api/

于 2017-03-07T20:00:36.117 回答