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 ger tillförlitlig händelseleverans i massiv skala.

Använda 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 <your-resource-group-name> du 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 få åtkomst till Event Grid-namnrymds-API:et endpoint behöver du avsnittet Event Grid och ett credential. Event Grid-namnrymdsklienter kan använda en åtkomstnyckel.

Du hittar slutpunkten för event grid-ämnet 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-portalen 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 AzureKeyCredential klassen 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 paketet @azure/identity 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 skapa 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 .@azure/core-tracing När du använder distribuerad spårning skapar det här biblioteket ett spann 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 egenskaperna och tracestate tillägget 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

Loggning

Aktivering av loggning kan hjälpa dig att hitta användbar information om fel. Om du vill se en logg över 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-/loggningspaketdokumenten.

Nästa steg

Ta en titt på exempelkatalogen för detaljerade exempel på hur du använder det här biblioteket.

Bidra

Om du vill bidra till det här biblioteket kan du läsa bidragsguiden för att lära dig mer om hur du skapar och testar koden.

Visningar