全部产品
Search
文档中心

Object Storage Service:Kelola Blokir Akses Publik untuk titik akses menggunakan OSS SDK untuk Python 2.0

更新时间:Aug 26, 2025

Topik ini menjelaskan cara menggunakan Object Storage Service (OSS) SDK untuk Python 2.0 guna mengelola Blokir Akses Publik untuk titik akses.

Catatan penggunaan

  • Kode contoh dalam topik ini menggunakan ID wilayah cn-hangzhou dari Wilayah Hangzhou, Tiongkok. Secara default, titik akhir publik digunakan untuk mengakses sumber daya dalam bucket. Jika Anda ingin mengakses sumber daya dalam bucket dengan menggunakan layanan Alibaba Cloud lainnya di wilayah yang sama dengan lokasi bucket tersebut, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang wilayah dan titik akhir, lihat Wilayah dan Titik Akhir.

Contoh

Aktifkan Blokir Akses Publik untuk titik akses

Berikut adalah kode contoh yang menunjukkan cara mengaktifkan Blokir Akses Publik untuk titik akses:

import argparse
import alibabacloud_oss_v2 as oss

# Buat parser parameter baris perintah dan jelaskan tujuan skrip. Contoh ini menjelaskan cara mengaktifkan Blokir Akses Publik untuk titik akses.
parser = argparse.ArgumentParser(description="put access point public access block sample")

# Tentukan parameter baris perintah, termasuk wilayah, nama bucket, nama titik akses, dan titik akhir, serta tentukan apakah akan mengaktifkan Blokir Akses Publik. Parameter titik akhir bersifat opsional.
parser.add_argument('--region', help='Wilayah tempat bucket berada.', required=True)
parser.add_argument('--bucket', help='Nama bucket.', required=True)
parser.add_argument('--endpoint', help='Nama domain yang dapat digunakan layanan lain untuk mengakses OSS')
parser.add_argument('--access_point_name', help='Nama titik akses.', required=True)
parser.add_argument('--block_public_access',
                    help='Menentukan apakah akan mengaktifkan Blokir Akses Publik. '
                         'true: mengaktifkan Blokir Akses Publik. '
                         'false (default): menonaktifkan Blokir Akses Publik.',
                    default='false')

def main():
    # Parsing parameter baris perintah untuk mendapatkan nilai yang ditentukan oleh pengguna.
    args = parser.parse_args()

    # Dapatkan kredensial akses dari variabel lingkungan untuk otentikasi.
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Gunakan konfigurasi default dari SDK untuk membuat objek konfigurasi dan tentukan penyedia kredensial.
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider

    # Tentukan atribut wilayah objek konfigurasi berdasarkan parameter baris perintah yang ditentukan oleh pengguna.
    cfg.region = args.region

    # Jika titik akhir kustom disediakan, ubah parameter titik akhir dalam objek konfigurasi.
    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    # Gunakan konfigurasi sebelumnya untuk menginisialisasi instance OSSClient dan izinkan instance tersebut berinteraksi dengan OSS.
    client = oss.Client(cfg)

    # Kirim permintaan untuk menentukan Blokir Akses Publik untuk titik akses.
    result = client.put_access_point_public_access_block(oss.PutAccessPointPublicAccessBlockRequest(
            bucket=args.bucket, # Nama bucket.
            access_point_name=args.access_point_name, # Nama titik akses.
            public_access_block_configuration=oss.PublicAccessBlockConfiguration(
                block_public_access=args.block_public_access == 'true', # Aktifkan Blokir Akses Publik.
            ),
    ))

    # Tampilkan kode status HTTP dan ID permintaan dari permintaan untuk memeriksa status permintaan.
    print(f'kode status: {result.status_code},'
          f' ID permintaan: {result.request_id},'
          )

# Panggil fungsi utama untuk memulai logika pemrosesan saat skrip dijalankan langsung.
if __name__ == "__main__":
    main() # Tentukan titik masuk dalam fungsi skrip. Alur program kontrol dimulai di sini.

Kueri konfigurasi Blokir Akses Publik dari titik akses

Berikut adalah kode contoh yang menunjukkan cara mengkueri konfigurasi Blokir Akses Publik dari titik akses:

import argparse
import alibabacloud_oss_v2 as oss

# Buat parser parameter baris perintah dan jelaskan tujuan skrip. Contoh ini menjelaskan cara mengkueri konfigurasi Blokir Akses Publik dari titik akses.
parser = argparse.ArgumentParser(description="get access point public access block sample")

# Tentukan parameter baris perintah, termasuk wilayah, nama bucket, nama titik akses, dan titik akhir. Parameter titik akhir bersifat opsional.
parser.add_argument('--region', help='Wilayah tempat bucket berada.', required=True)
parser.add_argument('--bucket', help='Nama bucket.', required=True)
parser.add_argument('--endpoint', help='Nama domain yang dapat digunakan layanan lain untuk mengakses OSS')
parser.add_argument('--access_point_name', help='Nama titik akses.', required=True)

def main():
    # Parsing parameter baris perintah untuk mendapatkan nilai yang ditentukan oleh pengguna.
    args = parser.parse_args()

    # Dapatkan kredensial akses dari variabel lingkungan untuk otentikasi.
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Gunakan konfigurasi default dari SDK untuk membuat objek konfigurasi dan tentukan penyedia kredensial.
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider

    # Tentukan atribut wilayah objek konfigurasi berdasarkan parameter baris perintah yang ditentukan oleh pengguna.
    cfg.region = args.region

    # Jika titik akhir kustom disediakan, ubah parameter titik akhir dalam objek konfigurasi.
    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    # Gunakan konfigurasi sebelumnya untuk menginisialisasi instance OSSClient dan izinkan instance tersebut berinteraksi dengan OSS.
    client = oss.Client(cfg)

    # Kirim permintaan untuk mengkueri konfigurasi Blokir Akses Publik dari titik akses.
    result = client.get_access_point_public_access_block(oss.GetAccessPointPublicAccessBlockRequest(
            bucket=args.bucket, # Nama bucket.
            access_point_name=args.access_point_name, # Nama titik akses.
    ))

    # Tampilkan kode status HTTP, ID permintaan, dan status Blokir Akses Publik dari permintaan untuk memeriksa status permintaan dan konfigurasi Blokir Akses Publik.
    print(f'kode status: {result.status_code},'
          f' ID permintaan: {result.request_id},'
          f' blokir akses publik: {getattr(result.public_access_block_configuration, "block_public_access", "Tidak diatur")},'
          )

# Panggil fungsi utama untuk memulai logika pemrosesan saat skrip dijalankan langsung.
if __name__ == "__main__":
    main() # Tentukan titik masuk dalam fungsi skrip. Alur program kontrol dimulai di sini.

Hapus konfigurasi Blokir Akses Publik dari sebuah titik akses

Berikut adalah kode contoh yang menunjukkan cara menghapus konfigurasi Blokir Akses Publik dari titik akses:

import argparse
import alibabacloud_oss_v2 as oss

# Buat parser parameter baris perintah dan jelaskan tujuan skrip. Contoh ini menjelaskan cara mengkueri konfigurasi Blokir Akses Publik dari titik akses.
parser = argparse.ArgumentParser(description="delete access point public access block sample")

# Tentukan parameter baris perintah, termasuk wilayah, nama bucket, nama titik akses, dan titik akhir. Parameter titik akhir bersifat opsional.
parser.add_argument('--region', help='Wilayah tempat bucket berada.', required=True)
parser.add_argument('--bucket', help='Nama bucket.', required=True)
parser.add_argument('--endpoint', help='Nama domain yang dapat digunakan layanan lain untuk mengakses OSS')
parser.add_argument('--access_point_name', help='Nama titik akses.', required=True)

def main():
    # Parsing parameter baris perintah untuk mendapatkan nilai yang ditentukan oleh pengguna.
    args = parser.parse_args()

    # Dapatkan kredensial akses dari variabel lingkungan untuk otentikasi.
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Gunakan konfigurasi default dari SDK untuk membuat objek konfigurasi dan tentukan penyedia kredensial.
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider

    # Tentukan atribut wilayah objek konfigurasi berdasarkan parameter baris perintah yang ditentukan oleh pengguna.
    cfg.region = args.region

    # Jika titik akhir kustom disediakan, ubah parameter titik akhir dalam objek konfigurasi.
    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    # Gunakan konfigurasi sebelumnya untuk menginisialisasi instance OSSClient dan izinkan instance tersebut berinteraksi dengan OSS.
    client = oss.Client(cfg)

    # Kirim permintaan untuk menghapus konfigurasi Blokir Akses Publik dari titik akses.
    result = client.delete_access_point_public_access_block(oss.DeleteAccessPointPublicAccessBlockRequest(
            bucket=args.bucket, # Nama bucket.
            access_point_name=args.access_point_name, # Nama titik akses.
    ))

    # Tampilkan kode status HTTP dan ID permintaan dari permintaan untuk memeriksa status permintaan.
    print(f'kode status: {result.status_code},'
          f' ID permintaan: {result.request_id},'
          )

# Panggil fungsi utama untuk memulai logika pemrosesan saat skrip dijalankan langsung.
if __name__ == "__main__":
    main() # Tentukan titik masuk dalam fungsi skrip. Alur program kontrol dimulai di sini.