Swift は OpenStack のオブジェクト ストレージ サービスです。 php-opencloud ライブラリでは、接続オブジェクトによって作成された ObjectStore クラス (OpenStack または Rackspace) を通じてアクセスします。
例:
$cloud = new OpenCloudOpenStack(array(
)
'ユーザー名'=>'{ユーザー名}','パスワード'=>'{パスワード}'));
$swift = $cloud->ObjectStore('cloudFiles','DFW');
新しく作成された $swift を使用すると、さまざまなオブジェクト ストレージ コンポーネントを使用できます。
最上位のオブジェクト ストレージ コンポーネントのインスタンスはコンテナです。コンテナはオブジェクトのコレクション名であり、ファイル システムのディレクトリやフォルダに似ています (実際には同等ではありません)。
すべてのオブジェクトはコンテナに保存されます。
オブジェクトストレージインスタンス内のすべてのコンテナを列挙します
ContainerList オブジェクトは Container オブジェクトのコレクションです。オブジェクト ストレージ インスタンス内のすべてのコンテナを一覧表示します:
$containers = $swift->ContainerList();
while($container = $containers->Next())
printf("%sn", $container->name);
他のオブジェクト コレクションと同様に、これも First()、Next()、Size() メソッドをサポートします。
新しいコンテナを作成する
上記で新しく作成した $swift オブジェクトの Container() メソッドを使用して、新しい (空の) コンテナを作成します。
$mycontainer = $swift->Container();
コンテナをオブジェクト ストレージ インスタンスに保存し、Create() メソッドを使用します。
$mycontainer->Create('MyContainerName');
name が設定されている場合、Create() メソッドに name を含める必要はありません。メソッド内で直接名前を指定するのも便利です。
$mycontainer->name = 'MyContainerName';
$mycontainer->Create();
既存のコンテナを取得する
ObjectStore オブジェクトの Container() メソッドにパラメータを渡すと、既存のコンテナを取得できます:
$oldcontainer = $swift->Container('SomeOldContainer');
この場合、SomeOldContainerに関する情報が取得されます。これにはコンテナのメタデータ情報が含まれます。
printf("コンテナ %s には %d バイトを消費する %d オブジェクトがあります",
$oldcontainer->name, $oldcontainer->count, $oldcontainer->bytes);
コンテナを削除
Delete() メソッドはコンテナを削除します
$oldcontainer->Delete();
コンテナを削除するときは空である必要があることに注意してください。つまり、コンテナに関連付けられたオブジェクトがあってはなりません。
コンテナを更新する
内部では、コンテナーはまったく同じ方法で作成および更新されます。 Create() メソッドを使用してコンテナを更新できますが、(プログラム内で) セマンティクスが異なる可能性があるため、Update() メソッドは Create() メソッドのエイリアスとしても使用されます。
$oldcontainer->メタデータ->update_time = time();
$oldcontainer->Update();
http://www.bkjia.com/PHPjc/477123.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/477123.html技術記事 Swift は OpenStack のオブジェクト ストレージ サービスです。 php-opencloud ライブラリでは、接続オブジェクトによって作成された ObjectStore クラス (OpenStack または Rackspace) を通じてアクセスします。 例: $cloud = 新しい OpenClou...