Libreria client degli spazi dei nomi di Griglia di eventi di Azure per JavaScript - versione 1.0.0
griglia di eventi di Azure è un servizio basato sul cloud che offre una distribuzione affidabile di eventi su larga scala.
Usare la libreria client per inviare eventi agli spazi dei nomi di Griglia di eventi
Collegamenti chiave:
- codice sorgente
- del pacchetto
- documentazione di riferimento dell'API
- documentazione del prodotto
- esempi di
Introduttiva
Ambienti attualmente supportati
- versioni LTS di Node.js
- Versioni più recenti di Safari, Chrome, Edge e Firefox.
Per altri dettagli, vedere i criteri di supporto .
Prerequisiti
- Una sottoscrizione di Azure .
- Oggetto griglia di eventi esistente argomento o dominio. Se è necessario creare la risorsa, è possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure.
Se si usa l'interfaccia della riga di comando di Azure, sostituire <your-resource-group-name>
e <your-resource-name>
con i propri nomi univoci:
Creare un argomento di Griglia di eventi
az eventgrid topic create --location <location> --resource-group <your-resource-group-name> --name <your-resource-name>
Creare un dominio di Griglia di eventi
az eventgrid domain create --location <location> --resource-group <your-resource-group-name> --name <your-resource-name>
Installare il pacchetto @azure/eventgrid-namespaces
Installare la libreria client degli spazi dei nomi di Griglia di eventi di Azure per JavaScript con npm
:
npm install @azure/eventgrid-namespaces
Creare ed autenticare i client dello spazio dei nomi
Per creare un oggetto client per accedere all'API Spazi dei nomi di Griglia di eventi, è necessario il endpoint
dell'argomento di Griglia di eventi e un credential
. I client di Spazi dei nomi di Griglia di eventi possono usare una chiave di accesso.
È possibile trovare l'endpoint per l'argomento di Griglia di eventi nel del portale di Azure o usando il frammento di codice dell'interfaccia della riga di comando di Azure seguente:
az eventgrid topic show --name <your-resource-name> --resource-group <your-resource-group-name> --query "endpoint"
Uso di una chiave di accesso
Usare il del portale di Azure per passare alla risorsa di Griglia di eventi e recuperare una chiave di accesso oppure usare il frammento di codice dell'interfaccia della riga di comando di Azure seguente:
az eventgrid topic key list --resource-group <your-resource-group-name> --name <your-event-grid-topic-name>
Dopo aver creato una chiave API e un endpoint, è possibile usare la classe AzureKeyCredential
per autenticare il client come indicato di seguito:
const { EventGridSenderClient, EventGridReceiverClient, AzureKeyCredential } = require("@azure/eventgrid-namespaces");
const eventGridSenderClient = new EventGridSenderClient(
"<endpoint>",
new AzureKeyCredential("<Access Key>")
);
const eventGridReceiverClient = new EventGridReceiverClient(
"<endpoint>",
new AzureKeyCredential("<Access Key>")
);
Azure EventGrid offre l'integrazione con Azure Active Directory (Azure AD) per l'autenticazione basata su identità delle richieste. Con Azure AD è possibile usare il controllo degli accessi in base al ruolo per concedere l'accesso alle risorse di Griglia di eventi di Azure a utenti, gruppi o applicazioni.
Per inviare eventi a un argomento o a un dominio con un TokenCredential
, all'identità autenticata deve essere assegnato il ruolo "Mittente dati EventGrid".
Con il pacchetto @azure/identity
, è possibile autorizzare facilmente le richieste in ambienti di sviluppo e produzione. Per altre informazioni su Azure Active Directory, vedere @azure/identity
README.
Ad esempio, è possibile usare DefaultAzureCredential
per costruire un client che eseguirà l'autenticazione con Azure Active Directory:
const { EventGridSenderClient, EventGridReceiverClient } = require("@azure/eventgrid-namespaces");
const { DefaultAzureCredential } = require("@azure/identity");
const eventGridSenderClient = new EventGridSenderClient(
"<endpoint>",
new DefaultAzureCredential(),
"<topicName>"
);
const eventGridReceiverClient = new EventGridReceiverClient(
"<endpoint>",
new DefaultAzureCredential(),
"<topicName>",
"<subscriptionName>"
);
Concetti chiave
Invio e ricezione di eventi
EventGridSenderClient
può essere usato per l'invio di eventi a una Griglia di eventi. È possibile inizializzarlo come:
const eventGridSenderClient = new EventGridSenderClient(
"<endpoint>",
new AzureKeyCredential("<API Key>"),
"<topicName>"
);
EventGridReceiverClient
può essere usato per ricevere eventi da griglia di eventi. È possibile inizializzarlo come:
const eventGridReceiverClient = new EventGridReceiverClient(
"<endpoint>",
new AzureKeyCredential("<API Key>"),
"<topicName>",
"<subscriptionName>"
);
Eventi cloud e traccia distribuita
Questa libreria supporta la traccia distribuita usando @azure/core-tracing
. Quando si usa la traccia distribuita, questa libreria creerà un intervallo durante un'operazione di send
. Inoltre, quando si inviano eventi usando lo schema Eventi cloud 1.0, l'SDK aggiungerà metadati di traccia distribuiti agli eventi usando l'estensione di traccia distribuita . I valori per le proprietà dell'estensione traceparent
e tracestate
corrispondono alle intestazioni traceparent
e tracestate
dalla richiesta HTTP che invia gli eventi. Se un evento ha già una proprietà di estensione traceparent
non viene aggiornata.
Griglia di eventi in Kubernetes
Questa libreria è stata testata e convalidata in Kubernetes usando Azure Arc.
Esempi
Pubblicare un evento in un argomento di Griglia di eventi
const { EventGridSenderClient, AzureKeyCredential } = require("@azure/eventgrid-namespaces");
const client = new EventGridSenderClient(
"<endpoint>",
new AzureKeyCredential("<API key>"),
"<topicName>"
);
const cloudEvent: CloudEvent = {
type: "example",
source: "https://example.com",
id: `singleEventIdV210001`,
time: new Date(),
data: {
resourceUri: "https://dummyurl.com",
},
specversion: "1.0",
};
// Publish the Cloud Event
await client.sendEvents(cloudEvent);
Risoluzione dei problemi
Registrazione
L'abilitazione della registrazione può aiutare a individuare informazioni utili sugli errori. Per visualizzare un log di richieste e risposte HTTP, impostare la variabile di ambiente AZURE_LOG_LEVEL
su info
. In alternativa, la registrazione può essere abilitata in fase di esecuzione chiamando setLogLevel
nel @azure/logger
:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Per istruzioni più dettagliate su come abilitare i log, è possibile esaminare la documentazione del pacchetto @azure/logger.
Passaggi successivi
Per esempi dettagliati su come usare questa libreria, vedere gli esempi di directory.
Contribuire
Per contribuire a questa libreria, leggere la guida contribuire per altre informazioni su come compilare e testare il codice.
Progetti correlati
Azure SDK for JavaScript