Dela via


Klientbibliotek för Azure Event Grid-namnområden för JavaScript – version 1.0.0

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

Mer information finns i vår supportprincip.

Förutsättningar

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.

visningar