Objek Archive, Cold Archive, dan Deep Cold Archive harus dipulihkan terlebih dahulu sebelum dapat dibaca. Topik ini menjelaskan cara memulihkan objek-objek tersebut.
Catatan penggunaan
Metode RestoreObject hanya dapat dipanggil pada objek Archive, Cold Archive, atau Deep Cold Archive.
Topik ini menggunakan titik akhir publik wilayah China (Hangzhou). Jika Anda mengakses OSS dari layanan Alibaba Cloud lain yang berada di wilayah yang sama dengan OSS, gunakan titik akhir internal. Untuk informasi selengkapnya mengenai wilayah dan titik akhir OSS, lihat Wilayah dan titik akhir.
Kredensial akses pada topik ini diperoleh dari variabel lingkungan. Untuk informasi selengkapnya tentang cara mengonfigurasi kredensial akses, lihat Mengonfigurasi kredensial akses menggunakan OSS SDK untuk Python 1.0.
Instans OSSClient pada topik ini dibuat menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient menggunakan nama domain kustom atau Security Token Service (STS), lihat Inisialisasi.
Untuk memulihkan objek, Anda harus memiliki izin
oss:RestoreObject. Untuk informasi selengkapnya, lihat Melampirkan kebijakan akses kustom ke RAM user.
Memulihkan objek Archive
Kode berikut menunjukkan cara memulihkan objek Archive:
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
from oss2.models import RestoreConfiguration
# Peroleh kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# Tetapkan endpoint ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), tetapkan endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Tetapkan ID wilayah yang sesuai dengan endpoint. Contoh: cn-hangzhou. Parameter ini wajib jika Anda menggunakan Signature V4.
region = "cn-hangzhou"
# Ganti yourBucketName dengan nama bucket Anda.
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)
# Ganti objectName dengan path lengkap objek Archive. Jangan sertakan nama bucket dalam path tersebut.
objectName = 'yourArchiveObjectName'
# Tetapkan jumlah hari objek tetap dalam keadaan dipulihkan. Nilai default adalah 1. Pada contoh ini, nilai ditetapkan menjadi 2.
days = 2
restore_config = RestoreConfiguration(days=days)
# Ajukan permintaan pemulihan.
bucket.restore_object(objectName, input=restore_config) Memulihkan objek Cold Archive
Kode berikut menunjukkan cara memulihkan objek Cold Archive:
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
from oss2.models import (RestoreJobParameters,
RestoreConfiguration,
RESTORE_TIER_EXPEDITED,
RESTORE_TIER_STANDARD,
RESTORE_TIER_BULK)
# Peroleh kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# Tetapkan endpoint ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), tetapkan endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Tetapkan ID wilayah yang sesuai dengan endpoint. Contoh: cn-hangzhou. Parameter ini wajib jika Anda menggunakan Signature V4.
region = "cn-hangzhou"
# Ganti yourBucketName dengan nama bucket Anda.
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)
# Ganti object_name dengan path lengkap objek Cold Archive. Jangan sertakan nama bucket dalam path tersebut.
object_name = "yourColdArchiveObjectName"
# Tetapkan jumlah hari objek tetap dalam keadaan dipulihkan. Nilai default adalah 1. Pada contoh ini, nilai ditetapkan menjadi 2.
days = 2
# Tetapkan prioritas pemulihan. Pada contoh ini, prioritas ditetapkan ke RESTORE_TIER_BULK.
# RESTORE_TIER_EXPEDITED: Objek dipulihkan dalam waktu kurang dari 1 jam.
# RESTORE_TIER_STANDARD: Objek dipulihkan dalam waktu 2 hingga 5 jam.
# RESTORE_TIER_BULK: Objek dipulihkan dalam waktu 5 hingga 12 jam.
job_parameters = RestoreJobParameters(RESTORE_TIER_BULK)
restore_config = RestoreConfiguration(days=days, job_parameters=job_parameters)
# Ajukan permintaan pemulihan.
bucket.restore_object(object_name, input=restore_config)Memulihkan objek Deep Cold Archive
Kode berikut menunjukkan cara memulihkan objek Deep Cold Archive:
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
from oss2.models import (RestoreJobParameters,
RestoreConfiguration,
RESTORE_TIER_EXPEDITED,
RESTORE_TIER_STANDARD)
# Peroleh kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# Tetapkan endpoint ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), tetapkan endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Tetapkan ID wilayah yang sesuai dengan endpoint. Contoh: cn-hangzhou. Parameter ini wajib jika Anda menggunakan Signature V4.
region = "cn-hangzhou"
# Ganti yourBucketName dengan nama bucket Anda.
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)
# Ganti object_name dengan path lengkap objek Deep Cold Archive. Jangan sertakan nama bucket dalam path tersebut.
object_name = "yourDeepColdArchiveObjectName"
# Tetapkan jumlah hari objek tetap dalam keadaan dipulihkan. Nilai default adalah 1. Pada contoh ini, nilai ditetapkan menjadi 2.
days = 2
# Tetapkan prioritas pemulihan. Pada contoh ini, prioritas ditetapkan ke RESTORE_TIER_STANDARD.
# RESTORE_TIER_EXPEDITED: Objek dipulihkan dalam waktu 12 jam.
# RESTORE_TIER_STANDARD: Objek dipulihkan dalam waktu 48 jam.
job_parameters = RestoreJobParameters(RESTORE_TIER_STANDARD)
restore_config = RestoreConfiguration(days=days, job_parameters=job_parameters)
# Ajukan permintaan pemulihan.
bucket.restore_object(object_name, input=restore_config)Referensi
Untuk kode contoh lengkap pemulihan objek Archive, Cold Archive, dan Deep Cold Archive, lihat contoh di GitHub.
Untuk informasi selengkapnya mengenai operasi API untuk memulihkan objek Archive, Cold Archive, dan Deep Cold Archive, lihat RestoreObject.