Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:Check whether a file exists (Go SDK V1)

Son Güncelleme:Oct 01, 2026

Bu konuda, bir dosyanın var olup olmadığının nasıl kontrol edileceği açıklanır.

Notlar

  • Bu konuda China (Hangzhou) bölgesinin genel uç noktası kullanılır. OSS ile aynı bölgedeki diğer Alibaba Cloud hizmetlerinden OSS'e erişmek için dahili uç nokta kullanın. OSS bölgeleri ve uç noktaları hakkında daha fazla bilgi için bkz. Bölgeler ve uç noktalar.

  • Bu konuda erişim kimlik bilgileri ortam değişkenlerinden alınır. Erişim kimlik bilgilerinin nasıl yapılandırılacağı hakkında daha fazla bilgi için bkz. Erişim kimlik bilgilerini yapılandırma.

  • Bu konuda bir OSS uç noktası kullanarak bir OSSClient örneğinin nasıl oluşturulacağı gösterilir. Özel alan adı kullanma veya Security Token Service (STS) kimlik bilgileriyle kimlik doğrulama gibi alternatif yapılandırmalar için bkz. İstemci yapılandırma (Go SDK V1).

  • Bir nesnenin var olup olmadığını belirlemek için oss:GetObject iznine sahip olmanız gerekir. Daha fazla bilgi için bkz. Özel ilke atama.

Örnek kod

Aşağıdaki örnek kod, bir dosyanın var olup olmadığını nasıl kontrol edeceğinizi gösterir.

package main

import (
	"log"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
	// Obtain access credentials from environment variables. Before you run the sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		log.Fatalf("Failed to create credentials provider: %v", err)
	}

	// Create an OSSClient instance.
	// Set yourEndpoint to the Endpoint of the bucket. For example, for a bucket in the China (Hangzhou) region, set the value to https://oss-cn-hangzhou.aliyuncs.com. For other regions, set the value as needed.
	// Set yourRegion to the region where the bucket is located. For example, for a bucket in the China (Hangzhou) region, set the value to cn-hangzhou. For other regions, set the value as needed.
	clientOptions := []oss.ClientOption{oss.SetCredentialsProvider(&provider)}
	clientOptions = append(clientOptions, oss.Region("yourRegion"))
	// Set the signature version.
	clientOptions = append(clientOptions, oss.AuthVersion(oss.AuthV4))
	client, err := oss.New("yourEndpoint", "", "", clientOptions...)
	if err != nil {
		log.Fatalf("Failed to create OSS client: %v", err)
	}

	// Set yourBucketName to the name of the bucket.
	bucketName := "yourBucketName" // Replace with the actual bucket name.
	bucket, err := client.Bucket(bucketName)
	if err != nil {
		log.Fatalf("Failed to get bucket: %v", err)
	}

	// Check whether the file exists.
	// Set yourObjectName to the full path of the object. Do not include the bucket name.
	objectName := "yourObjectName" // Replace with the actual object path.
	isExist, err := bucket.IsObjectExist(objectName)
	if err != nil {
		log.Fatalf("Failed to check if object exists: %v", err)
	}
	log.Printf("Exist: %t\n", isExist)
}

İlgili kaynaklar

  • Bir dosyanın var olup olmadığını kontrol etmeye yönelik API işlemi hakkında daha fazla bilgi için bkz. IsObjectExist.