全部产品
Search
文档中心

Object Storage Service:Mengelola tautan simbolik (Python SDK V1)

更新时间:Nov 27, 2025

Tautan simbolik menyediakan cara praktis untuk mengakses objek yang sering digunakan dalam bucket. Setelah membuat tautan simbolik, Anda dapat menggunakannya seperti pintasan Windows untuk mengakses objek target.

Catatan penggunaan

  • Topik ini menggunakan titik akhir publik wilayah China (Hangzhou). Jika Anda mengakses OSS dari layanan Alibaba Cloud lainnya di wilayah yang sama dengan OSS, gunakan titik akhir internal. Untuk informasi selengkapnya tentang wilayah dan titik akhir OSS, lihat Wilayah dan titik akhir.

  • Topik ini memperoleh kredensial akses dari variabel lingkungan. Untuk informasi selengkapnya tentang cara mengonfigurasi kredensial akses, lihat Konfigurasikan kredensial akses menggunakan OSS SDK untuk Python 1.0.

  • Topik ini membuat instans OSSClient menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient menggunakan nama domain kustom atau Security Token Service (STS), lihat Inisialisasi.

  • Untuk membuat tautan simbolik, Anda harus memiliki izin oss:PutObject. Untuk mengambil tautan simbolik, Anda harus memiliki izin oss:GetObject. Untuk informasi selengkapnya, lihat Berikan izin kustom kepada RAM user.

Buat tautan simbolik

Kode berikut menunjukkan contoh cara membuat tautan simbolik:

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# 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())

# Tentukan titik akhir wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel titik akhir ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Tentukan wilayah tempat titik akhir berada, misalnya cn-hangzhou. Perhatikan bahwa parameter ini wajib untuk tanda tangan V4.
region = "cn-hangzhou"

# Ganti examplebucket dengan nama bucket Anda.
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)

# Tentukan nama objek yang dituju oleh tautan simbolik, misalnya exampleobject.txt. Untuk informasi selengkapnya tentang konvensi penamaan objek, lihat Objek.
object_name = 'exampleobject.txt'
# Tentukan nama tautan simbolik, misalnya examplesymlick.txt.
symlink = 'examplesymlick.txt'

# headers = dict()
# Tentukan apakah akan menimpa objek yang sudah ada dengan nama yang sama saat membuat tautan simbolik. Pada contoh ini, parameter ini disetel ke true, yang berarti penimpaan dilarang.
# headers['x-oss-forbid-overwrite'] = 'true'
# Tentukan daftar kontrol akses (ACL) objek. Pada contoh ini, parameter ini disetel ke OBJECT_ACL_PRIVATE, yang berarti objek memiliki izin akses privat. Hanya pemilik objek dan pengguna yang berwenang yang memiliki izin baca dan tulis pada objek tersebut. Pengguna lain tidak dapat mengakses objek tersebut.
# headers[OSS_OBJECT_ACL] = oss2.OBJECT_ACL_PRIVATE
# Tentukan kelas penyimpanan objek. Pada contoh ini, parameter ini disetel ke BUCKET_STORAGE_CLASS_STANDARD, yang berarti kelas penyimpanan Standard.
# headers['x-oss-storage-class'] = oss2.BUCKET_STORAGE_CLASS_STANDARD
# bucket.put_symlink(object_name, symlink, headers=headers)
# Buat tautan simbolik.
bucket.put_symlink(object_name, symlink)           

Dapatkan nama objek target

Untuk mengambil tautan simbolik, Anda harus memiliki izin baca terhadapnya. Kode berikut menunjukkan contoh cara mengambil tautan simbolik dan nama file objek yang ditunjuknya:

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# 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())

# Tentukan titik akhir wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel titik akhir ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Tentukan wilayah tempat titik akhir berada, misalnya cn-hangzhou. Perhatikan bahwa parameter ini wajib untuk tanda tangan V4.
region = "cn-hangzhou"

# Ganti examplebucket dengan nama bucket Anda.
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)

# Tentukan nama tautan simbolik.
symlink = 'examplesymlick.txt'
# Dapatkan tautan simbolik dan nama objek yang ditunjuknya.
bucket.get_symlink(symlink)
result = bucket.get_symlink(symlink)    
print(result.target_key)

Referensi

  • Untuk informasi selengkapnya tentang operasi API yang digunakan untuk membuat tautan simbolik, lihat PutSymlink.

  • Untuk informasi selengkapnya tentang operasi API yang digunakan untuk mengambil tautan simbolik, lihat GetSymlink.