2017-02-23 18 views
1

在OpenCloud/OpenStack中使用Laravel,我可以使用createContainer函数创建一个容器,但它默认创建了一个私有容器,我想创建一个具有公共读取权限的容器(可以从主机提供商门户完成)。PHP OpenCloud/OpenStack如何创建公共访问容器

这里是我的代码:

$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 ??? 

回答

0

由于默认情况下迅速容器不公开,你可以改变,通过改变容器的元数据。

这可能会实现:

$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/

+0

不为我工作。我试图使私有容器的元数据与公共容器完全相同,并且仍然在我的OVH仪表板上显示为私有容器。感谢您的链接。将尝试与[2]。 – user3280979