Un bucket est un conteneur utilisé pour stocker des objets dans Object Storage Service (OSS). Cette rubrique explique comment interroger les informations relatives à un bucket.
Notes
Cette rubrique utilise l'endpoint public de la région Chine (Hangzhou). Pour accéder à OSS depuis d'autres services Alibaba Cloud situés dans la même région, utilisez un endpoint interne. Pour plus de détails sur les régions et les endpoints pris en charge, consultez Régions et endpoints.
Cette rubrique montre comment créer une instance OssClient avec un endpoint OSS. Pour d'autres configurations, telles que l'utilisation d'un domaine personnalisé ou l'authentification via des identifiants issus du Security Token Service (STS), consultez Créer un OssClient.
Pour récupérer les informations d'un bucket, vous devez disposer de l'autorisation
oss:GetBucketInfo. Pour en savoir plus, consultez Accorder des autorisations personnalisées à un utilisateur RAM.
Exemple de code
Le code suivant montre comment récupérer les informations relatives à un bucket :
<?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 set.
$provider = new EnvironmentVariableCredentialsProvider();
// The endpoint of the China (Hangzhou) region is used as an example. Replace it with the actual endpoint.
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// Specify the bucket name. Example: examplebucket.
$bucket= "examplebucket";
try {
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region"=> "cn-hangzhou"
);
$ossClient = new OssClient($config);
// Get bucket information, including the bucket name (Name), region (Location), creation date (CreateDate), storage class (StorageClass), public endpoint (ExtranetEndpoint), and internal endpoint (IntranetEndpoint).
$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");
Références
Pour obtenir l'exemple de code complet montrant comment récupérer les informations d'un bucket, consultez l'exemple GitHub.
Pour plus d'informations sur l'opération API utilisée pour récupérer les informations d'un bucket, consultez GetBucketInfo.