Use GetBucketInfo to retrieve metadata about a bucket, including its region, storage class, redundancy type, access control list (ACL), versioning state, cross-region replication (CRR) state, server-side encryption method, access tracking state, creation date, and the name and ID of the owner. The complete runnable sample is available on GitHub.
Prerequisites
Before you begin, make sure you have:
The
oss:GetBucketInfopermission. For more information, see Attach a custom policy to a RAM userYour AccessKey ID and AccessKey secret available as environment variables
Usage notes
The sample code uses the China (Hangzhou) region (
cn-hangzhou) and a public endpoint by default. To access OSS from another Alibaba Cloud service in the same region, pass the corresponding internal endpoint via--endpoint. For region-to-endpoint mappings, see Regions and endpoints.
Get bucket information
The sample accepts three command-line parameters — --region, --bucket, and optionally --endpoint — builds an OSSClient, and calls getBucketInfo.
Method signature
getBucketInfo(GetBucketInfoRequest $request): GetBucketInfoResultSample code
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use AlibabaCloud\Oss\V2 as Oss;
// Define accepted command-line parameters.
$optsdesc = [
"region" => ['help' => 'The region where the bucket is located (e.g., oss-cn-hangzhou).', 'required' => true],
"endpoint" => ['help' => 'A custom endpoint for accessing OSS.', 'required' => false],
"bucket" => ['help' => 'The name of the bucket.', 'required' => true],
];
$longopts = array_map(function ($key) {
return "$key:";
}, array_keys($optsdesc));
$options = getopt("", $longopts);
// Validate required parameters.
foreach ($optsdesc as $key => $meta) {
if ($meta['required'] && empty($options[$key])) {
echo "Error: --$key is required. " . $meta['help'] . PHP_EOL;
exit(1);
}
}
$region = $options['region'];
$bucket = $options['bucket'];
// Load credentials from environment variables (AccessKey ID and AccessKey secret).
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();
// Configure the client.
$cfg = Oss\Config::loadDefault();
$cfg->setCredentialsProvider($credentialsProvider);
$cfg->setRegion($region);
if (isset($options['endpoint'])) {
$cfg->setEndpoint($options['endpoint']);
}
$client = new Oss\Client($cfg);
// Send the GetBucketInfo request.
$request = new Oss\Models\GetBucketInfoRequest($bucket);
$result = $client->getBucketInfo($request);
// Print the result.
printf(
"Status code: %s\n" .
"Request ID: %s\n" .
"Bucket info: %s\n",
$result->statusCode,
$result->requestId,
var_export($result->bucketInfo, true)
);Run the sample:
php GetBucketInfo.php --region oss-cn-hangzhou --bucket <your-bucket-name>Response fields
| Field | Type | Description |
|---|---|---|
statusCode | int | HTTP status code of the response. |
requestId | string | Unique identifier for the request, useful for troubleshooting with Alibaba Cloud support. |
bucketInfo | object | Detailed bucket metadata, including region, storage class, redundancy type, ACL, owner information, versioning state, CRR state, server-side encryption configuration, access tracking state, and public and internal endpoints. |
What's next
To learn about buckets, see Buckets.
For the full
GetBucketInfoAPI reference, see GetBucketInfo.