Topik ini menjelaskan cara menggunakan metode simple upload untuk mengunggah file lokal ke OSS. Metode ini menyediakan cara langsung dan cepat untuk mengunggah file lokal.
Catatan penggunaan
Pada topik ini, digunakan public endpoint wilayah China (Hangzhou). Jika Anda mengakses OSS dari layanan Alibaba Cloud lain yang berada di wilayah yang sama dengan OSS, gunakan internal endpoint. Untuk informasi selengkapnya mengenai wilayah dan endpoint OSS, lihat Regions and endpoints.
Pada topik ini, kredensial akses diperoleh dari variabel lingkungan. Untuk informasi selengkapnya mengenai cara mengonfigurasi kredensial akses, lihat Configure access credentials.
Pada topik ini, instans OSSClient dibuat menggunakan endpoint OSS. Jika Anda ingin membuat instans OSSClient menggunakan nama domain kustom atau Security Token Service (STS), lihat Configure a client (Go SDK V1).
Kode contoh
Kode berikut menunjukkan cara mengunggah file lokal ke objek bernama exampleobject.txt dalam folder exampledir di bucket examplebucket.
package main
import (
"log"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
func main() {
// Peroleh kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
provider, err := oss.NewEnvironmentVariableCredentialsProvider()
if err != nil {
log.Fatalf("Failed to create credentials provider: %v", err)
}
// Buat instans OSSClient.
// Setel yourEndpoint ke endpoint bucket. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel endpoint ke https://oss-cn-hangzhou.aliyuncs.com. Untuk wilayah lain, tentukan endpoint yang sebenarnya.
// Setel yourRegion ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel wilayah ke cn-hangzhou. Untuk wilayah lain, tentukan wilayah yang sebenarnya.
clientOptions := []oss.ClientOption{oss.SetCredentialsProvider(&provider)}
clientOptions = append(clientOptions, oss.Region("yourRegion"))
// Setel versi signature.
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)
}
// Tentukan nama bucket, misalnya examplebucket.
bucketName := "examplebucket" // Ganti nilai ini dengan nama bucket yang sebenarnya.
bucket, err := client.Bucket(bucketName)
if err != nil {
log.Fatalf("Failed to get bucket: %v", err)
}
// Tentukan path lengkap objek, seperti exampledir/exampleobject.txt, dan path lengkap file lokal, seperti D:\\localpath\\examplefile.txt.
objectKey := "exampledir/exampleobject.txt" // Ganti nilai ini dengan object key yang sebenarnya.
localFilePath := "D:\\localpath\\examplefile.txt" // Ganti nilai ini dengan path file lokal yang sebenarnya.
err = bucket.PutObjectFromFile(objectKey, localFilePath)
if err != nil {
log.Fatalf("Failed to put object from file: %v", err)
}
log.Println("File uploaded successfully.")
}
Common scenarios
Referensi
Untuk kode contoh lengkap mengenai simple upload, lihat GitHub examples.
Untuk informasi selengkapnya mengenai operasi API untuk simple upload, lihat PutObject.