Este tema describe cómo usar Object Storage Service (OSS) SDK for PHP para consultar la información de un bucket. Entre los datos disponibles se incluyen el estado del seguimiento de acceso, la región, la fecha de creación, la lista de control de acceso (ACL), el nombre y el ID del propietario, la clase de almacenamiento, el tipo de redundancia, el endpoint público, el endpoint interno, el estado de cross-region replication (CRR), el estado del control de versiones y el método de cifrado. Esta información le permite ejecutar las operaciones posteriores.
Notas de uso
El código de ejemplo de este tema usa el ID de región
cn-hangzhou, que corresponde a la región China (Hangzhou). De forma predeterminada, se usa un endpoint público para acceder a los recursos de un bucket. Si necesita acceder a dichos recursos mediante otros servicios de Alibaba Cloud dentro de la misma región donde se ubica el bucket, use un endpoint interno. Para obtener más información sobre las regiones y los endpoints de OSS, consulte Regions and endpoints.Para consultar la información de un bucket, debe contar con el permiso
oss:GetBucketInfo. Para obtener más información, consulte Grant a custom policy.
Ejemplos
A continuación se muestra un ejemplo de código para consultar la información de un bucket:
<?php
require_once __DIR__ . '/../vendor/autoload.php'; // Automatically load objects and dependency libraries.
use AlibabaCloud\Oss\V2 as Oss;
// Specify command line parameters.
$optsdesc = [
"region" => ['help' => The region in which the bucket is located.', 'required' => True], // (Required) Specify the region in which the bucket is located. Example: oss-cn-hangzhou.
"endpoint" => ['help' => The domain names that other services can use to access OSS.', 'required' => False], // (Optional) Specify the endpoint that can be used by other services to access OSS.
"bucket" => ['help' => The name of the bucket, 'required' => True], // (Required) Specify the name of the bucket.
];
$longopts = \array_map(function ($key) {
return "$key:"; // Add a colon (:) to the end of each parameter to indicate that a value is required.
}, array_keys($optsdesc));
// Parse the command line parameters.
$options = getopt("", $longopts);
// Check whether the required parameters are configured.
foreach ($optsdesc as $key => $value) {
if ($value['required'] === True && empty($options[$key])) {
$help = $value['help'];
echo "Error: the following arguments are required: --$key, $help"; // Specifies that the required parameters are not configured.
exit(1);
}
}
// Obtain the values of the command line parameters.
$region = $options["region"]; // The region in which the bucket is located.
$bucket = $options["bucket"]; // The name of the bucket.
// Use environment variables to load the credential information (AccessKey ID and AccessKey secret).
$credentialsProvider=new Oss\Credentials\EnvironmentVariableCredentialsProvider(); // Obtain the credential information from the environment variables.
// Use the default configurations of the SDK.
$cfg=Oss\Config::loadDefault(); // Load the default configurations of the SDK.
$cfg->setCredentialsProvider($credentialsProvider); // Specify the credential provider.
$cfg->setRegion($region); // Specify the region.
if (isset($options["endpoint"])) {
$cfg->setEndpoint($options["endpoint"]); // Specify the endpoint if an endpoint is provided.
}
// Create an OSSClient instance.
$client = new Oss\Client($cfg); // Create an OSSClient instance.
// Create a request to query information about the bucket.
$request = new Oss\Models\GetBucketInfoRequest($bucket); // Create a request to query information about the bucket.
// Use the getBucketInfo method to query information about the bucket.
$result = $client->getBucketInfo($request); // Use the getBucketInfo method to query information about the bucket.
// Display the returned result.
printf(
'status code:' . $result-> statusCode. PHP_EOL . // The HTTP response status code.
'request id:' . $result-> requestId. PHP_EOL . // The unique identifier of the request.
'bucket info:' . var_export($result->bucketInfo, true) // The detailed information about the bucket.
);
Referencias
Para obtener más información sobre los buckets, consulte Bucket overview.
Para ver el código de ejemplo completo que se usa para consultar la información de un bucket, visite GitHub.
Para conocer más detalles sobre la operación de API que permite consultar la información de un bucket, consulte GetBucketInfo.