Azure Event Grid Namespaces-Clientbibliothek für JavaScript – Version 1.0.0
Azure Event Grid ist ein cloudbasierter Dienst, der eine zuverlässige Ereignisbereitstellung im großen Maßstab bietet.
Verwenden der Clientbibliothek zum Senden von Ereignissen an Event Grid-Namespaces
Wichtige Links:
Erste Schritte
Derzeit unterstützte Umgebungen
- LTS-Versionen von Node.js
- Neueste Versionen von Safari, Chrome, Edge und Firefox.
Weitere Informationen finden Sie in unserer Supportrichtlinie.
Voraussetzungen
- Ein Azure-Abonnement.
- Ein vorhandenes Ereignisraster Thema oder Domäne. Wenn Sie die Ressource erstellen müssen, können Sie das Azure Portal oder Azure CLIverwenden.
Wenn Sie die Azure CLI verwenden, ersetzen Sie <your-resource-group-name>
und <your-resource-name>
durch Ihre eigenen eindeutigen Namen:
Erstellen eines Ereignisrasterthemas
az eventgrid topic create --location <location> --resource-group <your-resource-group-name> --name <your-resource-name>
Erstellen einer Ereignisrasterdomäne
az eventgrid domain create --location <location> --resource-group <your-resource-group-name> --name <your-resource-name>
Installieren des @azure/eventgrid-namespaces
-Pakets
Installieren Sie die Azure Event Grid Namespaces-Clientbibliothek für JavaScript mit npm
:
npm install @azure/eventgrid-namespaces
Erstellen und Authentifizieren von Namespaceclients
Um ein Clientobjekt für den Zugriff auf die Event Grid Namespaces-API zu erstellen, benötigen Sie die endpoint
Ihres Ereignisrasterthemas und eines credential
. Die Event Grid-Namespaces-Clients können einen Zugriffstaste verwenden.
Sie finden den Endpunkt für Ihr Ereignisrasterthema entweder im Azure Portal oder mithilfe des folgenden Azure CLI Codeausschnitts:
az eventgrid topic show --name <your-resource-name> --resource-group <your-resource-group-name> --query "endpoint"
Verwenden einer Zugriffstaste
Verwenden Sie das Azure Portal-, um zu Ihrer Event Grid-Ressource zu navigieren und einen Zugriffsschlüssel abzurufen, oder verwenden Sie den folgenden Azure CLI- Codeausschnitt:
az eventgrid topic key list --resource-group <your-resource-group-name> --name <your-event-grid-topic-name>
Nachdem Sie über einen API-Schlüssel und einen Endpunkt verfügen, können Sie die AzureKeyCredential
Klasse verwenden, um den Client wie folgt zu authentifizieren:
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 bietet Integration in Azure Active Directory (Azure AD) für die identitätsbasierte Authentifizierung von Anforderungen. Mit Azure AD können Sie rollenbasierte Zugriffssteuerung (RBAC) verwenden, um Benutzern, Gruppen oder Anwendungen Zugriff auf Ihre Azure Event Grid-Ressourcen zu gewähren.
Zum Senden von Ereignissen an ein Thema oder eine Domäne mit einem TokenCredential
sollte die authentifizierte Identität die Rolle "EventGrid Data Sender" zugewiesen haben.
Mit dem @azure/identity
-Paket können Sie Anforderungen in Entwicklungs- und Produktionsumgebungen nahtlos autorisieren. Weitere Informationen zu Azure Active Directory finden Sie im @azure/identity
README-.
Verwenden Sie z. B. DefaultAzureCredential
, um einen Client zu erstellen, der sich mit Azure Active Directory authentifiziert:
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>"
);
Schlüsselkonzepte
Senden und Empfangen von Ereignissen
EventGridSenderClient
können zum Senden von Ereignissen an ein Ereignisraster verwendet werden. Sie können sie wie möglich initialisieren:
const eventGridSenderClient = new EventGridSenderClient(
"<endpoint>",
new AzureKeyCredential("<API Key>"),
"<topicName>"
);
EventGridReceiverClient
können zum Empfangen von Ereignissen aus einem Ereignisraster verwendet werden. Sie können sie wie möglich initialisieren:
const eventGridReceiverClient = new EventGridReceiverClient(
"<endpoint>",
new AzureKeyCredential("<API Key>"),
"<topicName>",
"<subscriptionName>"
);
Verteilte Ablaufverfolgung und Cloudereignisse
Diese Bibliothek unterstützt die verteilte Ablaufverfolgung mithilfe von @azure/core-tracing
. Bei Verwendung der verteilten Ablaufverfolgung erstellt diese Bibliothek während eines send
Vorgangs eine Spanne. Darüber hinaus fügt das SDK beim Senden von Ereignissen mithilfe des Cloud Events 1.0-Schemas verteilte Ablaufverfolgungsmetadaten zu den Ereignissen hinzu, indem die Erweiterung "Verteilte Ablaufverfolgung"verwendet wird. Die Werte für die traceparent
- und tracestate
Erweiterungseigenschaften entsprechen den traceparent
und tracestate
Headern aus der HTTP-Anforderung, die die Ereignisse sendet. Wenn ein Ereignis bereits über eine traceparent
Erweiterungseigenschaft verfügt, wird es nicht aktualisiert.
Ereignisraster auf Kubernetes
Diese Bibliothek wurde mit Azure Arc aufKubernetes getestet und überprüft.
Beispiele
Veröffentlichen eines Ereignisses in einem Ereignisrasterthema
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);
Fehlerbehebung
Protokollierung
Das Aktivieren der Protokollierung kann hilfreiche Informationen zu Fehlern aufdecken. Um ein Protokoll von HTTP-Anforderungen und -Antworten anzuzeigen, legen Sie die AZURE_LOG_LEVEL
Umgebungsvariable auf info
fest. Alternativ kann die Protokollierung zur Laufzeit durch Aufrufen von setLogLevel
im @azure/logger
aktiviert werden:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Ausführlichere Anweisungen zum Aktivieren der Protokolle finden Sie in den @azure/Logger-Paketdokumenten.
Nächste Schritte
Ausführliche Beispiele zur Verwendung dieser Bibliothek finden Sie in den Beispielen Verzeichnis.
Beitragend
Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie bitte den mitwirkenden Leitfaden, um mehr über das Erstellen und Testen des Codes zu erfahren.
Verwandte Projekte
Azure SDK for JavaScript