Sdílet prostřednictvím


Klientská knihovna azure Event Grid Namespaces pro JavaScript – verze 1.0.0

Azure Event Grid je cloudová služba, která poskytuje spolehlivé doručování událostí ve velkém měřítku.

Použití klientské knihovny k odesílání událostí do oborů názvů Event Gridu

Klíčové odkazy:

Začínáme

Aktuálně podporovaná prostředí

Další podrobnosti najdete v našich zásadách podpory .

Požadavky

Pokud používáte Azure CLI, nahraďte <your-resource-group-name> a <your-resource-name> vlastními jedinečnými názvy:

Vytvoření tématu Event Gridu

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

Vytvoření domény Event Gridu

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

Instalace balíčku @azure/eventgrid-namespaces

Nainstalujte klientskou knihovnu Azure Event Grid Namespaces pro JavaScript s npm:

npm install @azure/eventgrid-namespaces

Vytvoření a ověření klientů oboru názvů

Pokud chcete vytvořit objekt klienta pro přístup k rozhraní API pro obory názvů služby Event Grid, budete potřebovat endpoint tématu Event Gridu a credential. Klienti služby Event Grid Namespaces můžou používat přístupový klíč.

Koncový bod tématu služby Event Grid najdete na webu azure Portal nebo pomocí fragmentu kódu Azure CLI níže:

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

Použití přístupového klíče

Pomocí webu Azure Portal přejděte k prostředku služby Event Grid a načtěte přístupový klíč nebo použijte azure CLI fragment kódu níže:

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

Jakmile máte klíč rozhraní API a koncový bod, můžete k ověření klienta použít třídu AzureKeyCredential následujícím způsobem:

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 poskytuje integraci se službou Azure Active Directory (Azure AD) pro ověřování požadavků na základě identit. Pomocí Azure AD můžete pomocí řízení přístupu na základě role (RBAC) udělit přístup k prostředkům Azure Event Gridu uživatelům, skupinám nebo aplikacím.

Pokud chcete odesílat události do tématu nebo domény s TokenCredential, měla by mít ověřená identita přiřazenou roli EventGrid Data Sender.

S balíčkem @azure/identity můžete bez problémů autorizovat požadavky v vývojových i produkčních prostředích. Další informace o Azure Active Directory najdete v @azure/identity README .

Můžete například použít DefaultAzureCredential k vytvoření klienta, který se ověří pomocí 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>"
);

Klíčové koncepty

Odesílání a příjem událostí

EventGridSenderClient lze použít k odesílání událostí do event Gridu. Inicializovat ho můžete takto:

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

EventGridReceiverClient lze použít pro příjem událostí z Event Gridu. Inicializovat ho můžete takto:

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

Distribuované trasování a cloudové události

Tato knihovna podporuje distribuované trasování pomocí @azure/core-tracing. Při použití distribuovaného trasování vytvoří tato knihovna rozsah během operace send. Kromě toho při odesílání událostí pomocí schématu Cloud Events 1.0 sada SDK přidá do událostí distribuovaná metadata trasování pomocí rozšíření Distribuované trasování. Hodnoty vlastností rozšíření traceparent a tracestate odpovídají hlavičce traceparent a tracestate z požadavku HTTP, který odesílá události. Pokud událost již má vlastnost rozšíření traceparent, není aktualizována.

Event Grid v Kubernetes

Tato knihovna byla testována a ověřena na Kubernetes pomocí služby Azure Arc.

Příklady

Publikování události do tématu Event Gridu

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

Řešení problémů

Protokolování

Povolení protokolování může pomoct odhalit užitečné informace o chybách. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou prostředí AZURE_LOG_LEVEL na info. Případně můžete protokolování povolit za běhu voláním setLogLevel v @azure/logger:

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

setLogLevel("info");

Podrobnější pokyny k povolení protokolů najdete v dokumentaci k @azure/protokolovacímu balíčku.

Další kroky

Podrobné příklady použití této knihovny najdete v ukázkách adresáři.

Přispívající

Pokud chcete přispívat do této knihovny, přečtěte si průvodce přispívání a přečtěte si další informace o vytváření a testování kódu.

imprese