Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa guida introduttiva si usa l'interfaccia della riga di comando di Azure per creare un argomento personalizzato di Griglia di eventi e una sottoscrizione di Archiviazione code per tale argomento. Si inviano quindi eventi di esempio all'argomento personalizzato e si verifica che tali eventi vengano recapitati a una coda.
Griglia di eventi di Azure è un gestore eventi serverless e altamente scalabile che è possibile usare per integrare le applicazioni tramite eventi. Griglia di eventi recapita gli eventi ai gestori eventi supportati, ad esempio Archiviazione code di Azure. Per altre informazioni, vedere Gestori eventi.
Se non si ha un account Azure, creare un account gratuito prima di iniziare.
Creare un gruppo di risorse
Gli argomenti di Griglia di eventi sono risorse di Azure. Inserirli in un gruppo di risorse di Azure. Il gruppo di risorse è una raccolta logica in cui le risorse di Azure vengono distribuite e gestite.
Creare un gruppo di risorse con il comando az group create. L'esempio seguente consente di creare un gruppo di risorse denominato gridResourceGroup nell'area westus2.
Selezionare Apri Cloud Shell per aprire Azure Cloud Shell nel riquadro destro. Selezionare il pulsante Copia per copiare il comando, incollarlo in Cloud Shell e quindi selezionare il tasto INVIO per eseguire il comando.
az group create --name gridResourceGroup --location westus2
Abilitare il provider di risorse di Griglia di eventi
Se è la prima volta che si usa Griglia di eventi nella sottoscrizione di Azure, potrebbe essere necessario registrare il provider di risorse di Griglia di eventi. Eseguire il comando seguente per registrare il provider:
az provider register --namespace Microsoft.EventGridLa registrazione può richiedere qualche secondo. Eseguire il comando seguente per verificare lo stato:
az provider show --namespace Microsoft.EventGrid --query "registrationState"Quando
registrationStateèRegistered, è possibile continuare.
Creare un argomento personalizzato
Un argomento di Griglia di eventi fornisce un endpoint definito dall'utente in cui vengono pubblicati gli eventi. L'esempio seguente crea l'argomento personalizzato nel gruppo di risorse.
Sostituire <TOPIC NAME> con un nome univoco per l'argomento personalizzato. Il nome dell'argomento Griglia di eventi deve essere univoco perché è rappresentato da una voce di Domain Name System (DNS).
Specificare un nome per l'argomento:
topicname="<TOPIC NAME>"Eseguire il comando seguente per creare l'argomento:
az eventgrid topic create --name $topicname --location westus2 --resource-group gridResourceGroup
Creare una coda
Prima di sottoscrivere l'argomento personalizzato, creare l'endpoint per il messaggio di evento. Si crea una coda per la raccolta degli eventi.
Specificare un nome univoco per l'account di archiviazione di Azure:
storagename="<STORAGE ACCOUNT NAME>"Eseguire i comandi seguenti per creare un account di archiviazione e una coda (denominata
eventqueue) nella risorsa di archiviazione:queuename="eventqueue" az storage account create --name $storagename --resource-group gridResourceGroup --location westus2 --sku Standard_LRS key="$(az storage account keys list --account-name $storagename --query "[0].{value:value}" --output tsv)" az storage queue create --name $queuename --account-name $storagename --account-key $key
Sottoscrivere un argomento personalizzato
Nell'esempio seguente viene sottoscritto l'argomento personalizzato creato. Passa l'ID risorsa della coda per l'endpoint. Con l'interfaccia della riga di comando di Azure si passa l'ID della coda come endpoint. L'endpoint è in questo formato:
/subscriptions/<AZURE SUBSCRIPTION ID>/resourcegroups/<RESOURCE GROUP NAME>/providers/Microsoft.Storage/storageAccounts/<STORAGE ACCOUNT NAME>/queueservices/default/queues/<QUEUE NAME>
Lo script seguente ottiene l'ID risorsa dell'account di archiviazione per la coda. Costruisce l'ID coda e sottoscrive un argomento di Griglia di eventi. Imposta il tipo di endpoint su storagequeue e usa l'ID coda per l'endpoint.
Prima di eseguire il comando, sostituire il segnaposto per la data di scadenza (<yyyy-mm-dd>) con un valore effettivo per l'anno, il mese e il giorno.
storageid=$(az storage account show --name $storagename --resource-group gridResourceGroup --query id --output tsv)
queueid="$storageid/queueservices/default/queues/$queuename"
topicid=$(az eventgrid topic show --name $topicname --resource-group gridResourceGroup --query id --output tsv)
az eventgrid event-subscription create \
--source-resource-id $topicid \
--name mystoragequeuesubscription \
--endpoint-type storagequeue \
--endpoint $queueid \
--expiration-date "<yyyy-mm-dd>"
L'account che crea la sottoscrizione di eventi deve avere accesso in scrittura alla coda. Viene impostata una data di scadenza per la sottoscrizione.
Se si usa l'API REST per creare la sottoscrizione, passare l'ID dell'account di archiviazione e il nome della coda come parametro separato:
"destination": {
"endpointType": "storagequeue",
"properties": {
"queueName":"eventqueue",
"resourceId": "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-name>"
}
...
Inviare un evento all'argomento personalizzato
Attivare un evento per vedere come Griglia di eventi distribuisce il messaggio nell'endpoint. Ottenere prima di tutto l'URL e la chiave per l'argomento personalizzato:
endpoint=$(az eventgrid topic show --name $topicname --resource-group gridResourceGroup --query "endpoint" --output tsv)
key=$(az eventgrid topic key list --name $topicname --resource-group gridResourceGroup --query "key1" --output tsv)
Per semplicità, questo articolo usa i dati degli eventi di esempio da inviare all'argomento personalizzato. In genere, i dati dell'evento vengono inviati da un'applicazione o un servizio di Azure.
Lo strumento cURL invia richieste HTTP. In questo articolo viene usato cURL per inviare l'evento all'argomento personalizzato. L'esempio seguente invia tre eventi all'argomento della griglia di eventi:
for i in 1 2 3
do
event='[ {"id": "'"$RANDOM"'", "eventType": "recordInserted", "subject": "myapp/vehicles/motorcycles", "eventTime": "'`date +%Y-%m-%dT%H:%M:%S%z`'", "data":{ "make": "Ducati", "model": "Monster"},"dataVersion": "1.0"} ]'
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
done
Passare alla coda nel portale di Azure e notare che Griglia di eventi ha inviato questi tre eventi alla coda.
Pulire le risorse
Se prevedi di continuare a lavorare con questo evento, non rimuovere le risorse create in questo articolo. In caso contrario, usare il comando seguente per eliminare le risorse:
az group delete --name gridResourceGroup
Contenuti correlati
Ora che si è appreso come creare argomenti e sottoscrizioni di eventi, è possibile approfondire le operazioni possibili con la griglia di eventi:
- Informazioni sulla griglia di eventi
- Indirizzare gli eventi di Archiviazione BLOB di Azure a un endpoint Web personalizzato
- Monitorare le modifiche alla macchina virtuale con la griglia di eventi di Azure e le app per la logica
- Eseguire la migrazione dei dati acquisiti dagli Event Hubs dall'Archiviazione di Azure ad Azure Synapse Analytics
Per informazioni sulla pubblicazione e l'utilizzo di eventi in Griglia di eventi usando vari linguaggi di programmazione, vedere gli esempi seguenti: