All Products
Search
Document Center

Object Storage Service:Tentukan apakah sebuah objek ada (Go SDK V2)

Last Updated:Nov 09, 2025

Topik ini menjelaskan cara menggunakan OSS SDK untuk Go untuk menentukan apakah sebuah objek ada.

Catatan penggunaan

  • Kode contoh dalam topik ini menggunakan ID Wilayah cn-hangzhou untuk Wilayah Hangzhou, Tiongkok. Secara default, titik akhir publik digunakan untuk mengakses sumber daya di bucket. Jika Anda ingin mengakses sumber daya di bucket 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.

  • Dalam topik ini, kredensial akses diperoleh dari variabel lingkungan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasikan Kredensial Akses.

  • Izin oss:GetObject diperlukan untuk mengunduh objek ke komputer lokal. Untuk informasi lebih lanjut, lihat Berikan Izin Kustom kepada Pengguna RAM.

Definisi metode

func (c *Client) IsObjectExist(ctx context.Context, bucket string, key string, optFns ...func(*IsObjectExistOptions)) (bool, error)

Parameter permintaan

Parameter

Tipe

Deskripsi

ctx

context.Context

Konteks permintaan. Anda dapat menggunakan parameter ini untuk menentukan batas waktu total untuk permintaan.

bucket

string

Nama bucket.

key

string

Nama objek.

optFns

...func(*IsObjectExistOptions)

(Opsional) Parameter konfigurasi tingkat API. Untuk informasi lebih lanjut, lihat IsObjectExistOptions.

Nilai kembali

Nilai kembali

Tipe

Deskripsi

flag

bool

Nilai kembali operasi API. Parameter ini valid hanya jika err adalah nil.

err

error

Status permintaan. Jika permintaan gagal, err tidak nil.

Kode contoh

Anda dapat menggunakan kode berikut untuk menentukan apakah sebuah objek ada.

package main

import (
	"context"
	"flag"
	"log"

	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
)

// Tentukan variabel global.
var (
	region     string // Wilayah.
	bucketName string // Nama bucket.
	objectName string // Nama objek.
)

// Fungsi init digunakan untuk menginisialisasi parameter baris perintah.
func init() {
	flag.StringVar(&region, "region", "", "Wilayah tempat bucket berada.")
	flag.StringVar(&bucketName, "bucket", "", "Nama bucket.")
	flag.StringVar(&objectName, "object", "", "Nama objek.")
}

func main() {
	// Parsing parameter baris perintah.
	flag.Parse()

	// Periksa apakah nama bucket kosong.
	if len(bucketName) == 0 {
		flag.PrintDefaults()
		log.Fatalf("parameter tidak valid, nama bucket diperlukan")
	}

	// Periksa apakah wilayah kosong.
	if len(region) == 0 {
		flag.PrintDefaults()
		log.Fatalf("parameter tidak valid, wilayah diperlukan")
	}

	// Periksa apakah nama objek kosong.
	if len(objectName) == 0 {
		flag.PrintDefaults()
		log.Fatalf("parameter tidak valid, nama objek diperlukan")
	}

	// Muat konfigurasi default dan atur penyedia kredensial serta wilayah.
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

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

	// Periksa apakah objek ada.
	result, err := client.IsObjectExist(context.TODO(), bucketName, objectName)
	if err != nil {
		log.Fatalf("gagal memeriksa apakah objek ada %v", err)
	}

	// Cetak hasil pemeriksaan.
	log.Printf("apakah objek ada: %#v\n", result)
}

Referensi

  • Untuk kode contoh lengkap untuk menentukan apakah sebuah objek ada, lihat Contoh GitHub.

  • Untuk informasi lebih lanjut tentang operasi API yang digunakan untuk menentukan apakah sebuah objek ada, lihat IsObjectExist.