忘れないように記録しとこ

カバの樹

[PHP]Conohaのオブジェクトストレージ上のオブジェクトを削除する

はじめに

遥か昔にConohaのオブジェクトストレージについての記事を書きました。

 

https://www.kabanoki.net/1326

https://www.kabanoki.net/1342

https://www.kabanoki.net/1404

 

コンテナを作成したり、オブジェクトを設置する記事を書いていたものの、削除する方法の記事を忘れていました。(確信犯

なので、今回は2記事連続更新でコンテナとオブジェクトを削除する方法を書きたいと思います。

 

オブジェクトを削除する

コンテナ内にオブジェクトが存在していると、コンテナが削除できない仕様のようなので、まずオブジェクトを削除します。

// 認証トークン(token-get.phpで取得する)
// トークンの取得方法は「ConohaのオブジェクトストレージをREST APIで操作する part1 (基本設定+トークン発行)」https://www.kabanoki.net/1326 を参考
define('AUTH_TOKEN', 'b7bb30ec14264a4ba0e27e5d5e1d26af');
// テナントID
define('TENANT_ID', 'f520ae801e5d45668f22eae38838b3c4');
// オブジェクトストレージエンドポイントURL
define('ENDPOINT_URL', 'https://object-storage.tyo1.conoha.io/v1/nc_' . TENANT_ID);
//コンテナ名
define('MAIN_CONTENAR', 'public');

// cURLの初期化
$curl = curl_init();
// HTTPヘッダー
$headers = array(
   // X-Auth-Tokenヘッダーでトークンを指定します
   'X-Auth-Token: ' . AUTH_TOKEN,
   // Content-Typeヘッダーでアップロードするオブジェクトの形式を指定します。
   'Content-Type: text/plain; charset=utf-8'
);
// リクエストURL
// /(スラッシュ)区切りの最後のフィールドがオブジェクト名になる
$url = ENDPOINT_URL . '/'.MAIN_CONTENAR.'/Chrysanthemum.jpg';


// cURLのオプション
$options = array(
   // オブジェクトを作成する場合はPUT
// CURLOPT_PUT => true,
   CURLOPT_CUSTOMREQUEST => 'DELETE',

   // 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);
}
// HTTPステータスコードを取得します。
// オブジェクトの作成、更新が成功すると201 Createdが返ります。
$status_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);

echo $status_code;die;

 

 

 

  • B!