すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:OSS SDK for PHPを使用してバケットに関する情報を照会する

最終更新日:Nov 11, 2024

バケットは、オブジェクトをOSS (Object Storage Service) に格納するために使用されるコンテナーです。 このトピックでは、バケットに関する情報をクエリする方法について説明します。

使用上の注意

  • このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントを使用します。 OSSと同じリージョンにある他のAlibaba CloudサービスからOSSにアクセスする場合は、内部エンドポイントを使用します。 OSSリージョンとエンドポイントの詳細については、「リージョン、エンドポイント、オープンポート」をご参照ください。

  • このトピックでは、OSSエンドポイントを使用してOSSClientインスタンスを作成します。 カスタムドメイン名またはSecurity Token Service (STS) を使用してOSSClientインスタンスを作成する場合は、「OSSClientインスタンスの作成」をご参照ください。

  • バケットに関する情報を照会するには、oss:GetBucketInfo権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。

次のサンプルコードは、バケットに関する情報を照会する方法の例を示しています。

<?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;

// Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured. 
$provider = new EnvironmentVariableCredentialsProvider();
// In this example, the endpoint of the China (Hangzhou) region is used. Specify your actual endpoint. 
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// Specify the name of the bucket. Example: examplebucket. 
$bucket= "examplebucket";
try {
    $config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        "region"=> "cn-hangzhou"
    );
    $ossClient = new OssClient($config);
    // Query information about the bucket, including the bucket name, region, creation time, storage class, public endpoint, and internal endpoint. 
    $info = $ossClient->getBucketInfo($bucket);    
    printf("bucket name:%s\n", $info->getName());    
    printf("bucket location:%s\n", $info->getLocation());    
    printf("bucket creation time:%s\n", $info->getCreateDate());    
    printf("bucket storage class:%s\n", $info->getStorageClass());   
    printf("bucket extranet endpoint:%s\n", $info->getExtranetEndpoint());    
    printf("bucket intranet endpoint:%s\n", $info->getIntranetEndpoint());
} catch (OssException $e) {
    printf(__FUNCTION__ . ": FAILED\n");
    printf($e->getMessage() . "\n");
    return;
}  

print(__FUNCTION__ . ": OK" . "\n");

関連ドキュメント

  • バケットに関する情報のクエリに使用される完全なサンプルコードについては、GitHubをご覧ください。

  • バケットに関する情報を照会するために呼び出すことができるAPI操作の詳細については、「GetBucketInfo」をご参照ください。