GitHub | Panduan Pengembang OSS SDK for Python 2.0 | Dokumentasi OSS SDK for Python 2.0
Mulai cepat
Prasyarat
Anda memerlukan Python 3.8 atau versi yang lebih baru.
Untuk memeriksa versi Python Anda, jalankan perintah python --version. Jika Python belum terinstal atau versi Anda lebih rendah dari 3.8, unduh dan instal Python.
Instal SDK
-
Instal versi terbaru untuk memastikan contoh kode berjalan dengan benar.
pip install alibabacloud-oss-v2 -
Impor paket SDK:
import alibabacloud_oss_v2 as oss
Konfigurasi kredensial akses
Konfigurasikan kredensial dengan pasangan AccessKey pengguna RAM.
-
Di Konsol RAM, buat Pengguna RAM dan pilih Using permanent AccessKey to access. Simpan Pasangan Kunci Akses tersebut, lalu berikan izin
AliyunOSSFullAccesskepada pengguna. -
Gunakan pasangan AccessKey pengguna RAM untuk mengonfigurasi variabel lingkungan.
Linux
-
Tambahkan variabel lingkungan ke file
~/.bashrc.echo "export OSS_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bashrc echo "export OSS_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bashrc-
Terapkan perubahan.
source ~/.bashrc -
Verifikasi variabel lingkungan.
echo $OSS_ACCESS_KEY_ID echo $OSS_ACCESS_KEY_SECRET
-
macOS
-
Periksa jenis shell default.
echo $SHELL-
Ikuti langkah-langkah sesuai jenis shell Anda.
Zsh
-
Tambahkan variabel lingkungan ke file
~/.zshrc.echo "export OSS_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.zshrc echo "export OSS_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.zshrc -
Terapkan perubahan.
source ~/.zshrc -
Verifikasi variabel lingkungan.
echo $OSS_ACCESS_KEY_ID echo $OSS_ACCESS_KEY_SECRET
Bash
-
Tambahkan variabel lingkungan ke file
~/.bash_profile.echo "export OSS_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bash_profile echo "export OSS_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bash_profile -
Terapkan perubahan.
source ~/.bash_profile -
Verifikasi variabel lingkungan.
echo $OSS_ACCESS_KEY_ID echo $OSS_ACCESS_KEY_SECRET
-
-
Windows
CMD
-
Atur variabel lingkungan di CMD.
setx OSS_ACCESS_KEY_ID "YOUR_ACCESS_KEY_ID" setx OSS_ACCESS_KEY_SECRET "YOUR_ACCESS_KEY_SECRET"-
Verifikasi variabel lingkungan.
echo %OSS_ACCESS_KEY_ID% echo %OSS_ACCESS_KEY_SECRET%
-
PowerShell
-
Atur variabel lingkungan di PowerShell.
[Environment]::SetEnvironmentVariable("OSS_ACCESS_KEY_ID", "YOUR_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User) [Environment]::SetEnvironmentVariable("OSS_ACCESS_KEY_SECRET", "YOUR_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)-
Verifikasi variabel lingkungan.
[Environment]::GetEnvironmentVariable("OSS_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User) [Environment]::GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)
-
-
Inisialisasi klien
Karena adanya perubahan kebijakan untuk meningkatkan kepatuhan dan keamanan, mulai 20 Maret 2025, pengguna OSS baru harus menggunakan nama domain kustom (CNAME) untuk melakukan operasi API data pada bucket OSS yang berada di wilayah Tiongkok Daratan. Titik akhir publik default dibatasi untuk operasi ini. Lihat pengumuman resmi untuk daftar lengkap operasi yang terdampak. Jika Anda mengakses data melalui HTTPS, Anda harus mengikat Sertifikat SSL yang valid ke domain kustom Anda. Ini adalah wajib untuk akses Konsol OSS, karena konsol menerapkan HTTPS.
Sebelum menjalankan kode contoh, ganti placeholder seperti<region-id>dengan wilayah dan titik akhir yang sebenarnya, misalnyaap-southeast-1.
Sinkronkan OSSClient
import alibabacloud_oss_v2 as oss
def main():
"""
Detail konfigurasi untuk menginisialisasi klien Python SDK V2:
1. Versi signature: SDK menggunakan Signature V4 secara default untuk keamanan yang lebih baik.
2. Konfigurasi wilayah: Saat menginisialisasi klien, Anda harus menentukan ID wilayah Alibaba Cloud.
3. Konfigurasi titik akhir:
- Anda dapat menggunakan parameter endpoint untuk menentukan titik akhir kustom untuk permintaan layanan.
- Jika Anda tidak menentukan titik akhir, SDK secara otomatis membuat titik akhir publik berdasarkan wilayah yang ditentukan.
4. Konfigurasi protokol:
- SDK menggunakan HTTPS untuk membuat titik akhir secara default.
- Untuk menggunakan HTTP, Anda harus secara eksplisit menentukan protokol dalam titik akhir.
"""
# Muat kredensial dari variabel lingkungan untuk autentikasi.
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Muat konfigurasi default SDK dan atur penyedia kredensial.
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
# Metode 1: Tentukan hanya wilayah (Direkomendasikan).
# Anda harus menentukan ID wilayah. SDK secara otomatis membuat titik akhir HTTPS berdasarkan wilayah.
cfg.region = '<region-id>'
# # Metode 2: Tentukan wilayah dan titik akhir.
# # Anda harus menentukan ID wilayah.
# cfg.region = '<region-id>'
# # Tentukan titik akhir publik wilayah tempat bucket berada.
# cfg.endpoint = '<endpoint>'
# Buat klien OSS dengan konfigurasi yang ditentukan.
client = oss.Client(cfg)
# Definisikan string yang akan diunggah.
text_string = "Hello, OSS!"
data = text_string.encode('utf-8') # Encode string sebagai byte string UTF-8.
# Kirim permintaan untuk mengunggah objek. Tentukan nama bucket, kunci objek, dan data.
result = client.put_object(oss.PutObjectRequest(
bucket="Your Bucket Name",
key="Your Object Key",
body=data,
))
# Cetak kode status, ID permintaan, dan ETag untuk memverifikasi bahwa permintaan berhasil.
print(f'status code: {result.status_code}\n'
f'request id: {result.request_id}\n'
f'etag: {result.etag}'
)
# Saat skrip ini dijalankan langsung, panggil fungsi main.
if __name__ == "__main__":
main()
OSSClient Async
Persyaratan OSSClient Async:
-
alibabacloud-oss-v2: >= 1.2.0
-
Instal aiohttp:
pip install aiohttp
import asyncio
import alibabacloud_oss_v2 as oss
import alibabacloud_oss_v2.aio as oss_aio
async def main():
"""
Detail konfigurasi untuk menginisialisasi klien async Python SDK V2:
1. Versi signature: SDK menggunakan Signature V4 secara default untuk keamanan yang lebih baik.
2. Konfigurasi wilayah: Saat menginisialisasi AsyncClient, Anda harus menentukan ID wilayah Alibaba Cloud.
3. Konfigurasi titik akhir:
- Anda dapat menggunakan parameter endpoint untuk menentukan titik akhir kustom untuk permintaan layanan.
- Jika Anda tidak menentukan titik akhir, SDK secara otomatis membuat titik akhir publik berdasarkan wilayah yang ditentukan.
4. Konfigurasi protokol:
- SDK menggunakan HTTPS untuk membuat titik akhir secara default.
- Untuk menggunakan HTTP, Anda harus secara eksplisit menentukan protokol dalam titik akhir.
5. Fitur asinkron:
- Impor modul async: import alibabacloud_oss_v2.aio as oss_aio
- Buat klien async: oss_aio.AsyncClient(cfg)
- Semua operasi memerlukan kata kunci await.
- Anda harus memanggil await client.close() dalam blok finally untuk menutup koneksi.
- Anda harus menginstal dependensi aiohttp: pip install aiohttp
"""
# Muat kredensial dari variabel lingkungan untuk autentikasi.
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Muat konfigurasi default SDK dan atur penyedia kredensial.
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
# Metode 1: Tentukan hanya wilayah (Direkomendasikan).
# Anda harus menentukan ID wilayah. SDK secara otomatis membuat titik akhir HTTPS berdasarkan wilayah.
cfg.region = '<region-id>'
# # Metode 2: Tentukan wilayah dan titik akhir.
# # Anda harus menentukan ID wilayah.
# cfg.region = '<region-id>'
# # Tentukan titik akhir publik wilayah tempat bucket berada.
# cfg.endpoint = '<endpoint>'
# Buat klien async OSS dengan konfigurasi yang ditentukan.
client = oss_aio.AsyncClient(cfg)
try:
# Definisikan string yang akan diunggah.
text_string = "Hello, OSS!"
data = text_string.encode('utf-8') # Encode string sebagai byte string UTF-8.
# Kirim permintaan async untuk mengunggah objek. Tentukan nama bucket, kunci objek, dan data.
# Catatan: Gunakan kata kunci await untuk menunggu operasi async selesai.
result = await client.put_object(
oss.PutObjectRequest(
bucket="Your Bucket Name",
key="Your Object Key",
body=data,
)
)
# Cetak kode status, ID permintaan, dan ETag untuk memverifikasi bahwa permintaan berhasil.
print(f'status code: {result.status_code}\n'
f'request id: {result.request_id}\n'
f'etag: {result.etag}'
)
except Exception as e:
print(f'Upload gagal: {e}')
finally:
# Tutup koneksi klien async untuk mencegah kebocoran resource.
await client.close()
# Saat skrip ini dijalankan langsung, panggil fungsi main.
if __name__ == "__main__":
# Gunakan asyncio.run() untuk menjalankan fungsi main async.
asyncio.run(main())
Output unggah berhasil:
status code: 200
request id: 6875F95738B0ED3030F086A0
etag: "56AAD346F0899BFE8BDD02C06BBE511E"
Konfigurasi klien
Nama domain kustom
Nama domain kustom memungkinkan pratinjau objek di browser dan pengiriman yang dipercepat CDN.
Sebelum menjalankan kode contoh, ganti placeholder<region-id>dengan wilayah dan titik akhir, misalnya,ap-southeast-1.
import alibabacloud_oss_v2 as oss
def main():
# Muat kredensial dari variabel lingkungan.
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Muat konfigurasi default SDK dan atur penyedia kredensial.
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
# Tentukan wilayah bucket.
cfg.region = '<region-id>'
# Tentukan nama domain kustom Anda. Misalnya, www.example-***.com.
cfg.endpoint = 'https://www.example-***.com'
# Atur use_cname ke True untuk menggunakan nama domain kustom.
cfg.use_cname = True
# Buat klien OSS.
client = oss.Client(cfg)
# Gunakan klien untuk operasi selanjutnya.
# Titik masuk skrip.
if __name__ == "__main__":
main()
Kontrol timeout
Sebelum menjalankan kode contoh, ganti placeholder<region-id>dengan wilayah dan titik akhir, misalnya,ap-southeast-1.
import alibabacloud_oss_v2 as oss
from typing import Dict, Any
def main():
# Muat kredensial dari variabel lingkungan.
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Muat konfigurasi default.
cfg = oss.config.load_default()
# Ganti timeout koneksi default (10 detik).
cfg.connect_timeout = 30
# Ganti timeout baca/tulis default (20 detik).
cfg.readwrite_timeout = 30
# Atur penyedia kredensial.
cfg.credentials_provider = credentials_provider
# Tentukan wilayah.
cfg.region = '<region-id>'
# Buat klien OSS dengan konfigurasi yang ditentukan.
client = oss.Client(cfg)
# Jalankan fungsi main saat skrip dieksekusi langsung.
if __name__ == "__main__":
main()
Kebijakan percobaan ulang
Sebelum menjalankan kode contoh, ganti placeholder<region-id>dengan wilayah dan titik akhir, misalnya,ap-southeast-1.
import alibabacloud_oss_v2 as oss
def main():
"""
Konfigurasi kebijakan percobaan ulang SDK:
Kebijakan percobaan ulang default:
Jika Anda tidak mengonfigurasi kebijakan percobaan ulang, SDK menggunakan StandardRetryer() secara default. Konfigurasi default adalah sebagai berikut:
- max_attempts: Jumlah maksimum percobaan ulang. Default: 3.
- max_backoff: Waktu backoff maksimum dalam detik. Default: 20.
- base_delay: Waktu delay dasar dalam detik. Default: 0.2.
- backoff_delayer: Algoritma backoff. SDK menggunakan backoff eksponensial dengan jitter (FullJitter) secara default.
Formula: random.uniform(0, 1) * min(2 ** attempts * base_delay, max_backoff)
- error_retryables: Jenis kesalahan yang dapat dicoba ulang. Untuk informasi lebih lanjut, lihat https://gosspublic.alicdn.com/sdk-doc/alibabacloud-oss-python-sdk-v2/latest/_modules/alibabacloud_oss_v2/retry/error_retryable.html
Ketika terjadi kesalahan yang dapat dicoba ulang, klien menunda dan mencoba ulang permintaan sesuai konfigurasi ini.
Latensi permintaan keseluruhan meningkat dengan setiap percobaan ulang. Jika konfigurasi default tidak memenuhi kebutuhan Anda,
Anda dapat menyesuaikan parameter percobaan ulang atau memodifikasi implementasi percobaan ulang.
"""
# Muat kredensial dari variabel lingkungan.
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Muat konfigurasi default.
cfg = oss.config.load_default()
# Contoh konfigurasi kebijakan percobaan ulang:
# 1. Sesuaikan jumlah maksimum percobaan ulang (default: 3, diatur ke 5 di sini).
cfg.retryer = oss.retry.StandardRetryer(max_attempts=5)
# 2. Sesuaikan waktu delay backoff.
# Sesuaikan base_delay menjadi 0.5 detik (default: 0.2) dan max_backoff menjadi 25 detik (default: 20).
# cfg.retryer = oss.retry.StandardRetryer(max_backoff=25, base_delay=0.5)
# 3. Sesuaikan algoritma backoff.
# Ganti algoritma FullJitter default dengan backoff delay tetap 2 detik.
# cfg.retryer = oss.retry.StandardRetryer(backoff_delayer=oss.retry.FixedDelayBackoff(2))
# 4. Nonaktifkan kebijakan percobaan ulang.
# Gunakan retry.NopRetryer() untuk menonaktifkan semua percobaan ulang.
# cfg.retryer = oss.retry.NopRetryer()
# Atur penyedia kredensial.
cfg.credentials_provider = credentials_provider
# Tentukan wilayah tempat bucket berada.
cfg.region = '<region-id>'
# Buat klien OSS dengan konfigurasi yang ditentukan.
client = oss.Client(cfg)
# Gunakan klien yang dibuat untuk operasi selanjutnya...
# Saat skrip ini dijalankan langsung, panggil fungsi main.
if __name__ == "__main__":
main()
Atur ukuran kolam koneksi
Untuk http_client, gunakan parameter max_connections untuk mengatur ukuran kolam koneksi.
Sebelum menjalankan kode contoh, ganti placeholder<region-id>dengan wilayah yang sebenarnya, misalnya,ap-southeast-1.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Contoh konfigurasi kolam koneksi OSS Python SDK V2
import alibabacloud_oss_v2 as oss
def main():
# Muat kredensial akses dari variabel lingkungan (OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET harus diatur).
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Muat konfigurasi default SDK dan atur penyedia kredensial.
config = oss.config.load_default()
config.credentials_provider = credentials_provider
# Atur wilayah layanan OSS.
config.region = "<region-id>"
# ============ Konfigurasi klien HTTP kustom ============
# Buat dictionary untuk konfigurasi klien HTTP.
http_client_config = {}
# Atur ukuran kolam koneksi ke 100. Default adalah 20.
http_client_config["max_connections"] = 100
# Buat klien HTTP dengan konfigurasi kustom.
http_client = oss.transport.RequestsHttpClient(**http_client_config)
# Atur klien HTTP kustom dalam objek konfigurasi.
config.http_client = http_client
# ============================================
# Inisialisasi instance klien OSS.
client = oss.Client(config)
# Konfigurasikan informasi bucket dan objek.
bucket = "example-bucket" # nama bucket
key = "dest.jpg" # kunci objek di OSS
file_path = "dest.jpg" # Jalur penyimpanan lokal
# Unduh objek dari OSS ke jalur lokal yang ditentukan.
client.get_object_to_file(oss.GetObjectRequest(bucket, key), file_path)
print(f"Unduhan objek selesai: {key} -> {file_path}")
print(f"Ukuran kolam koneksi diatur ke: {http_client_config['max_connections']}")
if __name__ == "__main__":
# Titik masuk program
try:
main()
except Exception as e:
print(f"Terjadi kesalahan selama eksekusi: {e}")
raise
HTTP/HTTPS
Gunakan cfg.disable_ssl = True untuk menonaktifkan permintaan HTTPS.
Sebelum menjalankan kode contoh, ganti placeholder<region-id>dengan wilayah dan titik akhir, misalnya, atauap-southeast-1.
import alibabacloud_oss_v2 as oss
def main():
# Muat kredensial dari variabel lingkungan.
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Muat konfigurasi default SDK dan atur penyedia kredensial.
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
# Tentukan wilayah klien.
cfg.region = '<region-id>'
# Nonaktifkan permintaan HTTPS.
cfg.disable_ssl = True
# Buat klien OSS menggunakan konfigurasi yang ditentukan.
client = oss.Client(cfg)
# Gunakan klien yang dibuat untuk melakukan operasi selanjutnya...
# Titik masuk berikut memanggil fungsi main saat skrip dijalankan langsung.
if __name__ == "__main__":
main()
Server proxy
Konfigurasikan server proxy ketika kebijakan perusahaan membatasi akses internet langsung.
Sebelum menjalankan kode contoh, ganti placeholder<region-id>dengan wilayah dan titik akhir yang valid, misalnya, atauap-southeast-1.
import alibabacloud_oss_v2 as oss
def main():
# Muat kredensial dari variabel lingkungan untuk autentikasi.
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Muat konfigurasi default SDK dan atur penyedia kredensial.
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
# Tentukan wilayah tempat bucket berada.
cfg.region = '<region-id>'
# Atur user agent.
cfg.user_agent = 'aliyun-sdk-python'
# Atur server proxy.
cfg.proxy_host = 'http://user:passswd@proxy.example-***.com'
# Buat klien OSS dengan konfigurasi yang ditentukan.
client = oss.Client(cfg)
# Gunakan klien yang dibuat untuk melakukan operasi selanjutnya...
# Saat skrip ini dijalankan langsung, panggil fungsi main.
if __name__ == "__main__":
main()
Gunakan titik akhir internal
Akses resource OSS di wilayah yang sama melalui titik akhir internal untuk mengurangi biaya dan latensi.
Sebelum menjalankan kode contoh, ganti placeholder seperti<region-id>dengan nilai wilayah dan titik akhir yang sebenarnya, misalnya,ap-southeast-1.
import alibabacloud_oss_v2 as oss
def main():
# Muat kredensial dari variabel lingkungan untuk autentikasi.
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Muat konfigurasi default SDK dan atur penyedia kredensial.
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
# Metode 1: Tentukan wilayah dan atur use_internal_endpoint ke true.
# Tentukan wilayah tempat bucket berada.
cfg.region = '<region-id>'
cfg.use_internal_endpoint = True
# # Metode 2: Tentukan wilayah dan titik akhir secara langsung.
# # Tentukan wilayah tempat bucket berada.
# cfg.region = '<region-id>'
# # Tentukan titik akhir internal untuk wilayah bucket.
# cfg.endpoint = '<endpoint>'
# Buat klien OSS.
client = oss.Client(cfg)
# Gunakan klien untuk operasi selanjutnya...
# Panggil fungsi main jika skrip dieksekusi langsung.
if __name__ == "__main__":
main()
Akselerasi transfer
Sebelum menjalankan kode contoh, ganti placeholder<region-id>dengan wilayah dan titik akhir, misalnya, atauap-southeast-1.
import alibabacloud_oss_v2 as oss
def main():
# Muat kredensial dari variabel lingkungan.
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Muat konfigurasi default SDK dan atur penyedia kredensial.
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
# Metode 1: Tentukan wilayah dan atur use_accelerate_endpoint ke true.
# Tentukan wilayah bucket.
cfg.region = '<region-id>'
cfg.use_accelerate_endpoint = True
# # Metode 2: Tentukan wilayah dan titik akhir percepatan secara langsung.
# # Tentukan wilayah bucket.
# cfg.region = '<region-id>'
# # Tentukan titik akhir percepatan.
# cfg.endpoint = 'https://oss-accelerate.aliyuncs.com'
# Buat klien OSS dengan konfigurasi.
client = oss.Client(cfg)
# Gunakan klien ini untuk operasi selanjutnya...
# Jalankan fungsi main jika skrip dieksekusi langsung.
if __name__ == "__main__":
main()
Gunakan domain khusus
Sebelum menjalankan kode contoh, ganti placeholder<region-id>dengan wilayah dan titik akhir Anda, misalnya,ap-southeast-1.
import alibabacloud_oss_v2 as oss
def main():
# Muat kredensial dari variabel lingkungan.
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Muat konfigurasi default SDK dan atur penyedia kredensial.
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
# Tentukan wilayah tempat bucket berada.
cfg.region = '<region-id>'
# Tentukan domain khusus Anda. Misalnya, https://service.corp.example.com.
cfg.endpoint = 'https://service.corp.example.com'
# Buat klien OSS dengan konfigurasi yang ditentukan.
client = oss.Client(cfg)
# Gunakan klien yang dibuat untuk melakukan operasi selanjutnya...
# Saat skrip ini dijalankan langsung, panggil fungsi main.
if __name__ == "__main__":
main()
Klien HTTP kustom
Ganti klien HTTP default dengan cfg.http_client ketika parameter konfigurasi standar tidak mencukupi.
Sebelum menjalankan kode contoh, ganti placeholder<region-id>dengan wilayah dan titik akhir yang valid, misalnya, atauap-southeast-1.
import alibabacloud_oss_v2 as oss
from typing import Dict, Any
def main():
# Muat kredensial dari variabel lingkungan untuk autentikasi.
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Muat konfigurasi default.
cfg = oss.config.load_default()
# Atur parameter untuk klien HTTP.
kwargs: Dict[str, Any] = {}
# Atur sesi.
# kwargs["session"] = requests.Session()
# Atur adapter.
# kwargs["adapter"] = HTTPAdapter()
# Menentukan apakah akan melewati verifikasi sertifikat. Default: false.
# kwargs["insecure_skip_verify"] = False
# Menentukan apakah akan mengaktifkan pengalihan HTTP. Default: false.
# kwargs["enabled_redirect"] = False
# Atur server proxy.
# kwargs["proxy_host"] = config.proxy_host
# Atur ukuran blok.
# kwargs["block_size"] = 16 * 1024
# Timeout koneksi dalam detik. Default: 10.
kwargs["connect_timeout"] = 30
# Timeout baca-tulis dalam detik. Default: 20.
kwargs["readwrite_timeout"] = 30
# Koneksi maksimum. Default: 20.
kwargs["max_connections"] = 1024
# Buat klien HTTP dengan parameter yang ditentukan.
cfg.http_client = oss.transport.RequestsHttpClient(**kwargs)
# Atur penyedia kredensial.
cfg.credentials_provider = credentials_provider
# Tentukan wilayah tempat bucket berada.
cfg.region = '<region-id>'
# Buat klien OSS dengan konfigurasi yang ditentukan.
client = oss.Client(cfg)
# Gunakan klien untuk operasi OSS selanjutnya...
# Memanggil fungsi main saat skrip dieksekusi langsung.
if __name__ == "__main__":
main()
Konfigurasi kredensial akses
Pilih metode kredensial sesuai kasus penggunaan Anda.
Gunakan AccessKey pengguna RAM
Inisialisasi penyedia kredensial dengan pasangan AccessKey (ID AccessKey dan Rahasia AccessKey) dari akun Alibaba Cloud atau pengguna RAM Anda. Metode ini memerlukan manajemen kunci manual dan membawa risiko keamanan yang lebih tinggi.
-
Akun Alibaba Cloud memiliki izin penuh atas resource-nya. Kebocoran pasangan AccessKey menimbulkan ancaman keamanan signifikan bagi sistem Anda. Kami sangat menyarankan agar Anda tidak menggunakan pasangan AccessKey akun Alibaba Cloud. Sebagai gantinya, gunakan pasangan AccessKey pengguna RAM dengan izin minimum yang diperlukan.
-
Untuk membuat pasangan AccessKey untuk pengguna RAM, lihat Buat pasangan AccessKey. ID AccessKey dan rahasia AccessKey hanya ditampilkan saat Anda membuat pasangan tersebut. Simpan di lokasi aman segera. Jika Anda kehilangannya, Anda tidak dapat mengambilnya kembali dan harus membuat pasangan AccessKey baru.
Variabel lingkungan
-
Gunakan pasangan AccessKey pengguna RAM untuk mengonfigurasi variabel lingkungan.
-
Setelah memperbarui variabel lingkungan sistem, restart atau refresh lingkungan build dan runtime Anda, termasuk IDE, command-line interface, aplikasi desktop lainnya, dan layanan latar belakang, untuk memuat variabel lingkungan sistem terbaru.
-
Gunakan variabel lingkungan untuk meneruskan kredensial.
Sebelum menjalankan kode contoh, ganti placeholder
<region-id>dengan wilayah dan titik akhir, misalnya, atauap-southeast-1.import alibabacloud_oss_v2 as oss def main(): # Muat kredensial dari variabel lingkungan untuk autentikasi. credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider() # Muat konfigurasi default SDK dan atur penyedia kredensial. cfg = oss.config.load_default() cfg.credentials_provider = credentials_provider # Tentukan wilayah tempat bucket berada. cfg.region = '<region-id>' # Buat klien OSS dengan konfigurasi yang ditentukan. client = oss.Client(cfg) # Gunakan klien yang dibuat untuk melakukan operasi selanjutnya... # Saat skrip ini dijalankan langsung, panggil fungsi main. if __name__ == "__main__": main() # Titik masuk skrip. Memanggil fungsi main saat file dijalankan langsung.
Kredensial statis
Hard-code pasangan AccessKey untuk pengujian (tidak untuk produksi):
Jangan menyematkan kredensial langsung dalam aplikasi Anda di lingkungan produksi. Metode ini hanya untuk tujuan pengujian.
Sebelum menjalankan kode contoh, ganti placeholder<region-id>dengan wilayah dan titik akhir, misalnya, atauap-southeast-1.
import alibabacloud_oss_v2 as oss
def main():
# Buat penyedia kredensial statis dan atur secara eksplisit ID AccessKey dan rahasia AccessKey.
# Ganti placeholder dengan ID AccessKey dan rahasia AccessKey pengguna RAM Anda.
credentials_provider = oss.credentials.StaticCredentialsProvider(
access_key_id="RAM AccessKey ID",
access_key_secret="RAM AccessKey Secret"
)
# Muat konfigurasi default SDK dan atur penyedia kredensial.
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
# Tentukan wilayah tempat bucket berada.
cfg.region = '<region-id>'
# Buat klien OSS dengan konfigurasi yang ditentukan.
client = oss.Client(cfg)
# Gunakan klien yang dibuat untuk melakukan operasi selanjutnya...
# Saat skrip ini dijalankan langsung, panggil fungsi main.
if __name__ == "__main__":
main() # Titik masuk skrip. Memanggil fungsi main saat file dijalankan langsung.
Gunakan kredensial sementara dari STS
Inisialisasi penyedia kredensial dengan kredensial STS sementara (ID AccessKey, Rahasia AccessKey, dan Token Keamanan). Token harus diperbarui secara manual sebelum kedaluwarsa.
-
Untuk mendapatkan kredensial identitas sementara dengan memanggil API
AssumeRole, lihat AssumeRole - Dapatkan kredensial identitas sementara untuk peran RAM. -
Untuk mendapatkan kredensial identitas sementara dengan menggunakan SDK, lihat Gunakan token STS untuk mengakses OSS.
-
Saat menghasilkan token STS, Anda harus menentukan waktu kedaluwarsa. Token menjadi tidak valid setelah waktu ini.
-
Untuk daftar titik akhir STS, lihat Titik akhir layanan.
Variabel lingkungan
-
Gunakan kredensial identitas sementara untuk mengatur variabel lingkungan.
macOS/Linux/Unix
Peringatan-
Variabel lingkungan ini memerlukan kredensial identitas sementara (ID AccessKey, Rahasia AccessKey, dan Token Keamanan) dari STS, bukan ID AccessKey dan Rahasia AccessKey pengguna RAM.
-
ID AccessKey yang diperoleh dari STS diawali dengan
STS., misalnya,STS.L4aBSCSJVMuKg5U1****.
export OSS_ACCESS_KEY_ID=<STS_ACCESS_KEY_ID> export OSS_ACCESS_KEY_SECRET=<STS_ACCESS_KEY_SECRET> export OSS_SESSION_TOKEN=<STS_SECURITY_TOKEN>Windows
Peringatan-
Variabel lingkungan ini memerlukan kredensial identitas sementara (ID AccessKey, Rahasia AccessKey, dan Token Keamanan) dari STS, bukan ID AccessKey dan Rahasia AccessKey pengguna RAM.
-
ID AccessKey yang diperoleh dari STS diawali dengan
STS., misalnya,STS.L4aBSCSJVMuKg5U1****.
set OSS_ACCESS_KEY_ID=<STS_ACCESS_KEY_ID> set OSS_ACCESS_KEY_SECRET=<STS_ACCESS_KEY_SECRET> set OSS_SESSION_TOKEN=<STS_SECURITY_TOKEN> -
-
Konfigurasikan SDK untuk membaca kredensial dari variabel lingkungan.
Sebelum menjalankan kode contoh, ganti placeholder
<region-id>dengan wilayah dan titik akhir yang sebenarnya, misalnya, atauap-southeast-1.import alibabacloud_oss_v2 as oss def main(): # Muat kredensial dari variabel lingkungan. credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider() # Muat konfigurasi default SDK dan atur penyedia kredensial. cfg = oss.config.load_default() cfg.credentials_provider = credentials_provider # Tentukan wilayah tempat Bucket berada. cfg.region = '<region-id>' # Buat klien OSS dengan konfigurasi yang ditentukan. client = oss.Client(cfg) # Gunakan klien yang dibuat untuk melakukan operasi selanjutnya... # Titik masuk skrip if __name__ == "__main__": main() # Memanggil fungsi main.
Kredensial statis
Hard-code kredensial sementara secara langsung (hanya untuk pengujian):
Jangan menyematkan kredensial akses dalam aplikasi Anda di lingkungan produksi. Metode ini hanya untuk tujuan pengujian.
Sebelum menjalankan kode contoh, ganti placeholder<region-id>dengan wilayah dan titik akhir yang sebenarnya, misalnya, atauap-southeast-1.
import alibabacloud_oss_v2 as oss
def main():
# Gunakan ID AccessKey dan Rahasia AccessKey sementara dari STS, bukan kredensial akun Alibaba Cloud Anda.
# Perhatikan bahwa ID AccessKey dari STS diawali dengan "STS.".
sts_access_key_id = 'STS.****************'
sts_access_key_secret = 'yourAccessKeySecret'
# Berikan Token Keamanan yang diperoleh dari STS.
sts_security_token = 'yourSecurityToken'
# Buat penyedia kredensial statis dan atur secara eksplisit ID AccessKey, Rahasia AccessKey, dan Token Keamanan sementara.
credentials_provider = oss.credentials.StaticCredentialsProvider(
access_key_id=sts_access_key_id,
access_key_secret=sts_access_key_secret,
security_token=sts_security_token,
)
# Muat konfigurasi default SDK dan atur penyedia kredensial.
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
# Tentukan wilayah tempat Bucket berada.
cfg.region = '<region-id>'
# Buat klien OSS dengan konfigurasi yang ditentukan.
client = oss.Client(cfg)
# Gunakan klien yang dibuat untuk melakukan operasi selanjutnya...
# Titik masuk skrip
if __name__ == "__main__":
main() # Memanggil fungsi main.
Gunakan ARN peran RAM
Inisialisasi penyedia kredensial dengan ARN peran RAM untuk akses delegasi (seperti lintas akun). SDK secara otomatis memperbarui token STS melalui AssumeRole. Gunakan parameter policy untuk membatasi izin.
-
Akun Alibaba Cloud memiliki izin penuh atas resource-nya. Kebocoran pasangan AccessKey menimbulkan risiko keamanan signifikan bagi akun Anda. Jangan gunakan pasangan AccessKey akun Alibaba Cloud. Gunakan pasangan AccessKey dari pengguna RAM dengan izin minimum yang diperlukan saja.
-
Untuk membuat pasangan AccessKey untuk pengguna RAM, lihat Buat pasangan AccessKey. ID AccessKey dan rahasia AccessKey hanya ditampilkan sekali, saat pembuatan. Anda harus menyimpannya segera. Jika pasangan AccessKey hilang, Anda harus membuat yang baru untuk menggantinya.
-
Untuk mendapatkan ARN peran RAM, lihat CreateRole - Buat peran RAM.
-
Tambahkan dependensi alibabacloud_credentials.
pip install alibabacloud_credentials -
Konfigurasikan pasangan AccessKey dan ARN peran RAM sebagai kredensial akses.
Sebelum menjalankan kode contoh, ganti placeholder
<region-id>dengan wilayah dan titik akhir yang sebenarnya, misalnya, atauap-southeast-1.# -*- coding: utf-8 -*- import os from alibabacloud_credentials.client import Client from alibabacloud_credentials.models import Config import alibabacloud_oss_v2 as oss def main(): config = Config( # ID AccessKey dan rahasia AccessKey pengguna RAM, diambil dari variabel lingkungan. access_key_id=os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), access_key_secret=os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'), type='ram_role_arn', # ARN peran RAM yang akan diasumsikan. Contoh: acs:ram::123456789012****:role/adminrole. Anda dapat mengatur ini menggunakan variabel lingkungan ALIBABA_CLOUD_ROLE_ARN. role_arn='<RoleArn>', # Nama sesi peran. Anda dapat mengatur ini menggunakan variabel lingkungan ALIBABA_CLOUD_ROLE_SESSION_NAME. role_session_name='<RoleSessionName>', # Opsional. Kebijakan izin yang lebih restriktif. Contoh: {"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"} policy='<Policy>', # Opsional. Durasi sesi dalam detik. Default: 3600 (1 jam). role_session_expiration=3600 ) cred_client = Client(config) def get_credentials_wrapper(): cred = cred_client.get_credential() return oss.credentials.Credentials(access_key_id=cred.access_key_id, access_key_secret=cred.access_key_secret, security_token=cred.security_token) # Buat penyedia kredensial untuk memuat kredensial secara dinamis. credentials_provider = oss.credentials.CredentialsProviderFunc(func=get_credentials_wrapper) # Muat konfigurasi default SDK OSS. cfg = oss.config.load_default() cfg.credentials_provider = credentials_provider # Tentukan wilayah tempat bucket berada. cfg.region = '<region-id>' # Buat instance klien OSS. client = oss.Client(cfg) # Gunakan klien untuk operasi selanjutnya... if __name__ == "__main__": main() # Titik masuk skrip. Memanggil fungsi main saat file dijalankan langsung.
Gunakan peran RAM instans ECS
Untuk aplikasi pada instans ECS, instans ECI, atau node pekerja Container Service for Kubernetes, gunakan peran RAM instans ECS. SDK secara otomatis memperbarui token STS tanpa kredensial yang dikodekan keras. Buat peran RAM.
-
Tambahkan dependensi alibabacloud_credentials.
pip install alibabacloud_credentials -
Konfigurasikan peran RAM instans ECS sebagai kredensial akses.
Sebelum menjalankan kode contoh, ganti placeholder
<region-id>dengan ID wilayah yang sebenarnya, misalnya, atauap-southeast-1.from alibabacloud_credentials.client import Client from alibabacloud_credentials.models import Config import alibabacloud_oss_v2 as oss def main(): config = Config( type='ecs_ram_role', # Menentukan jenis kredensial akses. Harus 'ecs_ram_role'. role_name='EcsRoleExample' # Opsional: Nama peran RAM yang diberikan ke instans ECS. Jika dihilangkan, nama peran diambil secara otomatis. Kami menyarankan Anda mengatur parameter ini untuk mengurangi permintaan. ) cred_client = Client(config) def get_credentials_wrapper(): cred = cred_client.get_credential() return oss.credentials.Credentials(access_key_id=cred.access_key_id, access_key_secret=cred.access_key_secret, security_token=cred.security_token) # Buat penyedia kredensial untuk memuat kredensial secara dinamis. credentials_provider = oss.credentials.CredentialsProviderFunc(func=get_credentials_wrapper) # Muat konfigurasi default SDK OSS. cfg = oss.config.load_default() cfg.credentials_provider = credentials_provider # Tentukan wilayah tempat bucket berada. cfg.region = '<region-id>' # Buat instance klien OSS. client = oss.Client(cfg) # Gunakan klien untuk operasi selanjutnya... if __name__ == "__main__": main()
ARN peran OIDC
Untuk aplikasi tidak tepercaya pada node pekerja Container Service for Kubernetes, gunakan RRSA (RAM Roles for Service Accounts) untuk menerapkan prinsip least-privilege di tingkat pod. RRSA memasang file token OIDC per pod dan memanggil AssumeRoleWithOIDC untuk menukarnya dengan token STS terbatas. Isolasi izin pod berdasarkan RRSA.
-
Tambahkan dependensi alibabacloud_credentials.
pip install alibabacloud_credentials
-
Konfigurasikan ARN peran OIDC sebagai kredensial akses.
Sebelum menjalankan kode contoh, ganti placeholder
<region-id>dengan wilayah dan titik akhir, misalnya, atauap-southeast-1.# -*- coding: utf-8 -*- import os from alibabacloud_credentials.client import Client from alibabacloud_credentials.models import Config import alibabacloud_oss_v2 as oss def main(): config = Config( # Tentukan jenis kredensial. Nilainya tetap 'oidc_role_arn'. type='oidc_role_arn', # ARN peran RAM. Anda dapat mengatur nilai ini dengan menggunakan variabel lingkungan ALIBABA_CLOUD_ROLE_ARN. role_arn=os.environ.get('<RoleArn>'), # ARN penyedia OIDC. Anda dapat mengatur nilai ini dengan menggunakan variabel lingkungan ALIBABA_CLOUD_OIDC_PROVIDER_ARN. oidc_provider_arn=os.environ.get('<OidcProviderArn>'), # Jalur file token OIDC. Anda dapat mengatur nilai ini dengan menggunakan variabel lingkungan ALIBABA_CLOUD_OIDC_TOKEN_FILE. oidc_token_file_path=os.environ.get('<OidcTokenFilePath>'), # Nama sesi peran. Anda dapat mengatur nilai ini dengan menggunakan variabel lingkungan ALIBABA_CLOUD_ROLE_SESSION_NAME. role_session_name='<RoleSessionName>', # Kebijakan izin yang lebih restriktif. Parameter ini opsional. Contoh: {"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"} policy='<Policy>', # Masa berlaku sesi peran dalam detik. Default adalah 3600 detik (1 jam). Parameter ini opsional. role_session_expiration=3600 ) cred_client = Client(config) def get_credentials_wrapper(): cred = cred_client.get_credential() return oss.credentials.Credentials(access_key_id=cred.access_key_id, access_key_secret=cred.access_key_secret, security_token=cred.security_token) # Buat penyedia kredensial untuk memuat kredensial secara dinamis. credentials_provider = oss.credentials.CredentialsProviderFunc(func=get_credentials_wrapper) # Muat konfigurasi default SDK OSS. cfg = oss.config.load_default() cfg.credentials_provider = credentials_provider # Tentukan wilayah tempat bucket berada. cfg.region = '<region-id>' # Buat instance klien OSS. client = oss.Client(cfg) # Gunakan klien untuk operasi selanjutnya... # Panggil fungsi main saat skrip ini dijalankan langsung. if __name__ == "__main__": main() # Titik masuk skrip. Memanggil fungsi main saat file dijalankan langsung.
Kredensial akses kustom
Menyesuaikan pengambilan kredensial dengan salah satu pendekatan berikut:
-
Menggunakan antarmuka
credentials.CredentialsProviderFuncSebelum menjalankan kode contoh, ganti placeholder
<region-id>dengan wilayah dan titik akhir yang sebenarnya, misalnya, atauap-southeast-1.import argparse import alibabacloud_oss_v2 as oss import os def main(): def get_credentials_wrapper(): # Mengembalikan kredensial jangka panjang. return oss.credentials.Credentials(access_key_id='access_key_id', access_key_secret='access_key_security') # Mengembalikan kredensial STS sementara. # return oss.credentials.Credentials(access_key_id='access_key_id', access_key_secret='access_key_security', security_token='security_token') credentials_provider = oss.credentials.CredentialsProviderFunc(func=get_credentials_wrapper) # Muat konfigurasi default SDK dan atur penyedia kredensial. cfg = oss.config.load_default() cfg.credentials_provider = credentials_provider # Tentukan wilayah tempat bucket berada. cfg.region = "<region-id>" # Buat klien OSS dengan konfigurasi yang ditentukan. client = oss.Client(cfg) # Gunakan klien untuk melakukan operasi selanjutnya... if __name__ == "__main__": main() # Titik masuk skrip. Memanggil fungsi main saat file dijalankan langsung. -
Mengimplementasikan antarmuka
credentials.CredentialsProviderSebelum menjalankan kode contoh, ganti placeholder
<region-id>dengan wilayah dan titik akhir yang sebenarnya, misalnya, atauap-southeast-1.# -*- coding: utf-8 -*- import alibabacloud_oss_v2 as oss class CredentialProviderWrapper(oss.credentials.CredentialsProvider): def get_credentials(self): # TODO # Sesuaikan logika untuk mendapatkan kredensial akses. # Mengembalikan kredensial jangka panjang: access_key_id, access_key_secret. return oss.credentials.Credentials('<access_key_id>', '<access_key_secret>') # Mengembalikan kredensial STS sementara: access_key_id, access_key_secret, token. # Kredensial sementara harus diperbarui sebelum kedaluwarsa. # return oss.credentials.Credentials('<access_key_id>', '<access_key_secret>', '<token>'); def main(): # Instansiasi penyedia kredensial kustom. credentials_provider = CredentialProviderWrapper() # Muat konfigurasi default SDK OSS. cfg = oss.config.load_default() cfg.credentials_provider = credentials_provider # Tentukan wilayah tempat bucket berada. cfg.region = '<region-id>' client = oss.Client(cfg) # Gunakan klien untuk melakukan operasi selanjutnya... if __name__ == "__main__": main() # Titik masuk skrip. Memanggil fungsi main saat file dijalankan langsung.
Akses anonim
Akses resource OSS baca-publik tanpa kredensial.
Sebelum menjalankan kode contoh, ganti placeholder<region-id>dengan wilayah dan titik akhir yang sebenarnya, misalnya, atauap-southeast-1.
import alibabacloud_oss_v2 as oss
# Buat penyedia kredensial anonim.
credentials_provider = oss.credentials.AnonymousCredentialsProvider()
# Konfigurasikan klien.
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
# Tentukan wilayah bucket.
cfg.region = '<region-id>'
# Buat klien OSS.
client = oss.Client(cfg)
Penyelesaian masalah kesalahan
Saat permintaan gagal, respons menyertakan kode status HTTP, pesan, ID permintaan, dan kode kesalahan (EC). Gunakan EC untuk mendiagnosis akar penyebabnya.
-
Sebagai contoh, kode berikut memicu kesalahan dengan mencoba mengunduh objek yang tidak ada.
Sebelum menjalankan kode contoh, ganti placeholder seperti
<region-id>dengan wilayah dan titik akhir yang sebenarnya, misalnya, atauap-southeast-1.import alibabacloud_oss_v2 as oss def main(): # Muat kredensial dari variabel lingkungan untuk autentikasi. credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider() # Muat konfigurasi default SDK dan atur penyedia kredensial. cfg = oss.config.load_default() cfg.credentials_provider = credentials_provider # Atur wilayah dalam konfigurasi. cfg.region = '<region-id>' # Buat klien OSS dengan konfigurasi yang ditentukan. client = oss.Client(cfg) # Kirim permintaan untuk mendapatkan objek, menentukan nama bucket dan kunci objek. result = client.get_object(oss.GetObjectRequest( bucket="Your Bucket Name", # Tentukan nama bucket. key="Your Object Key", # Tentukan kunci objek. )) # Cetak kode status dan ID permintaan dari respons. print(f'status code: {result.status_code},' f' request id: {result.request_id},' ) # Gunakan context manager untuk memastikan resource dilepas. with result.body as body_stream: data = body_stream.read() print(f"Pembacaan objek selesai. Panjang data: {len(data)} byte") path = "./get-object-sample.txt" with open(path, 'wb') as f: f.write(data) print(f"Objek diunduh dan disimpan ke: {path}") if __name__ == "__main__": main() # Titik masuk skrip. -
Menjalankan skrip mengembalikan kesalahan berikut. Respons menyertakan baris 'EC': '0026-00000001', yang memberikan pengenal unik untuk penyebab kesalahan.
alibabacloud_oss_v2.exceptions.OperationError: operation error GetObject: Error returned by Service. Http Status Code: 404. Error Code: NoSuchKey. Request Id: 67CA9AD3ECB4DB3034E5A92D. Message: The specified key does not exist.. EC: 0026-00000001. Timestamp: 2025-03-07 07:05:55+00:00. Request Endpoint: GET https://xxx.oss-cn-hangzhou.aliyuncs.com/asghdjfjdas. -
Untuk mendiagnosis kesalahan, gunakan EC dari output kesalahan dan ikuti langkah-langkah berikut.
-
Di kotak pencarian, masukkan EC, misalnya, 0026-00000001, lalu klik Diagnose.
-
Tinjau hasil pencarian untuk mengetahui penyebab dan solusi kesalahan. Halaman diagnostik merinci Deskripsi Masalah (objek target tidak ada) dan mencantumkan Penyebab Kemungkinan (misalnya, objek gagal diunggah atau dihapus oleh pengguna, aturan siklus hidup, atau replikasi lintas wilayah), Contoh Masalah, dan Solusi. Solusi tersebut mungkin menyarankan menggunakan antarmuka
HeadObjectuntuk memverifikasi keberadaan objek, menggunakan antarmukaListObjectVersionsuntuk memeriksa VersionID, atau meninjau konfigurasi untuk konvensi penamaan, aturan siklus hidup, izin pengguna, dan replikasi lintas wilayah. Bagian Referensi di bagian bawah berisi tautan ke dokumentasi untukNoSuchKeydanNoSuchVersion.
Contoh kode
Contoh kode operasi umum: