Untuk mempermudah pemanggilan API, disarankan mengintegrasikan Alibaba Cloud SDK ke dalam proyek Anda. SDK ini menyederhanakan proses pengembangan, mempercepat integrasi fitur, dan secara signifikan mengurangi biaya operasional dan pemeliharaan (O&M). Topik ini menjelaskan cara mengintegrasikan Alibaba Cloud SDK V1.0 untuk Go ke dalam proyek Anda serta cara menggunakan SDK untuk pengembangan.
Dukungan untuk Alibaba Cloud SDK V1.0 untuk Go telah berakhir. Untuk informasi lebih lanjut, lihat Akhir dukungan untuk Alibaba Cloud SDK V1.0 untuk Golang pada 1 Maret 2025. Disarankan menggunakan Alibaba Cloud SDK V2.0 untuk Go.
Prasyarat
Go versi 1.10.x telah terinstal.
Instal SDK
Saat menginstal Alibaba Cloud SDK V1.0 untuk Go, pustaka inti akan diinstal secara otomatis. Oleh karena itu, Anda hanya perlu menginstal SDK tersebut.
SDK layanan cloud
SDK layanan cloud mencakup objek permintaan yang diperlukan untuk memanggil operasi API dan objek respons. Contoh berikut menunjukkan cara menginstal SDK Elastic Compute Service (ECS). Jalankan perintah instalasi berikut di terminal atau antarmuka baris perintah (CLI):
go get github.com/aliyun/alibaba-cloud-sdk-go/services/ecsSDK V1.0 untuk Go dari layanan Alibaba Cloud dinamai dalam format github.com/aliyun/alibaba-cloud-sdk-go/services/${Service code}.
Pustaka inti SDK
Pustaka inti SDK mencakup objek klien, logika tanda tangan, dan logika penanganan kesalahan, yang merupakan informasi yang diperlukan untuk memanggil operasi API. Untuk membuat panggilan generik, jalankan perintah berikut:
go get -u github.com/aliyun/alibaba-cloud-sdk-go/sdkGunakan SDK
Contoh berikut menunjukkan cara menggunakan Alibaba Cloud SDK V1.0 untuk memanggil operasi API DescribeInstances dari Elastic Compute Service (ECS).
1. Inisialisasi klien permintaan
Semua operasi API dipanggil menggunakan objek klien yang disediakan oleh pustaka SDK. Sebelum memanggil operasi API, Anda harus menginisialisasi klien permintaan. Dalam contoh ini, klien permintaan diinisialisasi menggunakan pasangan AccessKey. Untuk informasi lebih lanjut, lihat Kelola Kredensial Akses.
Dalam contoh ini, pasangan AccessKey diperoleh dari variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET, yang harus dikonfigurasi sebelum menjalankan kode. Untuk informasi lebih lanjut, lihat Konfigurasikan Variabel Lingkungan di Linux, macOS, dan Windows.
import (
"os"
"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
"github.com/aliyun/alibaba-cloud-sdk-go/services/ecs"
)
func main() {
config := sdk.NewConfig()
credential, err := credentials.NewStaticAKCredentialsProviderBuilder().
WithAccessKeyId(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")).
WithAccessKeySecret(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")).
Build()
if err != nil {
panic(err)
}
// Inisialisasi klien layanan cloud
ecsClient, err := ecs.NewClientWithOptions("cn-hangzhou", config, credential)
if err != nil {
panic(err)
}
}2. Buat objek permintaan
Anda dapat menggunakan objek permintaan yang disediakan oleh SDK untuk mengenkapsulasi parameter permintaan.
Berikan nama objek permintaan operasi API dalam format berikut: <Nama Operasi API>Request.
// Dalam kode contoh, pustaka Requests digunakan. Oleh karena itu, informasi berikut harus ditambahkan untuk mengimpor pustaka: "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests".
// Buat objek permintaan.
request := ecs.CreateDescribeInstancesRequest()
request.InstanceIds = "[\"i-bp1dXXXXXXXXXXXX\"]"
request.PageSize = requests.Integer("100")
request.PageNumber = requests.Integer("1")
3. Ajukan permintaan API
Gunakan klien permintaan yang dibuat di Langkah 1 untuk memanggil operasi API. Parameter permintaan operasi tersebut dienkapsulasi dalam objek permintaan yang dibuat di Langkah 2.
response, err := ecsClient.DescribeInstances(request)
if err != nil {
panic(err)
}
fmt.Print(response.GetHttpContentString())
Referensi
Untuk informasi lebih lanjut tentang pengaturan SDK tingkat lanjut, seperti pengaturan proxy dan timeout, lihat Pengaturan Lanjutan.
Untuk informasi lebih lanjut tentang cara membuat pasangan AccessKey, lihat Buat Pasangan AccessKey.