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

はじめに

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

 

ConohaのオブジェクトストレージをREST APIで操作する part1 (基本設定+トークン発行)

ConohaのオブジェクトストレージをREST APIで操作する part2 (コンテナ作成+ コンテナ確認)

ConohaのオブジェクトストレージをREST APIで操作する part3(オブジェクトのアップロードと確認)

 

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

なので、今回は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;

 

 

 

  • この記事を書いた人

カバノキ

印刷会社のWEB部隊に所属してます。 WEB制作に携わってから、もう時期10年になります。 普段の業務では、PHPをメインにサーバーサイドの言語を扱っています。 最近のお気に入りはJavascriptです。 Vue.jsを狂喜乱舞しながら、社内に布教中です。

-PHP
-, , , , ,