Azure EventGridClient SDK for JavaScript
This package contains an isomorphic SDK for EventGridClient.
Currently supported environments
- Node.js version 6.x.x or higher
- Browser JavaScript
How to Install
npm install @azure/eventgrid
How to use
nodejs - Authentication, client creation and publishEvents as an example written in TypeScript.
Install @azure/ms-rest-nodeauth
npm install @azure/ms-rest-nodeauth
Sample code
import * as msRest from "@azure/ms-rest-js";
import * as msRestAzure from "@azure/ms-rest-azure-js";
import * as msRestNodeAuth from "@azure/ms-rest-nodeauth";
import { EventGridClient, EventGridModels, EventGridMappers } from "@azure/eventgrid";
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
msRestNodeAuth.interactiveLogin().then((creds) => {
const client = new EventGridClient(creds, subscriptionId);
const topicHostname = "testtopicHostname";
const events = [{
id: "testid",
topic: "testtopic",
subject: "testsubject",
data: {},
eventType: "testeventType",
eventTime: new Date().toISOString(),
dataVersion: "testdataVersion"
}];
client.publishEvents(topicHostname, events).then((result) => {
console.log("The result is:");
console.log(result);
});
}).catch((err) => {
console.error(err);
});
browser - Authentication, client creation and publishEvents as an example written in JavaScript.
Install @azure/ms-rest-browserauth
npm install @azure/ms-rest-browserauth
Sample code
See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser.
<!DOCTYPE html>
<html lang="en">
<head>
<title>@azure/eventgrid sample</title>
<script src="node_modules/@azure/ms-rest-js/dist/msRest.browser.js"></script>
<script src="node_modules/@azure/ms-rest-azure-js/dist/msRestAzure.js"></script>
<script src="node_modules/@azure/ms-rest-browserauth/dist/msAuth.js"></script>
<script src="node_modules/@azure/eventgrid/dist/eventgrid.js"></script>
<script type="text/javascript">
const subscriptionId = "<Subscription_Id>";
const authManager = new msAuth.AuthManager({
clientId: "<client id for your Azure AD app>",
tenant: "<optional tenant for your organization>"
});
authManager.finalizeLogin().then((res) => {
if (!res.isLoggedIn) {
authManager.login();
}
const client = new Azure.Eventgrid.EventGridClient(res.creds, subscriptionId);
const topicHostname = "testtopicHostname";
const events = [{
id: "testid",
topic: "testtopic",
subject: "testsubject",
data: {},
eventType: "testeventType",
eventTime: new Date().toISOString(),
dataVersion: "testdataVersion"
}];
client.publishEvents(topicHostname, events).then((result) => {
console.log("The result is:");
console.log(result);
}).catch((err) => {
console.log("An error occurred:");
console.error(err);
});
});
</script>
</head>
<body></body>
</html>
Related projects