Este tópico descreve como consultar o uso de armazenamento de um bucket específico do Object Storage Service (OSS), bem como a quantidade e o uso de armazenamento de objetos de diferentes classes de armazenamento nesse bucket.
Observações de uso
O código de exemplo deste tópico usa o ID da região
cn-hangzhou, correspondente à região China (Hangzhou). Por padrão, um endpoint público acessa os recursos do bucket. Para acessar os recursos do bucket por meio de outros serviços da Alibaba Cloud na mesma região em que o bucket está localizado, use um endpoint interno. Para obter mais informações sobre as regiões e endpoints do OSS, consulte Regiões e endpoints.
Exemplos
O código de exemplo a seguir mostra como consultar o uso de armazenamento de um bucket:
<?php
require_once __DIR__ . '/../vendor/autoload.php'; // Automaticically 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 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 obtain the statistics of the bucket.
$request=new Oss\Models\GetBucketStatRequest($bucket); // Create a request to obtain the statistics of the bucket.
// Use the getBucketStat method to obtain the statistics of the bucket.
$result = $client->getBucketStat($request); // Use the getBucketStat method to obtain the statistics of the bucket.
// Print 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.
'result:' . var_export($result, true) // The returned result, which contains the statistics of the bucket.
);
Referências
Para obter o código de exemplo completo usado para consultar informações de um bucket, visite o GitHub.
Para obter mais informações sobre a operação de API usada para consultar informações de um bucket, consulte GetBucketStat.