Eventi
17 mar, 21 - 21 mar, 10
Partecipa alla serie meetup per creare soluzioni di intelligenza artificiale scalabili basate su casi d'uso reali con altri sviluppatori ed esperti.
Esegui registrazioneQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare le funzionalità più recenti, gli aggiornamenti della sicurezza e il supporto tecnico.
Come illustrato nell'articolo Che cos'è Azure SDK per Go?, Azure SDK per Go contiene un set di librerie client e di gestione. Le librerie di gestione condividono molte funzionalità, ad esempio il supporto di Identità di Azure, la pipeline HTTP e la gestione degli errori. È possibile trovare l'elenco completo delle librerie di gestione nella pagina del modulo Azure SDK for Go.
Questo articolo illustra i passaggi di base di come usare le librerie di gestione per interagire con le risorse di Azure.
Nella maggior parte dei progetti si installano i pacchetti Go per la gestione delle versioni e delle dipendenze.
Per installare un pacchetto Go, usare il go get
comando .
Ad esempio, per installare il armcompute
pacchetto, eseguire quanto segue nella riga di comando:
go get github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute
Nella maggior parte delle app Go vengono installati i pacchetti seguenti per l'autenticazione:
Dopo il download, il pacchetto viene importato nell'app tramite l'istruzione import
:
import (
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute"
)
Per eseguire il codice in una sottoscrizione di Azure, è necessario eseguire l'autenticazione in Azure. Il pacchetto azidentity supporta più opzioni per l'autenticazione in Azure. Queste opzioni includono client/segreto, certificato e identità gestita.
L'opzione di autenticazione predefinita è DefaultAzureCredential, che usa le variabili di ambiente impostate in precedenza in questo articolo. Nel codice Go si crea un azidentity
oggetto come indicato di seguito:
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
// handle error
}
Dopo aver ottenuto credenziali da Identità di Azure, creare un client per connettersi al servizio di Azure di destinazione.
Si supponga, ad esempio, di volersi connettere al servizio di calcolo di Azure. Il pacchetto di calcolo è costituito da uno o più client. Un client raggruppa un set di API correlate, fornendo l'accesso alla relativa funzionalità all'interno della sottoscrizione specificata. Creare uno o più client per accedere alle API necessarie.
Nel frammento di codice seguente, armcompute . Il tipo NewVirtualMachinesClient viene usato per creare un client per gestire le macchine virtuali:
client, err := armcompute.NewVirtualMachinesClient("<subscription ID>", cred, nil)
if err != nil {
// handle error
}
Lo stesso modello viene usato per connettersi ad altri servizi di Azure. Ad esempio, installare il pacchetto armnetwork e creare un client di rete virtuale per gestire le risorse della rete virtuale.
client, err := armnetwork.NewVirtualNetworksClient("<subscription ID>", cred, nil)
if err != nil {
// handle error
}
Esempio di codice:
package main
import (
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute"
)
func main() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
// handle error
}
client, err := armcompute.NewVirtualMachinesClient("SubID", cred, nil)
if err != nil {
// handle error
}
}
Una volta creata un'istanza, i client vengono usati per effettuare chiamate API alle risorse di Azure. Per gli scenari di gestione delle risorse, la maggior parte dei casi d'uso sono operazioni CRUD (Creazione/Lettura/Aggiornamento/Eliminazione).
Per cercare le operazioni per un tipo specifico, seguire questa procedura:
È anche possibile compilare manualmente l'URL aggiungendo il nome del pacchetto a github.com/Azure/azure-sdk-for-go/sdk/
.
Ad esempio, se si sta cercando la compute/armcompute
documentazione di riferimento, l'URL è github.com/Azure/azure-sdk-for-go/sdk/compute/armcompute
.
L'esempio seguente illustra come trovare la documentazione di riferimento per le operazioni del gruppo di risorse di Azure:
resourcemanager/resources/armresources
. Quando si digita il termine di ricerca, viene visualizzata una corrispondenza di chiusura con il pacchetto resources/armresources .Poiché alcune operazioni possono richiedere molto tempo, le librerie di gestione contengono funzioni per supportare operazioni a esecuzione prolungata (LRO) tramite chiamate asincrone. Questi nomi di funzione iniziano con Begin
. Esempi di questo modello sono BeginCreate
e BeginDelete
.
Poiché queste funzioni sono asincrone, il codice non si blocca finché la funzione non termina l'attività. La funzione restituisce invece immediatamente un oggetto poller . Il codice chiama quindi una funzione poller sincrona che restituisce quando viene completata la funzione asincrona originale.
Il frammento di codice seguente illustra un esempio di questo modello.
ctx := context.Background()
// Call an asynchronous function to create a client. The return value is a poller object.
poller, err := client.BeginCreate(ctx, "resource_identifier", "additional_parameter")
if err != nil {
// handle error...
}
// Call the poller object's PollUntilDone function that will block until the poller object
// has been updated to indicate the task has completed.
resp, err = poller.PollUntilDone(ctx, nil)
if err != nil {
// handle error...
}
// Print the fact that the LRO completed.
fmt.Printf("LRO done")
// Work with the response ("resp") object.
Punti principali:
PollUntilDone
funzione richiede un intervallo di polling che specifica la frequenza con cui deve tentare di ottenere lo stato.Eventi
17 mar, 21 - 21 mar, 10
Partecipa alla serie meetup per creare soluzioni di intelligenza artificiale scalabili basate su casi d'uso reali con altri sviluppatori ed esperti.
Esegui registrazioneTraining
Percorso di apprendimento
Muovere i primi passi con Go - Training
Si vuole imparare a usare un linguaggio di programmazione ma non si sa da dove iniziare? Questo è il punto di partenza ideale. Verranno fornite informazioni sulla sintassi di base e sui processi mentali da seguire per creare programmi semplici con Go.
Certificazione
Microsoft Certified: Azure Developer Associate - Certifications
Progettare soluzioni end-to-end in Microsoft Azure per creare Funzioni di Azure, implementare e gestire app Web, sviluppare soluzioni che usano Archiviazione di Azure e altro ancora.