Sdílet prostřednictvím


Klientská knihovna Azure Event Grid Namespaces pro JavaScript – verze 1.0.0-beta.2

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:

Create tématu Event Gridu

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

Create 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í npmpříkazu :

npm install @azure/eventgrid-namespaces

Create a ověřeníEventGridNamespacesClient

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 . Klient Event Gridu může použít 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 { EventGridClient, AzureKeyCredential } = require("@azure/eventgrid-namespaces");

const client = new EventGridClient(
  "<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. S Azure AD můžete pomocí řízení přístupu na základě role (RBAC) udělit uživatelům, skupinám nebo aplikacím přístup k prostředkům Azure Event Grid.

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 { EventGridClient } = require("@azure/eventgrid-namespaces");
const { DefaultAzureCredential } = require("@azure/identity");

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

Klíčové koncepty

EventGridNamespacesClient

EventGridNamespacesClient se používá k odesílání událostí do Event Gridu. Můžete ho inicializovat takto:

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

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

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