Bu konu, PHP 2.0 için OSS SDK kullanarak nesne etiketlerinin nasıl alınacağını açıklar.
Kullanım notları
Bu konudaki örnek kod, China (Hangzhou) bölgesinin bölge kimliği olan
cn-hangzhoudeğerini kullanır. Bir paket içindeki kaynaklara erişmek için varsayılan olarak genel bir uç nokta kullanılır. Paketin bulunduğu aynı bölgedeki diğer Alibaba Cloud hizmetlerinden paketteki kaynaklara erişmek istiyorsanız dahili bir uç nokta kullanın. OSS'in desteklediği bölgeler ve uç noktalar hakkında daha fazla bilgi için bkz. Bölgeler ve uç noktalar.Nesne etiketlerini almak için
oss:GetObjectTaggingiznine sahip olmanız gerekir. Daha fazla bilgi için bkz. RAM kullanıcısına özel izinler verme.
Nesneleri tanımlamak için bir anahtar-değer çifti kullanılır. Nesne etiketleme hakkında daha fazla bilgi için bkz. Nesneleri etiketleme.
Nesne etiketlerini alma hakkında daha fazla bilgi için bkz. GetObjectTagging.
Örnek kod
Aşağıdaki örnek kod, bir paketteki belirli bir nesne sürümünün etiketlerini sorgulama işlemini gösterir:
<?php
// Import the autoloader file to ensure that dependency libraries are correctly loaded.
require_once __DIR__ . '/../vendor/autoload.php';
use AlibabaCloud\Oss\V2 as Oss;
// Define the description of command-line arguments.
$optsdesc = [
"region" => ['help' => 'The region in which the bucket is located.', 'required' => True], // The region where the bucket is located. This parameter is required.
"endpoint" => ['help' => 'The domain names that other services can use to access OSS.', 'required' => False], // The endpoint that other services can use to access OSS. This parameter is optional.
"bucket" => ['help' => 'The name of the bucket', 'required' => True], // The name of the bucket. This parameter is required.
"key" => ['help' => 'The name of the object', 'required' => True], // The name of the object. This parameter is required.
];
// Convert the argument descriptions to the long option format required by getopt.
// A colon (:) after each argument indicates that the argument requires a value.
$longopts = \array_map(function ($key) {
return "$key:";
}, array_keys($optsdesc));
// Parse the command-line arguments.
$options = getopt("", $longopts);
// Check whether required arguments are specified.
foreach ($optsdesc as $key => $value) {
if ($value['required'] === True && empty($options[$key])) {
$help = $value['help']; // Obtain the help information of the argument.
echo "Error: the following arguments are required: --$key, $help" . PHP_EOL;
exit(1); // If a required argument is not specified, exit the program.
}
}
// Extract values from the parsed arguments.
$region = $options["region"]; // The region where the bucket is located.
$bucket = $options["bucket"]; // The name of the bucket.
$key = $options["key"]; // The name of the object.
// Load the credentials from environment variables.
// Use EnvironmentVariableCredentialsProvider to read the Access Key ID and Access Key Secret from environment variables.
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();
// Use the default configurations of the SDK.
$cfg = Oss\Config::loadDefault();
$cfg->setCredentialsProvider($credentialsProvider); // Set the credential provider.
$cfg->setRegion($region); // Set the region where the bucket is located.
if (isset($options["endpoint"])) {
$cfg->setEndpoint($options["endpoint"]); // If an endpoint is provided, set the endpoint.
}
// Create an OSS client instance.
$client = new Oss\Client($cfg);
// Create a GetObjectTaggingRequest object to obtain the tag information of the object.
$request = new Oss\Models\GetObjectTaggingRequest(
bucket: $bucket,
key: $key
);
// Execute the operation to obtain object tags.
$result = $client->getObjectTagging($request);
// Print the result of obtaining object tags.
printf(
'status code:' . $result->statusCode . PHP_EOL . // The HTTP status code. For example, 200 indicates that the request is successful.
'request id:' . $result->requestId . PHP_EOL . // The request ID, which is used to debug or track requests.
'result:' . var_export($result, true) . PHP_EOL // The detailed result of the obtained object tags.
);