このトピックでは、バケットのストレージ容量と、バケット内の各ストレージクラスのオブジェクト数およびストレージ容量を取得する方法について説明します。
注意事項
このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントを使用します。同じリージョン内の他の Alibaba Cloud サービスから Object Storage Service (OSS) にアクセスするには、内部エンドポイントを使用します。サポートされているリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。
このトピックでは、OSS エンドポイントを使用して OSSClient インスタンスを作成します。カスタムドメイン名または Security Token Service (STS) を使用して OSSClient インスタンスを作成する場合は、「OssClient の作成」をご参照ください。
バケットのストレージ容量を取得するには、
oss:GetBucketStat権限が必要です。詳細については、「RAM ユーザーへのカスタム権限の付与」をご参照ください。
コード例
次のコードは、`examplebucket` という名前のバケットのストレージ容量と、バケット内の各ストレージクラスのオブジェクト数およびストレージ容量を取得します。
重要
次のコード例に示されているすべてのプロパティを返すには、PHP SDK 2.6.0 以降が必要です。
<?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\Core\OssException;
// 環境変数からアクセス認証情報を取得します。サンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
$provider = new EnvironmentVariableCredentialsProvider();
// 中国 (杭州) リージョンのエンドポイントを例として使用します。実際のエンドポイントを指定してください。
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// バケット名を指定します。
$bucket= "examplebucket";
try {
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region"=> "cn-hangzhou"
);
$ossClient = new OssClient($config);
$stat = $ossClient->getBucketStat($bucket);
} catch (OssException $e) {
printf($e->getMessage() . "\n");
return;
}
// バケットの合計ストレージ容量をバイト単位で取得します。
printf("Bucket ".$bucket." current storage is:".$stat->getStorage().PHP_EOL);
// バケット内のオブジェクトの総数を取得します。
printf("Bucket ".$bucket." object count is:".$stat->getObjectCount().PHP_EOL);
// バケット内で開始されたが完了または中止されていないマルチパートアップロードタスクの数を取得します。
printf("Bucket ".$bucket." multipart upload count is:".$stat->getMultipartUploadCount().PHP_EOL);
// バケット内の LiveChannel の数を取得します。
printf("Bucket ".$bucket." live channel count is:".$stat->getLiveChannelCount().PHP_EOL);
// この呼び出しでストレージ情報が取得された時刻。値は UNIX タイムスタンプです。単位:秒。
printf("Bucket ".$bucket." last modified time is:".$stat->getLastModifiedTime().PHP_EOL);
// 標準オブジェクトのストレージ容量をバイト単位で取得します。
printf("Bucket ".$bucket." standard storage is:".$stat->getStandardStorage().PHP_EOL);
// 標準オブジェクトの数を取得します。
printf("Bucket ".$bucket." standard object count is:".$stat->getStandardObjectCount().PHP_EOL);
// 低頻度アクセスオブジェクトの課金ストレージ容量をバイト単位で取得します。
printf("Bucket ".$bucket." infrequent access storage is:".$stat->getInfrequentAccessStorage().PHP_EOL);
// 低頻度アクセスオブジェクトの実ストレージ容量をバイト単位で取得します。
printf("Bucket ".$bucket." infrequent access real storage is:".$stat->getInfrequentAccessRealStorage().PHP_EOL);
// 低頻度アクセスオブジェクトの数を取得します。
printf("Bucket ".$bucket." infrequent access object count is:".$stat->getInfrequentAccessObjectCount().PHP_EOL);
// アーカイブストレージオブジェクトの課金ストレージ容量をバイト単位で取得します。
printf("Bucket ".$bucket." archive storage is:".$stat->getArchiveStorage().PHP_EOL);
// アーカイブストレージオブジェクトの実ストレージ容量をバイト単位で取得します。
printf("Bucket ".$bucket." archive real storage is:".$stat->getArchiveRealStorage().PHP_EOL);
// アーカイブストレージオブジェクトの数を取得します。
printf("Bucket ".$bucket." archive object count is:".$stat->getArchiveObjectCount().PHP_EOL);
// コールドアーカイブオブジェクトの課金ストレージ容量をバイト単位で取得します。
printf("Bucket ".$bucket." cold archive storage is:".$stat->getColdArchiveStorage().PHP_EOL);
// コールドアーカイブオブジェクトの実ストレージ容量をバイト単位で取得します。
printf("Bucket ".$bucket." cold archive real storage is:".$stat->getColdArchiveRealStorage().PHP_EOL);
// コールドアーカイブオブジェクトの数を取得します。
printf("Bucket ".$bucket." cold archive object count is:".$stat->getColdArchiveObjectCount().PHP_EOL);リファレンス
バケットのストレージ容量、およびバケット内の各ストレージクラスのオブジェクト数とストレージ容量を取得するために呼び出すことができる API 操作の詳細については、「GetBucketStat」をご参照ください。