バケットが不要になった場合は、課金を停止するために削除します。Object Storage Service (OSS) の料金は、主にバケット内のリソースに対して発生します。バケットを削除する前に、そのすべてのリソースをクリアする必要があります。バケットを削除することは、課金対象のリソースを見逃して予期せぬ料金が発生するのを防ぐ最も確実な方法です。データは削除されると復元できないことにご注意ください。また、バケット名は他のユーザーが登録できるようになります。OSS サービスを完全に利用停止するには、ご利用のアカウント配下にあるすべてのバケットを削除する必要があります。
バケットを削除すると、その名前は解放され、他のユーザーが使用できるようになります。バケット名を保持したい場合は、バケット自体ではなく、バケットの中身を削除してください。
バケット内のデータは、バケットが削除されると復元できません。バケットを削除する前に、その中に含まれるデータが不要であることを確認してください。データを引き続き使用したい場合は、事前にバックアップしてください。バックアップの詳細については、「データ保護の概要」をご参照ください。
バケット削除前のリソース削除
バケットを削除する前に、そのリソースを削除する必要があります。ほとんどのユーザーにとって、これはバケット内のファイルのみを指します。高度な機能を使用しているユーザーの場合は、他の設定項目も含まれることがあります。OSS コンソールは、削除する必要があるリソースを自動的に検出できます。詳細については、「バケットの削除」をご参照ください。
注意事項
このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントを使用します。同じリージョン内の他の Alibaba Cloud サービスから OSS にアクセスするには、内部エンドポイントを使用します。サポートされているリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。
このトピックでは、OSS エンドポイントを使用して OSSClient インスタンスを作成します。カスタムドメイン名または Security Token Service (STS) を使用して OSSClient インスタンスを作成する場合は、「OssClient インスタンスの作成」をご参照ください。
権限
デフォルトでは、Alibaba Cloud アカウントは完全な権限を持っています。Alibaba Cloud アカウント配下の RAM ユーザーまたは RAM ロールは、デフォルトではいかなる権限も持っていません。Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを通じて操作権限を付与する必要があります。
API | アクション | 定義 |
DeleteBucket |
| バケットを削除します。 |
サンプルコード
次のコードは、examplebucket という名前のバケットを削除する方法の例を示しています:
<?php
if (is_file(__DIR__ . '/../autoload.php')) {
require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
require_once __DIR__ . '/../vendor/autoload.php';
}
use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\CoreOssException;
// 環境変数からアクセス認証情報を取得します。 サンプルコードを実行する前に、環境変数 OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET が設定されていることを確認してください。
$provider = new EnvironmentVariableCredentialsProvider();
// バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// バケット名を指定します。 例: examplebucket。
$bucket= "examplebucket";
try{
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region"=> "cn-hangzhou"
);
$ossClient = new OssClient($config);
$ossClient->deleteBucket($bucket);
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
print(__FUNCTION__ . ": OK" . "\n"); 関連ドキュメント
バケットの削除に使用される完全なサンプルコードについては、GitHub をご参照ください。
バケットを削除するために呼び出すことができる API 操作の詳細については、「DeleteBucket」をご参照ください。