Delen via


Azure Event Grid naamruimten-clientbibliotheek voor JavaScript - versie 1.0.0-beta.2

Azure Event Grid is een cloudservice die betrouwbare gebeurtenislevering op grote schaal biedt.

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

Belangrijke koppelingen:

Aan de slag

Momenteel ondersteunde omgevingen

Zie ons ondersteuningsbeleid voor meer informatie.

Vereisten

Als u de Azure CLI gebruikt, vervangt u en <your-resource-name> door <your-resource-group-name> 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 Creatie

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

Installeer het pakket @azure/eventgrid-namespaces

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

npm install @azure/eventgrid-namespaces

Creatie en verifieer eenEventGridNamespacesClient

Als u een clientobject wilt maken voor toegang tot de Api voor Event Grid-naamruimten, hebt u de endpoint van uw Event Grid-onderwerp en een credentialnodig. De Event Grid-client kan 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 onderstaande Azure CLI-fragment :

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 als volgt gebruiken om de client te verifiëren:

const { EventGridClient, AzureKeyCredential } = require("@azure/eventgrid-namespaces");

const client = new EventGridClient(
  "<endpoint>",
  new AzureKeyCredential("<Access Key>")
);

Azure EventGrid biedt integratie met Azure Active Directory (Azure AD) voor verificatie op basis van identiteit 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 leesmij@azure/identity voor meer informatie over Azure Active Directory.

Gebruik bijvoorbeeld om DefaultAzureCredential een client te maken die wordt geverifieerd met behulp van Azure Active Directory:

const { EventGridClient } = require("@azure/eventgrid-namespaces");
const { DefaultAzureCredential } = require("@azure/identity");

const client = new EventGridClient(
  "<endpoint>",
  new DefaultAzureCredential()
);

Belangrijkste concepten

EventGridNamespacesClient

EventGridNamespacesClient wordt gebruikt voor het verzenden van gebeurtenissen naar een Event Grid. U kunt deze initialiseren als:

const client = new EventGridClient(
  "<endpoint>",
  new AzureKeyCredential("<API Key>")
);

Gedistribueerde tracering en cloudgebeurtenissen

Deze bibliotheek ondersteunt gedistribueerde tracering met behulp van @azure/core-tracing. Wanneer u gedistribueerde tracering gebruikt, maakt deze bibliotheek een bereik tijdens een send bewerking. Bij het verzenden van gebeurtenissen met behulp van het Cloud Events 1.0-schema voegt de SDK bovendien metagegevens voor gedistribueerde tracering toe aan de gebeurtenissen met behulp van de extensie Distributed Tracing. De waarden voor de traceparent extensie-eigenschappen en tracestate komen overeen met de traceparent headers en tracestate van de HTTP-aanvraag waarmee de gebeurtenissen worden verzonden. 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 { EventGridClient, AzureKeyCredential } = require("@azure/eventgrid-namespaces");

const client = new EventGridClient(
  "<endpoint>",
  new AzureKeyCredential("<API key>")
);

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.publishCloudEvent(cloudEvent, topicName);

Problemen oplossen

Logboekregistratie

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

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

setLogLevel("info");

Voor meer gedetailleerde instructies over het inschakelen van de logboeken kunt u de documentatie over het @azure-/loggerpakket bekijken.

Volgende stappen

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

Bijdragen

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

Weergaven