目次
動作環境
PHP: 7.0.2
OS: Centos 7
コンテナを作成する
前回の記事で、オブジェクトストレージを操作するための基本設定は完了しました。
https://www.kabanoki.net/1326
今回は、オブジェクトを設置するためのコンテナを作成します。
container-create.phpを作成し、以下の内容を記述します。
<?php /** * ConoHaオブジェクトストレージにコンテナを作成するサンプル * * @link https://www.conoha.jp/blog/tech/3429.html */ require_once 'config.php'; // cURLの初期化 $curl = curl_init(); // HTTPヘッダー $headers = array( 'X-Auth-Token: ' . AUTH_TOKEN, 'Content-Length: 0', 'Accept: application/json' ); // リクエストURL // /(スラッシュ)区切りの最後のフィールドがコンテナ名になる $url = ENDPOINT_URL . '/' .MAIN_CONTENAR; // cURLのオプション $options = array( // コンテナを作成する場合はPUTメソッドを使う CURLOPT_PUT => true, // URLの設定 CURLOPT_URL => $url, // リクエスト/レスポンスが見やすいように冗長表示する CURLOPT_VERBOSE => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => $headers, ); curl_setopt_array($curl, $options); // HTTPリクエストを実行 // レスポンスには何も含まれていません。 $body = curl_exec($curl); if(curl_errno($curl)) { $msg = sprintf('cURL error: %s', curl_error($curl)); throw new RuntimeException($msg); } // HTTPステータスコードを取得します。 // 以下のようなステータスコードが返ってきます。 // // 201 Created 正常にコンテナが作成された // 202 Accepted リクエストが受け付けられた(すでに同じ名前のコンテナがあった場合など) // 401 Unauthorize 認証失敗(トークンが正しくない) $status_code = curl_getinfo($curl, CURLINFO_HTTP_CODE); echo "status code: " . $status_code . "\n";
ブラウザでcontainer-create.php にアクセスをする。
正常にコンテナが作成された場合は、下記画像のように「status code: 201」が表示されます。
コンテナを確認する
コンテナがストレージ内に作成できているのであれば、一覧として取得できるはず。
container-list.phpを使って確認してみます。
<?php /** * ConoHaオブジェクトストレージのコンテナ一覧を取得するサンプル * * @link https://www.conoha.jp/blog/tech/3429.html */ require_once 'config.php'; // cURLの初期化 $curl = curl_init(); // HTTPヘッダー $headers = array( // X-Auth-Tokenヘッダーでトークンを指定します 'X-Auth-Token: ' . AUTH_TOKEN, // Acceptヘッダーでレスポンスの形式を指定できる // application/jsonの他にapplication/xmlやtext/xmlなど 'Accept: application/json' ); // リクエストURL $url = ENDPOINT_URL; // cURLのオプション $options = array( // URLの設定 CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => $headers, ); curl_setopt_array($curl, $options); // HTTPリクエストを実行 // レスポンスには何も含まれていません。 $body = curl_exec($curl); if(curl_errno($curl)) { $msg = sprintf('cURL error: %s', curl_error($curl)); throw new RuntimeException($msg); } // 結果を表示します。 echo $body . "\n";
ブラウザでcontainer-list.phpにアクセスすると、下記画像のように配列形式で表示されます。
関連記事
https://www.kabanoki.net/1326
https://www.kabanoki.net/1404