Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Event Grid är en molnbaserad tjänst som tillhandahåller tillförlitlig händelseleverans i stor skala.
Använd klientbiblioteket för att skicka händelser till Event Grid-namnområden
Nyckellänkar:
Komma igång
Miljöer som stöds för närvarande
- LTS-versioner av Node.js
- De senaste versionerna av Safari, Chrome, Edge och Firefox.
Mer information finns i vår supportprincip.
Förutsättningar
- En Azure-prenumeration.
- Ett befintligt Event Grid ämne eller domän. Om du behöver skapa resursen kan du använda Azure Portal eller Azure CLI-.
Om du använder Azure CLI ersätter du <your-resource-group-name> och <your-resource-name> med dina egna unika namn:
Skapa ett Event Grid-ämne
az eventgrid topic create --location <location> --resource-group <your-resource-group-name> --name <your-resource-name>
Skapa en Event Grid-domän
az eventgrid domain create --location <location> --resource-group <your-resource-group-name> --name <your-resource-name>
Installera @azure/eventgrid-namespaces-paketet
Installera Klientbiblioteket för Azure Event Grid-namnområden för JavaScript med npm:
npm install @azure/eventgrid-namespaces
Skapa och autentisera namnområdesklienter
Om du vill skapa ett klientobjekt för att komma åt Event Grid-namnrymds-API:et behöver du endpoint för event grid-ämnet och en credential. Event Grid-namnrymdsklienter kan använda en åtkomstnyckel.
Du hittar slutpunkten för ditt Event Grid-ämne antingen i Azure-portalen eller med hjälp av Azure CLI--kodfragmentet nedan:
az eventgrid topic show --name <your-resource-name> --resource-group <your-resource-group-name> --query "endpoint"
Använda en åtkomstnyckel
Använd Azure Portal- för att bläddra till din Event Grid-resurs och hämta en åtkomstnyckel, eller använd Azure CLI--kodfragmentet nedan:
az eventgrid topic key list --resource-group <your-resource-group-name> --name <your-event-grid-topic-name>
När du har en API-nyckel och slutpunkt kan du använda klassen AzureKeyCredential för att autentisera klienten på följande sätt:
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 tillhandahåller integrering med Azure Active Directory (Azure AD) för identitetsbaserad autentisering av begäranden. Med Azure AD kan du använda rollbaserad åtkomstkontroll (RBAC) för att ge åtkomst till dina Azure Event Grid-resurser till användare, grupper eller program.
Om du vill skicka händelser till ett ämne eller en domän med en TokenCredentialska den autentiserade identiteten ha rollen "EventGrid Data Sender" tilldelad.
Med @azure/identity-paketet kan du smidigt auktorisera begäranden i både utvecklings- och produktionsmiljöer. Mer information om Azure Active Directory finns i @azure/identity README-.
Du kan till exempel använda DefaultAzureCredential för att konstruera en klient som ska autentisera med Hjälp av 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>"
);
Viktiga begrepp
Skicka och ta emot händelser
EventGridSenderClient kan användas för att skicka händelser till ett Event Grid. Du kan initiera det som:
const eventGridSenderClient = new EventGridSenderClient(
"<endpoint>",
new AzureKeyCredential("<API Key>"),
"<topicName>"
);
EventGridReceiverClient kan användas för att ta emot händelser från ett Event Grid. Du kan initiera det som:
const eventGridReceiverClient = new EventGridReceiverClient(
"<endpoint>",
new AzureKeyCredential("<API Key>"),
"<topicName>",
"<subscriptionName>"
);
Distribuerade spårnings- och molnhändelser
Det här biblioteket stöder distribuerad spårning med hjälp av @azure/core-tracing. När du använder distribuerad spårning skapar det här biblioteket ett intervall under en send åtgärd. När du skickar händelser med cloud events 1.0-schemat lägger SDK dessutom till distribuerade spårningsmetadata till händelserna med hjälp av tillägget distribuerad spårning. Värdena för traceparent- och tracestate-tilläggsegenskaperna motsvarar traceparent- och tracestate-huvudena från HTTP-begäran som skickar händelserna. Om en händelse redan har en traceparent tilläggsegenskap uppdateras den inte.
Event Grid på Kubernetes
Det här biblioteket har testats och verifierats på Kubernetes med hjälp av Azure Arc.
Exempel
Publicera en händelse till ett Event Grid-ämne
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);
Felsökning
Skogsavverkning
Aktivering av loggning kan hjälpa dig att hitta användbar information om fel. Om du vill se en logg med HTTP-begäranden och svar anger du AZURE_LOG_LEVEL miljövariabeln till info. Du kan också aktivera loggning vid körning genom att anropa setLogLevel i @azure/logger:
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Mer detaljerade anvisningar om hur du aktiverar loggarna finns i @azure/logger-paketdokumenten.
Nästa steg
Ta en titt på exempel katalog för detaljerade exempel på hur du använder det här biblioteket.
Bidragande
Om du vill bidra till det här biblioteket kan du läsa bidragsguide för att lära dig mer om hur du skapar och testar koden.
Relaterade projekt
Azure SDK for JavaScript