Berikut adalah kode contoh untuk mengaktifkan fitur akselerasi transfer pada sebuah bucket:
<?php
// Impor file autoloader untuk memuat dependensi.
require_once __DIR__ . '/../vendor/autoload.php';
use AlibabaCloud\Oss\V2 as Oss;
// Tentukan deskripsi argumen baris perintah.
$optsdesc = [
"region" => ['help' => 'Wilayah tempat bucket berada.', 'required' => True], // Wilayah diperlukan. Wilayah tempat bucket berada.
"endpoint" => ['help' => 'Nama domain yang dapat digunakan layanan lain untuk mengakses OSS.', 'required' => False], // Endpoint bersifat opsional. Nama domain yang dapat digunakan layanan lain untuk mengakses OSS.
"bucket" => ['help' => 'Nama bucket', 'required' => True], // Nama bucket diperlukan.
];
// Hasilkan daftar opsi panjang untuk mengurai argumen baris perintah.
$longopts = \array_map(function ($key) {
return "$key:"; // Tanda titik dua ditambahkan setelah setiap parameter untuk menunjukkan bahwa nilai diperlukan.
}, array_keys($optsdesc));
// Uraikan argumen baris perintah.
$options = getopt("", $longopts);
// Periksa apakah parameter yang diperlukan hilang.
foreach ($optsdesc as $key => $value) {
if ($value['required'] === True && empty($options[$key])) {
$help = $value['help'];
echo "Error: argumen berikut diperlukan: --$key, $help"; // Beri tahu pengguna bahwa parameter yang diperlukan tidak ada.
exit(1);
}
}
// Dapatkan nilai argumen baris perintah.
$region = $options["region"]; // Wilayah tempat bucket berada.
$bucket = $options["bucket"]; // Nama bucket.
// Muat kredensial, termasuk ID AccessKey dan Rahasia AccessKey, dari variabel lingkungan.
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();
// Gunakan konfigurasi default dari SDK.
$cfg = Oss\Config::loadDefault();
// Tetapkan penyedia kredensial.
$cfg->setCredentialsProvider($credentialsProvider);
// Tetapkan wilayah.
$cfg->setRegion($region);
// Jika endpoint disediakan, tetapkan endpoint.
if (isset($options["endpoint"])) {
$cfg->setEndpoint($options["endpoint"]);
}
// Buat instance klien OSS.
$client = new Oss\Client($cfg);
// Buat objek permintaan untuk mengaktifkan akselerasi transfer untuk bucket.
$request = new Oss\Models\PutBucketTransferAccelerationRequest(
bucket: $bucket, // Nama bucket.
transferAccelerationConfiguration: new Oss\Models\TransferAccelerationConfiguration(
enabled: true // Aktifkan akselerasi transfer.
)
);
// Panggil metode putBucketTransferAcceleration untuk mengaktifkan akselerasi transfer untuk bucket.
$result = $client->putBucketTransferAcceleration($request);
// Cetak hasilnya.
printf(
'status code:' . $result->statusCode . PHP_EOL . // Kode status HTTP dari tanggapan.
'request id:' . $result->requestId . PHP_EOL // ID unik dari permintaan.
);