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
- Předplatné Azure
- Existující téma nebo doména Event Gridu Pokud potřebujete prostředek vytvořit, můžete použít Azure Portal nebo Azure CLI.
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í npm
ná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 credential
a . 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.
Související projekty
Azure SDK for JavaScript