全部产品
Search
文档中心

Object Storage Service:Blokir Akses Publik Global untuk OSS (OSS SDK untuk Go V2)

更新时间:Nov 09, 2025

Topik ini menjelaskan cara menggunakan OSS SDK untuk Go V2 untuk mengaktifkan, menanyakan, dan menghapus konfigurasi Blokir Akses Publik Global untuk OSS.

Catatan penggunaan

  • Kode contoh dalam topik ini menggunakan ID Wilayah cn-hangzhou untuk Wilayah China (Hangzhou). Secara default, titik akhir publik digunakan untuk mengakses OSS. Jika Anda ingin mengakses OSS dari layanan Alibaba Cloud lainnya di wilayah yang sama, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang wilayah dan titik akhir yang didukung oleh OSS, lihat Wilayah dan Titik Akhir OSS.

  • Topik ini memberikan contoh cara membaca kredensial akses dari variabel lingkungan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasikan Kredensial Akses.

Kode contoh

Aktifkan Blokir Akses Publik Global untuk OSS

Gunakan kode berikut untuk mengaktifkan Blokir Akses Publik Global.

package main

import (
	"context" 
	"flag"    
	"log"     

	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"           // Impor paket SDK untuk Alibaba Cloud OSS.
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" // Impor paket untuk memproses informasi autentikasi.
)

var (
	region string // Tentukan variabel string untuk menyimpan informasi wilayah yang diperoleh dari baris perintah.
)

// Fungsi init dieksekusi sebelum fungsi utama untuk menginisialisasi program.
func init() {
	flag.StringVar(&region, "region", "", "Wilayah tempat bucket berada.") // Tetapkan variabel wilayah menggunakan parameter baris perintah. Secara default, parameter ini dibiarkan kosong.
}

// Fungsi utama adalah titik masuk program.
func main() {
	flag.Parse() // Analisis parameter baris perintah.
	if len(region) == 0 { // Jika parameter wilayah tidak diberikan, cetak parameter default dan keluar dari program.
		flag.PrintDefaults()
		log.Fatalf("parameter tidak valid, wilayah diperlukan") // Catat kesalahan dan hentikan program.
	}

	// Buat objek konfigurasi, dan gunakan variabel lingkungan sebagai penyedia kredensial dan wilayah yang ditentukan.
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := oss.NewClient(cfg) // Buat klien OSS baru menggunakan konfigurasi.

	// Buat permintaan PutPublicAccessBlock untuk mengaktifkan fitur Blokir Akses Publik.
	request := &oss.PutPublicAccessBlockRequest{
		PublicAccessBlockConfiguration: &oss.PublicAccessBlockConfiguration{
			oss.Ptr(true), // Atur parameter ini ke true untuk mengaktifkan Blokir Akses Publik.
		},
	}
	putResult, err := client.PutPublicAccessBlock(context.TODO(), request)
	if err != nil {
		log.Fatalf("gagal menempatkan blokir akses publik %v", err) // Jika terjadi kesalahan, catat kesalahan dan keluar.
	}

	log.Printf("hasil penempatan blokir akses publik:%#v\n", putResult) // Cetak hasil pengaktifan Blokir Akses Publik.
}

Tanyakan konfigurasi Blokir Akses Publik Global untuk OSS

Gunakan kode berikut untuk menanyakan konfigurasi Blokir Akses Publik Global untuk OSS.

package main

import (
	"context" // Digunakan untuk mengelola konteks dengan fitur seperti tenggat waktu dan sinyal pembatalan.
	"flag"    // Digunakan untuk menganalisis parameter baris perintah.
	"log"     // Digunakan untuk mencetak informasi log.

	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"           // Paket SDK untuk Alibaba Cloud OSS.
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" // Paket untuk memproses informasi autentikasi.
)

var (
	region string // Menyimpan informasi wilayah yang diperoleh dari baris perintah.
)

// Fungsi inisialisasi, yang digunakan untuk menyiapkan tugas yang perlu diselesaikan sebelum program dimulai.
func init() {
	flag.StringVar(&region, "region", "", "Wilayah tempat bucket berada.") // Tetapkan parameter baris perintah untuk menentukan wilayah. Secara default, parameter ini adalah string kosong.
}

// Titik masuk program.
func main() {
	flag.Parse() // Analisis parameter baris perintah.
	if len(region) == 0 { // Jika parameter wilayah tidak diberikan, cetak parameter default dan keluar dari program.
		flag.PrintDefaults()
		log.Fatalf("parameter tidak valid, wilayah diperlukan") // Catat kesalahan dan hentikan program.
	}

	// Muat konfigurasi default, gunakan variabel lingkungan sebagai penyedia kredensial, dan tentukan wilayah untuk operasi.
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := oss.NewClient(cfg) // Buat instance klien OSS baru menggunakan konfigurasi.

	// Buat permintaan GetPublicAccessBlock untuk menanyakan pengaturan Blokir Akses Publik.
	request := &oss.GetPublicAccessBlockRequest{}
	getResult, err := client.GetPublicAccessBlock(context.TODO(), request) // Jalankan permintaan untuk menanyakan status Blokir Akses Publik.
	if err != nil {
		log.Fatalf("gagal mendapatkan blokir akses publik %v", err) // Jika terjadi kesalahan, catat pesan kesalahan dan hentikan program.
	}

	log.Printf("hasil mendapatkan blokir akses publik:%#v\n", getResult) // Cetak hasil penanyaan Blokir Akses Publik.
}

Hapus konfigurasi Blokir Akses Publik Global untuk OSS

Gunakan kode berikut untuk menghapus konfigurasi Blokir Akses Publik Global untuk OSS.

package main

import (
	"context" 
	"flag"    
	"log"    

	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"           // Paket SDK untuk Alibaba Cloud OSS.
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" // Paket untuk memproses informasi autentikasi.
)

var (
	region string // Tentukan variabel untuk menyimpan informasi wilayah yang diperoleh dari baris perintah.
)

// Fungsi init dieksekusi sebelum fungsi utama untuk menginisialisasi program.
func init() {
	flag.StringVar(&region, "region", "", "Wilayah tempat bucket berada.") // Tetapkan parameter baris perintah untuk menentukan wilayah. Secara default, parameter ini adalah string kosong.
}

// Fungsi utama adalah titik masuk program.
func main() {
	flag.Parse() // Analisis parameter baris perintah.
	if len(region) == 0 { // Jika parameter wilayah tidak diberikan, cetak parameter default dan keluar dari program.
		flag.PrintDefaults()
		log.Fatalf("parameter tidak valid, wilayah diperlukan") // Catat kesalahan dan hentikan program.
	}

	// Buat objek konfigurasi, dan gunakan variabel lingkungan sebagai penyedia kredensial dan wilayah yang ditentukan.
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	client := oss.NewClient(cfg) // Buat instance klien OSS baru menggunakan konfigurasi.

	// Buat permintaan DeletePublicAccessBlock untuk menghapus pengaturan Blokir Akses Publik.
	request := &oss.DeletePublicAccessBlockRequest{}
	result, err := client.DeletePublicAccessBlock(context.TODO(), request) // Kirim permintaan untuk menghapus pengaturan Blokir Akses Publik.
	if err != nil {
		log.Fatalf("gagal menghapus blokir akses publik %v", err) // Jika terjadi kesalahan, catat pesan kesalahan dan hentikan program.
	}

	log.Printf("hasil menghapus blokir akses publik:%#v\n", result) // Cetak hasil penghapusan Blokir Akses Publik.
}

Referensi

  • Untuk kode contoh lengkap yang menunjukkan cara mengelola Blokir Akses Publik Global untuk OSS, lihat Contoh GitHub.

  • Untuk informasi lebih lanjut tentang operasi API untuk mengaktifkan Blokir Akses Publik Global untuk OSS, lihat PutPublicAccessBlock.

  • Untuk informasi lebih lanjut tentang operasi API untuk menanyakan konfigurasi Blokir Akses Publik Global untuk OSS, lihat GetPublicAccessBlock.

  • Untuk informasi lebih lanjut tentang operasi API untuk menghapus konfigurasi Blokir Akses Publik Global untuk OSS, lihat DeletePublicAccessBlock.