全部产品
Search
文档中心

Object Storage Service:Blokir Akses Publik Global untuk OSS menggunakan OSS SDK untuk Python 2.0

更新时间:Oct 21, 2025

Topik ini menjelaskan cara mengaktifkan, menanyakan, dan menghapus konfigurasi Blokir Akses Publik global untuk OSS menggunakan OSS SDK untuk Python 2.0.

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 dari layanan Alibaba Cloud lainnya di wilayah yang sama dengan bucket tersebut, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang wilayah dan titik akhir yang didukung oleh OSS, lihat Wilayah dan Titik Akhir.

Kode contoh

Aktifkan Blokir Akses Publik global untuk OSS

Berikut adalah kode contoh untuk mengaktifkan Blokir Akses Publik global.

import argparse
import alibabacloud_oss_v2 as oss

# Buat parser argumen baris perintah dan jelaskan tujuan skrip: Atur konfigurasi Blokir Akses Publik untuk bucket.
parser = argparse.ArgumentParser(description="put public access block sample")

# Tentukan argumen baris perintah, termasuk wilayah, nama bucket, dan titik akhir yang diperlukan, serta apakah akan mengaktifkan Blokir Akses Publik.
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('--block_public_access',
                    help='Menentukan apakah akan mengaktifkan Blokir Akses Publik. '
                         'true: mengaktifkan Blokir Akses Publik. '
                         'false (default): menonaktifkan Blokir Akses Publik.',
                    default=False, type=bool)

def main():
    # Mengurai argumen baris perintah untuk mendapatkan nilai yang dimasukkan oleh pengguna.
    args = parser.parse_args()

    # Muat informasi kredensial akses dari variabel lingkungan untuk verifikasi identitas.
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Buat objek konfigurasi menggunakan konfigurasi SDK default dan atur penyedia otentikasi.
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider

    # Atur properti wilayah objek konfigurasi berdasarkan argumen baris perintah yang diberikan oleh pengguna.
    cfg.region = args.region

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

    # Inisialisasi klien OSS menggunakan konfigurasi di atas untuk mempersiapkan interaksi dengan OSS.
    client = oss.Client(cfg)

    # Kirim permintaan untuk mengatur konfigurasi Blokir Akses Publik untuk bucket tertentu.
    result = client.put_public_access_block(oss.PutPublicAccessBlockRequest(
            bucket=args.bucket,  # Nama bucket.
            public_access_block_configuration=oss.PublicAccessBlockConfiguration(
                block_public_access=args.block_public_access,  # Menentukan apakah akan mengaktifkan Blokir Akses Publik.
            ),
    ))

    # Cetak kode status dan ID permintaan hasil operasi untuk mengonfirmasi status permintaan.
    print(f'kode status: {result.status_code},'
          f' ID permintaan: {result.request_id},'
          )

# Saat skrip ini dijalankan langsung, panggil fungsi utama untuk mulai memproses logika.
if __name__ == "__main__":
    main()  # Titik masuk skrip. Alur program dimulai dari sini.

Tanyakan informasi konfigurasi Blokir Akses Publik global untuk OSS

Berikut adalah kode contoh untuk menanyakan konfigurasi Blokir Akses Publik global untuk OSS.

import argparse
import alibabacloud_oss_v2 as oss

# Buat parser argumen baris perintah dan jelaskan tujuan skrip: Dapatkan konfigurasi Blokir Akses Publik bucket.
parser = argparse.ArgumentParser(description="get public access block sample")

# Tentukan argumen baris perintah, termasuk wilayah dan nama bucket yang diperlukan, dan titik akhir 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')

def main():
    # Mengurai argumen baris perintah untuk mendapatkan nilai yang dimasukkan oleh pengguna.
    args = parser.parse_args()

    # Muat informasi kredensial akses dari variabel lingkungan untuk verifikasi identitas.
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Buat objek konfigurasi menggunakan konfigurasi SDK default dan atur penyedia otentikasi.
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider

    # Atur properti wilayah objek konfigurasi berdasarkan argumen baris perintah yang diberikan oleh pengguna.
    cfg.region = args.region

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

    # Inisialisasi klien OSS menggunakan konfigurasi di atas untuk mempersiapkan interaksi dengan OSS.
    client = oss.Client(cfg)

    # Kirim permintaan untuk mendapatkan konfigurasi Blokir Akses Publik untuk bucket tertentu.
    result = client.get_public_access_block(oss.GetPublicAccessBlockRequest(
            bucket=args.bucket,  # Nama bucket.
    ))

    # Cetak kode status, ID permintaan, dan status konfigurasi Blokir Akses Publik dari hasil operasi untuk mengonfirmasi status permintaan dan detail konfigurasi.
    print(f'kode status: {result.status_code},'
          f' ID permintaan: {result.request_id},'
          f' blokir akses publik: {result.public_access_block_configuration.block_public_access if hasattr(result.public_access_block_configuration, "block_public_access") else "Tidak diatur"},'
          )

# Saat skrip ini dijalankan langsung, panggil fungsi utama untuk mulai memproses logika.
if __name__ == "__main__":
    main()  # Titik masuk skrip. Alur program dimulai dari sini.

Hapus informasi konfigurasi Blokir Akses Publik global untuk OSS

Berikut adalah kode contoh untuk menghapus konfigurasi Blokir Akses Publik global untuk OSS.

import argparse
import alibabacloud_oss_v2 as oss

# Buat parser argumen baris perintah dan jelaskan tujuan skrip: Hapus konfigurasi Blokir Akses Publik bucket.
parser = argparse.ArgumentParser(description="delete public access block sample")

# Tentukan argumen baris perintah, termasuk wilayah dan nama bucket yang diperlukan, dan titik akhir 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')

def main():
    # Mengurai argumen baris perintah untuk mendapatkan nilai yang dimasukkan oleh pengguna.
    args = parser.parse_args()

    # Muat informasi kredensial akses dari variabel lingkungan untuk verifikasi identitas.
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Buat objek konfigurasi menggunakan konfigurasi SDK default dan atur penyedia otentikasi.
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider

    # Atur properti wilayah objek konfigurasi berdasarkan argumen baris perintah yang diberikan oleh pengguna.
    cfg.region = args.region

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

    # Inisialisasi klien OSS menggunakan konfigurasi di atas untuk mempersiapkan interaksi dengan OSS.
    client = oss.Client(cfg)

    # Kirim permintaan untuk menghapus konfigurasi Blokir Akses Publik untuk bucket tertentu.
    result = client.delete_public_access_block(oss.DeletePublicAccessBlockRequest(
            bucket=args.bucket,  # Nama bucket.
    ))

    # Cetak kode status dan ID permintaan hasil operasi untuk mengonfirmasi status permintaan.
    print(f'kode status: {result.status_code},'
          f' ID permintaan: {result.request_id},'
          )

# Saat skrip ini dijalankan langsung, panggil fungsi utama untuk mulai memproses logika.
if __name__ == "__main__":
    main()  # Titik masuk skrip. Alur program dimulai dari sini.