Aracılığıyla paylaş


JavaScript için Azure Event Grid Ad Alanları istemci kitaplığı - sürüm 1.0.0

Azure Event Grid , büyük ölçekte güvenilir olay teslimi sağlayan bulut tabanlı bir hizmettir.

Event Grid Ad Alanlarına olay göndermek için istemci kitaplığını kullanma

Önemli bağlantılar:

Başlarken

Şu anda desteklenen ortamlar

Daha fazla ayrıntı için destek ilkemize bakın.

Önkoşullar

Azure CLI kullanıyorsanız ve <your-resource-name> yerine kendi benzersiz adlarınızı yazın<your-resource-group-name>:

Event Grid Konusu Oluşturma

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

Event Grid Etki Alanı Oluşturma

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

@azure/eventgrid-namespaces paketini yükleyin

ile npmJavaScript için Azure Event Grid Ad Alanları istemci kitaplığını yükleyin:

npm install @azure/eventgrid-namespaces

Ad alanı istemcileri oluşturma ve kimlik doğrulaması

Event Grid Ad Alanları API'sine erişmek üzere bir istemci nesnesi oluşturmak için Event Grid konunuzun ve öğesinin credentialolması gerekirendpoint. Event Grid Ad Alanları istemcileri bir Erişim Anahtarı kullanabilir.

Event Grid konunuzun uç noktasını Azure Portal'da veya aşağıdaki Azure CLI parçacığını kullanarak bulabilirsiniz:

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

Erişim Anahtarı Kullanma

Event Grid kaynağınıza göz atmak ve bir Erişim Anahtarı almak için Azure Portal'ı kullanın veya aşağıdaki Azure CLI parçacığını kullanın:

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

API anahtarınız ve uç noktanız olduktan sonra, istemcinin kimliğini doğrulamak için sınıfını AzureKeyCredential aşağıdaki gibi kullanabilirsiniz:

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, isteklerin kimlik tabanlı kimlik doğrulaması için Azure Active Directory (Azure AD) ile tümleştirme sağlar. Azure AD ile rol tabanlı erişim denetimini (RBAC) kullanarak Azure Event Grid kaynaklarınıza kullanıcılara, gruplara veya uygulamalara erişim izni vekleyebilirsiniz.

Ile bir konuya veya etki alanına TokenCredentialolay göndermek için kimliği doğrulanmış kimliğin atanmış "EventGrid Veri Göndereni" rolüne sahip olması gerekir.

Paketle @azure/identity , hem geliştirme hem de üretim ortamlarında istekleri sorunsuz bir şekilde yetkilendirebilirsiniz. Azure Active Directory hakkında daha fazla bilgi edinmek için bkz @azure/identity . BENİOKU.

Örneğin, Azure Active Directory kullanarak kimlik doğrulaması yapacak bir istemci oluşturmak için kullanabilirsiniz DefaultAzureCredential :

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

Önemli kavramlar

Olayları Gönderme ve Alma

EventGridSenderClient bir Event Grid'e olay göndermek için kullanılabilir. Şu şekilde başlatabilirsiniz:

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

EventGridReceiverClient bir Event Grid'den olay almak için kullanılabilir. Şu şekilde başlatabilirsiniz:

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

Dağıtılmış İzleme ve Bulut Olayları

Bu kitaplık kullanılarak @azure/core-tracingdağıtılmış izlemeyi destekler. Dağıtılmış izleme kullanılırken, bu kitaplık bir işlem sırasında bir send yayılma alanı oluşturur. Ayrıca, Bulut Olayları 1.0 şemasını kullanarak olay gönderirken SDK, Dağıtılmış İzleme uzantısını kullanarak olaylara dağıtılmış izleme meta verileri ekler. ve tracestate uzantısı özelliklerinin değerleritraceparent, olayları gönderen HTTP isteğindeki ve tracestate üst bilgilerine karşılık gelirtraceparent. Bir olay zaten bir traceparent uzantı özelliğine sahipse güncelleştirilmez.

Kubernetes’te Event Grid

Bu kitaplık , Azure Arc kullanılarak Kubernetes'te test edilmiş ve doğrulanmıştır.

Örnekler

Event Grid Konusuna Olay Yayımlama

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

Sorun giderme

Günlüğe Kaydetme

Günlüğün etkinleştirilmesi hatalarla ilgili yararlı bilgilerin ortaya çıkarılmasına yardımcı olabilir. HTTP isteklerinin ve yanıtlarının günlüğünü görmek için ortam değişkenini AZURE_LOG_LEVEL olarak infoayarlayın. Alternatif olarak, günlüğü çalışma zamanında içinde çağrılarak setLogLevel@azure/loggeretkinleştirilebilir:

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

setLogLevel("info");

Günlükleri etkinleştirme hakkında daha ayrıntılı yönergeler için @azure/günlükçü paketi belgelerine bakabilirsiniz.

Sonraki adımlar

Bu kitaplığın nasıl kullanılacağına ilişkin ayrıntılı örnekler için lütfen samples dizinine göz atın.

Katkıda bulunma

Bu kitaplığa katkıda bulunmak isterseniz, kodu derleme ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzunu okuyun.

İzlenimler