全部产品
Search
文档中心

Object Storage Service:Penyimpanan log (Python SDK V1)

更新时间:Nov 29, 2025

Layanan Penyimpanan Objek (OSS) menghasilkan log akses untuk mencatat akses ke sumber daya yang disimpan dalam bucket OSS. Setelah Anda mengaktifkan dan mengonfigurasi logging untuk suatu bucket, OSS akan menghasilkan log akses setiap jam berdasarkan aturan penamaan yang telah ditentukan, lalu menyimpan log tersebut ke bucket tertentu.

Catatan penggunaan

  • 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.

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

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

  • Untuk mengaktifkan penyimpanan log, Anda harus memiliki izin oss:PutBucketLogging. Untuk melihat konfigurasi penyimpanan log, Anda harus memiliki izin oss:GetBucketLogging. Untuk menonaktifkan penyimpanan log, Anda harus memiliki izin oss:DeleteBucketLogging. Untuk informasi selengkapnya, lihat Berikan kebijakan akses kustom kepada RAM user.

Aktifkan logging untuk bucket

Kode contoh berikut menunjukkan cara mengaktifkan logging untuk bucket:

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

# Peroleh kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Tentukan Endpoint untuk wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur Endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Tentukan informasi wilayah yang sesuai dengan Endpoint, misalnya cn-hangzhou. Catatan: Parameter ini wajib untuk tanda tangan V4.
region = "cn-hangzhou"

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

# Simpan file log ke bucket saat ini.
# Atur direktori tempat file log disimpan menjadi log/. Jika Anda menentukan parameter ini, file log akan disimpan ke direktori yang ditentukan dalam bucket. Jika tidak, file log akan disimpan ke direktori root bucket.
# Aktifkan fitur penyimpanan log.
logging = bucket.put_bucket_logging(BucketLogging(bucket.bucket_name, 'log/'))
if logging.status == 200:
    print("Aktifkan logging akses")
else:
    print("request_id: ", logging.request_id)
    print("resp: ", logging.resp.response)            

Kueri konfigurasi logging bucket

Kode contoh berikut menunjukkan cara melakukan kueri terhadap konfigurasi logging bucket:

# -*- 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 diatur.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Tentukan Endpoint untuk wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur Endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Tentukan informasi wilayah yang sesuai dengan Endpoint, misalnya cn-hangzhou. Catatan: Parameter ini wajib untuk tanda tangan V4.
region = "cn-hangzhou"

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

# Lihat konfigurasi penyimpanan log.
logging = bucket.get_bucket_logging()
print('TargetBucket={0}, TargetPrefix={1}'.format(logging.target_bucket, logging.target_prefix))            

Nonaktifkan logging untuk bucket

Kode contoh berikut menunjukkan cara menonaktifkan logging untuk bucket:

# -*- 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 diatur.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Tentukan Endpoint untuk wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur Endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Tentukan informasi wilayah yang sesuai dengan Endpoint, misalnya cn-hangzhou. Catatan: Parameter ini wajib untuk tanda tangan V4.
region = "cn-hangzhou"

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

# Nonaktifkan fitur penyimpanan log.
logging = bucket.delete_bucket_logging()
if logging.status == 204:
    print("Nonaktifkan logging akses")
else:
    print("request_id: ", logging.request_id)
    print("resp: ", logging.resp.response)            

Referensi

  • Untuk kode contoh lengkap mengenai penyimpanan log, lihat contoh di GitHub.

  • Untuk informasi selengkapnya mengenai operasi API yang dapat Anda panggil untuk mengaktifkan logging pada bucket, lihat PutBucketLogging.

  • Untuk informasi selengkapnya mengenai operasi API yang dapat Anda panggil untuk melakukan kueri terhadap konfigurasi logging bucket, lihat GetBucketLogging.

  • Untuk informasi selengkapnya mengenai operasi API yang dapat Anda panggil untuk menonaktifkan logging pada bucket, lihat DeleteBucketLogging.