Rumah >pembangunan bahagian belakang >Golang >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

WBOY
WBOYasal
2023-07-06 09:34:441192semak imbas

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.

  1. Daftar akaun Huawei Cloud dan aktifkan perkhidmatan yang sepadan
    Jika anda belum mempunyai akaun Huawei Cloud, anda perlu mendaftar akaun dan log masuk dahulu. Selepas log masuk, aktifkan perkhidmatan yang sepadan mengikut keperluan anda, seperti ECS (Elastic Cloud Server), OBS (Object Storage Service), dsb.
  2. Buat Kunci API
    Untuk menggunakan antara muka API Huawei Cloud, kita perlu mencipta kunci API. Dalam Konsol Awan Huawei, masukkan halaman "Kredential Saya", klik butang "Buat Kunci Baharu", dan ikut gesaan untuk menjana pasangan kunci (Kunci Akses dan Kunci Rahsia).
  3. Pasang persekitaran bahasa Go
    Sebelum kita mula menulis kod, kita perlu memasang persekitaran bahasa Go. Anda boleh memuat turun dan memasang versi bahasa Go yang sesuai daripada tapak web rasmi Go (https://golang.org).

2. Langkah asas untuk menggunakan bahasa Go untuk menyambung ke antara muka Awan Huawei

  1. 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"
    )
  2. 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.

  3. 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.

  4. 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn