Delen via


Azure Event Grid-clientbibliotheek voor naamruimten voor JavaScript - versie 1.0.0

Azure Event Grid- is een cloudservice die betrouwbare levering van gebeurtenissen op grote schaal biedt.

De clientbibliotheek gebruiken om gebeurtenissen te verzenden naar Event Grid-naamruimten

Sleutelkoppelingen:

Slag

Momenteel ondersteunde omgevingen

Zie ons ondersteuningsbeleid voor meer informatie.

Voorwaarden

Als u de Azure CLI gebruikt, vervangt u <your-resource-group-name> en <your-resource-name> door uw eigen unieke namen:

Een Event Grid-onderwerp maken

az eventgrid topic create --location <location> --resource-group <your-resource-group-name> --name <your-resource-name>

Een Event Grid-domein maken

az eventgrid domain create --location <location> --resource-group <your-resource-group-name> --name <your-resource-name>

Het @azure/eventgrid-namespaces-pakket installeren

Installeer de Azure Event Grid-clientbibliotheek voor Naamruimten voor JavaScript met npm:

npm install @azure/eventgrid-namespaces

Naamruimteclients maken en verifiëren

Als u een clientobject wilt maken voor toegang tot de Event Grid-naamruimten-API, hebt u de endpoint van uw Event Grid-onderwerp en een credentialnodig. De Event Grid-naamruimtenclients kunnen een toegangssleutel gebruiken.

U vindt het eindpunt voor uw Event Grid-onderwerp in de Azure Portal of met behulp van het Azure CLI-fragment hieronder:

az eventgrid topic show --name <your-resource-name> --resource-group <your-resource-group-name> --query "endpoint"

Een toegangssleutel gebruiken

Gebruik de Azure Portal om naar uw Event Grid-resource te bladeren en een toegangssleutel op te halen, of gebruik het Azure CLI codefragment hieronder:

az eventgrid topic key list --resource-group <your-resource-group-name> --name <your-event-grid-topic-name>

Zodra u een API-sleutel en -eindpunt hebt, kunt u de AzureKeyCredential-klasse gebruiken om de client als volgt te verifiëren:

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 biedt integratie met Azure Active Directory (Azure AD) voor verificatie op basis van identiteiten van aanvragen. Met Azure AD kunt u op rollen gebaseerd toegangsbeheer (RBAC) gebruiken om toegang te verlenen tot uw Azure Event Grid-resources aan gebruikers, groepen of toepassingen.

Als u gebeurtenissen wilt verzenden naar een onderwerp of domein met een TokenCredential, moet aan de geverifieerde identiteit de rol EventGrid-gegevenszender zijn toegewezen.

Met het @azure/identity-pakket kunt u aanvragen naadloos autoriseren in zowel ontwikkel- als productieomgevingen. Zie de @azure/identity README-voor meer informatie over Azure Active Directory.

Gebruik bijvoorbeeld DefaultAzureCredential om een client te maken die wordt geverifieerd met behulp van 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>"
);

Sleutelbegrippen

Gebeurtenissen verzenden en ontvangen

EventGridSenderClient kan worden gebruikt voor het verzenden van gebeurtenissen naar een Event Grid. U kunt deze initialiseren als:

const eventGridSenderClient = new EventGridSenderClient(
  "<endpoint>",
  new AzureKeyCredential("<API Key>"),
  "<topicName>"
);

EventGridReceiverClient kan worden gebruikt voor het ontvangen van gebeurtenissen van een Event Grid. U kunt deze initialiseren als:

const eventGridReceiverClient = new EventGridReceiverClient(
  "<endpoint>",
  new AzureKeyCredential("<API Key>"),
  "<topicName>",
  "<subscriptionName>"
);

Gedistribueerde tracering en cloudgebeurtenissen

Deze bibliotheek ondersteunt gedistribueerde tracering met behulp van @azure/core-tracing. Wanneer u gedistribueerde tracering gebruikt, maakt deze bibliotheek een periode tijdens een send bewerking. Bovendien voegt de SDK bij het verzenden van gebeurtenissen met behulp van het schema cloudgebeurtenissen 1.0 gedistribueerde traceringsmetagegevens toe aan de gebeurtenissen met behulp van de extensie gedistribueerde tracering. De waarden voor de eigenschappen van de traceparent en tracestate-extensie komen overeen met de traceparent en tracestate headers van de HTTP-aanvraag die de gebeurtenissen verzendt. Als een gebeurtenis al een traceparent extensie-eigenschap heeft, wordt deze niet bijgewerkt.

Event Grid in Kubernetes

Deze bibliotheek is getest en gevalideerd op Kubernetes met behulp van Azure Arc.

Voorbeelden

Een gebeurtenis publiceren naar een Event Grid-onderwerp

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);

Probleemoplossing

Logboekregistratie

Het inschakelen van logboekregistratie kan helpen nuttige informatie over fouten te ontdekken. Als u een logboek met HTTP-aanvragen en -antwoorden wilt zien, stelt u de omgevingsvariabele AZURE_LOG_LEVEL in op info. U kunt logboekregistratie ook tijdens runtime inschakelen door setLogLevel aan te roepen in de @azure/logger:

const { setLogLevel } = require("@azure/logger");

setLogLevel("info");

Voor meer gedetailleerde instructies over het inschakelen van de logboeken, kunt u de @azure/logger pakketdocumentenbekijken.

Volgende stappen

Bekijk de voorbeelden map voor gedetailleerde voorbeelden over het gebruik van deze bibliotheek.

Bijdragen

Als u een bijdrage wilt leveren aan deze bibliotheek, leest u de gids voor bijdragen voor meer informatie over het bouwen en testen van de code.

indrukken