Objek Archive, Cold Archive, dan Deep Cold Archive harus dipulihkan terlebih dahulu sebelum dapat dibaca. Topik ini menjelaskan cara memulihkan objek Archive dan Cold Archive.
Catatan
Hanya objek Archive, Cold Archive, dan Deep Cold Archive yang mendukung operasi RestoreObject.
Pada topik ini, digunakan titik akhir publik wilayah China (Hangzhou). Untuk mengakses OSS dari layanan Alibaba Cloud lainnya dalam wilayah yang sama, gunakan titik akhir internal. Untuk detail mengenai wilayah dan titik akhir yang didukung, lihat Regions and endpoints.
Pada topik ini, instans OSSClient dibuat menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient dengan nama domain kustom atau Security Token Service (STS), lihat Create an OssClient.
Untuk memulihkan file, Anda harus memiliki izin
oss:RestoreObject. Untuk informasi selengkapnya, lihat Grant custom permissions to a RAM user.
Memulihkan objek Archive
Kode berikut menunjukkan cara memulihkan objek Archive:
<?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\CoreOssException;
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
$provider = new EnvironmentVariableCredentialsProvider();
// Titik akhir diatur ke wilayah China (Hangzhou). Gantilah dengan Titik akhir yang sebenarnya.
$endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// Tentukan nama bucket. Contoh: examplebucket.
$bucket= "examplebucket";
// Tentukan path lengkap objek Archive. Jangan sertakan nama bucket. Contoh: srcexampleobject.txt.
$object = "srcexampleobject.txt";
try {
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region"=> "cn-hangzhou"
);
$ossClient = new OssClient($config);
// Pulihkan file.
$ossClient->restoreObject($bucket, $object);
} catch (OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
print(__FUNCTION__ . ": OK" . "\n"); Memulihkan objek Cold Archive
Kode berikut menunjukkan cara memulihkan objek Cold Archive:
<?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\CoreOssException;
use OSS\Model\RestoreConfig;
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
$provider = new EnvironmentVariableCredentialsProvider();
// Titik akhir diatur ke wilayah China (Hangzhou). Gantilah dengan Titik akhir yang sebenarnya.
$endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// Tentukan nama bucket. Contoh: examplebucket.
$bucket= "examplebucket";
// Tentukan path lengkap objek Cold Archive. Jangan sertakan nama bucket. Contoh: srcexampleobject.txt.
$object = "srcexampleobject.txt";
try {
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region"=> "cn-hangzhou"
);
$ossClient = new OssClient($config);
// Jumlah hari objek tetap dalam keadaan dipulihkan. Nilai valid: 1 hingga 7.
$day = 3;
// Prioritas pemulihan. Diatur ke Bulk, artinya objek dipulihkan dalam waktu 5 hingga 12 jam.
// Untuk memulihkan objek dalam waktu 2 hingga 5 jam, atur parameter ini ke Standard. Untuk memulihkan objek dalam waktu 1 jam, atur parameter ini ke Expedited.
$tier = "Bulk";
$config = new RestoreConfig($day,$tier);
$options = array(
OssClient::OSS_RESTORE_CONFIG => $config
);
$result = $ossClient->restoreObject($bucket, $object,$options);
} catch (OssException $e) {
printf($e->getMessage() . "\n");
return;
} Referensi
Untuk informasi selengkapnya tentang operasi API yang digunakan untuk memulihkan file Archive dan Cold Archive, lihat RestoreObject.