Guida introduttiva: Indirizzare gli eventi cache di Azure per Redis all'endpoint Web con l'interfaccia della riga di comando di Azure
Griglia di eventi di Azure è un servizio di gestione degli eventi per il cloud. In questa guida introduttiva si userà l'interfaccia della riga di comando di Azure per sottoscrivere cache di Azure per Redis eventi, attivare un evento e visualizzare i risultati.
In genere, si inviano eventi a un endpoint che elabora i dati dell'evento e intraprende azioni. Tuttavia, per semplificare questa guida introduttiva, si invieranno eventi a un'app Web che raccoglierà e visualizzerà i messaggi. Dopo aver completato i passaggi descritti in questa guida introduttiva, si noterà che i dati dell'evento sono stati inviati all'app Web.
Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
Azure Cloud Shell
Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice in questo articolo, senza dover installare alcun elemento nell'ambiente locale.
Per avviare Azure Cloud Shell:
Opzione | Esempio/Collegamento |
---|---|
Selezionare Prova nell'angolo superiore destro di un codice o di un blocco di comandi. Selezionando Prova non viene copiato automaticamente il codice o il comando in Cloud Shell. | |
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. | |
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. |
Per usare Azure Cloud Shell:
Avviare Cloud Shell.
Selezionare il pulsante Copia in un blocco di codice (o blocco di comandi) per copiare il codice o il comando.
Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux oppure selezionando CMD+MAIUSC+V in macOS.
Selezionare INVIO per eseguire il codice o il comando.
Se si sceglie di installare e usare l'interfaccia della riga di comando in locale, per questa guida introduttiva è necessario eseguire la versione più recente dell'interfaccia della riga di comando di Azure (2.0.70 o versione successiva). Per trovare la versione, eseguire az --version
. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.
Se non si usa Cloud Shell, prima è necessario accedere usando az login
.
Creare un gruppo di risorse
Gli argomenti di Griglia di eventi vengono distribuiti come singole risorse di Azure e devono essere sottoposti a provisioning in un gruppo di risorse di Azure. Un gruppo di risorse è una raccolta logica in cui vengono distribuite e gestite le risorse di Azure.
Creare un gruppo di risorse con il comando az group create.
L'esempio seguente crea un gruppo di risorse denominato <resource_group_name>
nella località westcentralus. Sostituire <resource_group_name>
con un nome univoco per il gruppo di risorse.
az group create --name <resource_group_name> --location westcentralus
Creare un'istanza della cache
#/bin/bash
# Create a Basic C0 (256 MB) Azure Cache for Redis instance
az redis create --name <cache_name> --resource-group <resource_group_name> --location westcentralus --sku Basic --vm-size C0
Creare un endpoint del messaggio
Prima di sottoscrivere l'argomento, creare l'endpoint per il messaggio dell'evento. L'endpoint richiede in genere azioni basate sui dati degli eventi. Per semplificare questa guida introduttiva, si distribuisce un'app Web preesistente che visualizza i messaggi di evento. La soluzione distribuita include un piano di servizio app, un'app Web del servizio app e codice sorgente da GitHub.
Sostituire <your-site-name>
con un nome univoco per l'app Web. Il nome dell'app Web deve essere univoco perché fa parte della voce DNS.
sitename=<your-site-name>
az deployment group create \
--resource-group <resource_group_name> \
--template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/main/azuredeploy.json" \
--parameters siteName=$sitename hostingPlanName=viewerhost
Per il completamento della distribuzione possono essere necessari alcuni minuti. Dopo il completamento della distribuzione, visualizzare l'app Web per assicurarsi che sia in esecuzione. In un Web browser passare a: https://<your-site-name>.azurewebsites.net
Il sito dovrebbe essere visibile senza messaggi attualmente visualizzati.
Abilitare il provider di risorse di Griglia di eventi
Se Griglia di eventi non è stato usato in precedenza 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.EventGrid
La registrazione può richiedere qualche secondo. Per controllare lo stato, eseguire il comando seguente:
az provider show --namespace Microsoft.EventGrid --query "registrationState"
Quando
registrationState
èRegistered
, è possibile continuare.
Sottoscrivere l'istanza di cache di Azure per Redis
In questo passaggio si sottoscriverà un argomento per indicare a Griglia di eventi gli eventi da tenere traccia e dove inviare tali eventi. L'esempio seguente sottoscrive l'istanza di cache di Azure per Redis creata e passa l'URL dall'app Web come endpoint per la notifica degli eventi. Sostituire <event_subscription_name>
con un nome per la sottoscrizione di eventi. Per <resource_group_name>
e <cache_name>
usare i valori creati in precedenza.
L'endpoint per l'app Web deve includere il suffisso /api/updates/
.
cacheId=$(az redis show --name <cache_name> --resource-group <resource_group_name> --query id --subscription <subscription_id> --output tsv)
endpoint=https://$sitename.azurewebsites.net/api/updates
az eventgrid event-subscription create \
--source-resource-id $cacheId \
--name <event_subscription_name> \
--endpoint $endpoint
Visualizzare nuovamente l'app Web e notare che all'app è stato inviato un evento di convalida della sottoscrizione. Selezionare l'icona a forma di occhio per espandere i dati dell'evento. Griglia di eventi invia l'evento di convalida in modo che l'endpoint possa verificare che voglia ricevere i dati dell'evento. L'app Web include il codice per la convalida della sottoscrizione.
Attivare un evento da cache di Azure per Redis
A questo punto, attivare un evento per vedere come la griglia di eventi distribuisce il messaggio nell'endpoint. Esportare i dati archiviati nell'istanza di cache di Azure per Redis. Anche in questo caso, usare i valori per {cache_name}
e {resource_group_name}
creati in precedenza.
az redis export --ids '/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}' \
--prefix '<prefix_for_exported_files>' \
--container '<SAS_url>'
È stato attivato l'evento e Griglia di eventi ha inviato il messaggio all'endpoint configurato al momento della sottoscrizione. Visualizzare l'app Web per vedere l'evento appena inviato.
[{
"id": "e1ceb52d-575c-4ce4-8056-115dec723cff",
"eventType": "Microsoft.Cache.ExportRDBCompleted",
"topic": "/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}",
"data": {
"name": "ExportRDBCompleted",
"timestamp": "2020-12-10T18:07:54.4937063+00:00",
"status": "Succeeded"
},
"subject": "ExportRDBCompleted",
"dataversion": "1.0",
"metadataVersion": "1",
"eventTime": "2020-12-10T18:07:54.4937063+00:00"
}]
Pulire le risorse
Se si prevede di continuare a usare questa cache di Azure per Redis istanza e sottoscrizione di eventi, non pulire le risorse create in questa guida introduttiva. Se non si prevede di continuare, usare il comando seguente per eliminare le risorse create in questa guida introduttiva.
Sostituire <resource_group_name>
con il gruppo di risorse creato in precedenza.
az group delete --name <resource_group_name>
Passaggi successivi
Ora che si è appreso come creare argomenti e sottoscrizioni di eventi, altre informazioni su eventi cache di Azure per Redis e su cosa può essere utile in Griglia di eventi: