Rumah > Artikel > pembangunan bahagian belakang > Ajar anda cara menggunakan bahasa Go untuk menyambung ke antara muka Huawei Cloud
Ajar anda cara menggunakan bahasa Go untuk menyambung ke antara muka Huawei Cloud
Sebagai penyedia perkhidmatan awan global yang terkemuka, Huawei Cloud menyediakan pelbagai antara muka API untuk digunakan oleh pembangun. Semasa proses pembangunan, kami selalunya perlu menggunakan antara muka ini untuk menyelesaikan pelbagai tugas, seperti mencipta dan mengurus pelayan awan, menyimpan fail, dsb. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk menyambung ke antara muka Awan Huawei dan menyediakan beberapa kod sampel.
1. Persediaan awal
Sebelum mula menggunakan bahasa Go untuk menyambung ke antara muka Huawei Cloud, kita perlu melakukan beberapa persediaan terlebih dahulu.
2. Langkah asas untuk menggunakan bahasa Go untuk menyambung ke antara muka Awan Huawei
Memperkenalkan pakej pergantungan
Pertama, kami perlu memperkenalkan beberapa pakej pergantungan bahasa Go untuk operasi seperti menghantar permintaan HTTP dan menghuraikan data JSON. Tambahkan baris berikut pada kod anda:
import ( "encoding/json" "fmt" "io/ioutil" "net/http" )
Membina URL permintaan dan parameter
Seterusnya, kita perlu membina URL permintaan dan parameter. Mengambil ECS (Pelayan Awan Elastik) sebagai contoh, dengan mengandaikan kami ingin menanyakan senarai semua pelayan awan, kami boleh membina URL dan parameter berikut:
accessKey := "your-access-key" secretKey := "your-secret-key" projectID := "your-project-id" url := fmt.Sprintf("https://ecs.%s.myhuaweicloud.com/v1/%s/servers", region, projectID) params := map[string]string{ "limit": 50, }
Antaranya, accessKey dan secretKey ialah kunci API yang anda buat, dan projectID ialah kunci API yang anda buat pada Huawei Cloud ID projek yang dibuat pada konsol, wilayah ialah wilayah di mana pelayan awan yang anda ingin akses berada.
Hantar permintaan HTTP
Seterusnya, kami perlu menghantar permintaan HTTP untuk mengakses antara muka API Huawei Cloud dan mendapatkan data yang dikembalikan. Tambahkan baris berikut pada kod:
req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Content-Type", "application/json") req.Header.Add("X-Auth-Token", accessToken) client := &http.Client{} resp, _ := client.Do(req) defer resp.Body.Close() body, _ := ioutil.ReadAll(resp.Body)
Di dalamnya, kami membuat permintaan GET menggunakan http.NewRequest dan menetapkan pengepala permintaan, termasuk Content-Type dan X-Auth-Token. Hantar permintaan melalui http.Client dan baca data yang dikembalikan.
Menghuraikan data JSON
Akhir sekali, kita perlu menghuraikan data JSON yang dikembalikan. Mengambil ECS (pelayan awan elastik) sebagai contoh, anggap bahawa format data JSON yang dikembalikan adalah seperti berikut:
{ "servers": [ { "id": "server-id-1", "name": "server-1", "status": "ACTIVE" }, { "id": "server-id-2", "name": "server-2", "status": "SHUTOFF" } ] }
Kita boleh menentukan struktur untuk mewakili maklumat pelayan:
type Server struct { ID string `json:"id"` Name string `json:"name"` Status string `json:"status"` }
Kemudian, huraikan data JSON yang dikembalikan melalui json .Unmarshal, dan convert Ia ditukar kepada objek struktur:
var data struct { Servers []Server `json:"servers"` } json.Unmarshal(body, &data)
Pada ketika ini, kami telah menyelesaikan langkah asas menggunakan bahasa Go untuk menyambung ke antara muka Huawei Cloud. Mengikut antara muka dan keperluan yang berbeza, kami boleh membuat pelarasan yang sepadan mengikut langkah di atas.
3. Contoh kod
Berikut ialah contoh kod lengkap untuk membuat pertanyaan senarai ECS (pelayan awan elastik):
package main import ( "encoding/json" "fmt" "io/ioutil" "net/http" ) type Server struct { ID string `json:"id"` Name string `json:"name"` Status string `json:"status"` } func main() { accessKey := "your-access-key" secretKey := "your-secret-key" projectID := "your-project-id" region := "cn-north-1" url := fmt.Sprintf("https://ecs.%s.myhuaweicloud.com/v1/%s/servers", region, projectID) params := map[string]string{ "limit": "50", } req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Content-Type", "application/json") req.Header.Add("X-Auth-Token", accessToken) client := &http.Client{} resp, _ := client.Do(req) defer resp.Body.Close() body, _ := ioutil.ReadAll(resp.Body) var data struct { Servers []Server `json:"servers"` } json.Unmarshal(body, &data) for _, server := range data.Servers { fmt.Printf("Server ID: %s, Name: %s, Status: %s ", server.ID, server.Name, server.Status) } }
Di atas adalah contoh mudah, kita boleh memahami cara menggunakan bahasa Go untuk menyambung kepada Huawei Langkah asas antara muka awan ialah: memperkenalkan pakej pergantungan, membina URL dan parameter permintaan, menghantar permintaan HTTP dan menghuraikan data JSON yang dikembalikan. Mengikut antara muka dan keperluan khusus, kami boleh membuat pengembangan dan pelarasan yang sepadan.
Ringkasan
Artikel ini memperkenalkan cara menggunakan bahasa Go untuk menyambung ke antara muka Awan Huawei, dan menyediakan kod sampel untuk menanyakan senarai ECS (Pelayan Awan Elastik). Melalui contoh ini, kita boleh belajar cara membina URL dan parameter permintaan, menghantar permintaan HTTP, menghuraikan data JSON yang dikembalikan dan langkah asas lain. Saya harap artikel ini dapat membantu pembangun yang menggunakan bahasa Go untuk membangunkan aplikasi Huawei Cloud. Jika anda mempunyai sebarang pertanyaan atau keraguan, sila tinggalkan mesej untuk perbincangan.
Atas ialah kandungan terperinci Ajar anda cara menggunakan bahasa Go untuk menyambung ke antara muka Huawei Cloud. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!