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í v masivní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í

  • LtS verze Node.js
  • Nejnovější verze prohlížečů Safari, Chrome, Edge a Firefox.

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>

Nainstalujte balíček @azure/eventgrid-namespaces.

Nainstalujte klientskou knihovnu Azure Event Grid Namespaces pro JavaScript pomocí npmnástroje :

npm install @azure/eventgrid-namespaces

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

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

Koncový bod pro téma Event Gridu 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 Event Gridu a načtěte přístupový klíč nebo použijte následující fragment kódu Azure CLI :

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

Jakmile budete mít klíč rozhraní API a koncový bod, můžete pomocí AzureKeyCredential třídy ověřit klienta 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ě identity. S 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éně pomocí TokenCredential, musí mít ověřená identita přiřazenou roli EventGrid Data Sender.

@azure/identity Balíček umožňuje bezproblémovou autorizaci požadavků ve vývojovém i produkčním prostředí. Další informace o Azure Active Directory najdete v souboru @azure/identity README.

Můžete například použít DefaultAzureCredential k vytvoření klienta, který se bude ověřovat 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. Můžete ho inicializovat takto:

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

EventGridReceiverClient lze použít pro příjem událostí z Event Gridu. Můžete ho inicializovat 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 během send operace rozsah. Kromě toho sdk při odesílání událostí pomocí schématu Cloud Events 1.0 přidá do událostí distribuovaná metadata trasování pomocí rozšíření Distribuované trasování. Hodnoty vlastností traceparent rozšíření a tracestate odpovídají traceparent hlavičce a tracestate z požadavku HTTP, který odesílá události. Pokud už událost má traceparent vlastnost rozšíření, neaktualizuje se.

Event Grid v Kubernetes

Tato knihovna byla testována a ověřena v Kubernetes pomocí 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);

Poradce při potížích

protokolování

Povolení protokolování může pomoct odhalit užitečné informace o selháních. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou AZURE_LOG_LEVEL prostředí na info. Případně je možné 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 balíčkům @azure/protokolovacího nástroje.

Další kroky

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

Přispívání

Pokud chcete přispívat do této knihovny, přečtěte si příručku pro přispívání , kde najdete další informace o tom, jak sestavit a otestovat kód.

Imprese