What is @aws-sdk/client-eventbridge?
@aws-sdk/client-eventbridge is a part of the AWS SDK for JavaScript, which allows developers to interact with Amazon EventBridge. EventBridge is a serverless event bus service that makes it easy to connect applications using data from your own applications, integrated Software-as-a-Service (SaaS) applications, and AWS services.
What are @aws-sdk/client-eventbridge's main functionalities?
Put Events
This feature allows you to send custom events to an EventBridge event bus. The code sample demonstrates how to create an event and send it to the default event bus.
const { EventBridgeClient, PutEventsCommand } = require("@aws-sdk/client-eventbridge");
const client = new EventBridgeClient({ region: "us-east-1" });
const params = {
Entries: [
{
Source: "com.mycompany.myapp",
DetailType: "myDetailType",
Detail: JSON.stringify({ key1: "value1", key2: "value2" }),
EventBusName: "default"
}
]
};
const run = async () => {
try {
const data = await client.send(new PutEventsCommand(params));
console.log("Success, event sent; requestID:", data);
} catch (err) {
console.error(err);
}
};
run();
Create Event Bus
This feature allows you to create a custom event bus. The code sample demonstrates how to create a new event bus named 'myCustomEventBus'.
const { EventBridgeClient, CreateEventBusCommand } = require("@aws-sdk/client-eventbridge");
const client = new EventBridgeClient({ region: "us-east-1" });
const params = {
Name: "myCustomEventBus"
};
const run = async () => {
try {
const data = await client.send(new CreateEventBusCommand(params));
console.log("Success, event bus created; ARN:", data.EventBusArn);
} catch (err) {
console.error(err);
}
};
run();
List Rules
This feature allows you to list all the rules associated with a specific event bus. The code sample demonstrates how to list rules for the default event bus.
const { EventBridgeClient, ListRulesCommand } = require("@aws-sdk/client-eventbridge");
const client = new EventBridgeClient({ region: "us-east-1" });
const params = {
EventBusName: "default"
};
const run = async () => {
try {
const data = await client.send(new ListRulesCommand(params));
console.log("Success, rules listed:", data.Rules);
} catch (err) {
console.error(err);
}
};
run();
Other packages similar to @aws-sdk/client-eventbridge
aws-sdk
The 'aws-sdk' package is the older version of the AWS SDK for JavaScript. It provides similar functionalities for interacting with AWS services, including EventBridge. However, '@aws-sdk/client-eventbridge' is part of the modular AWS SDK v3, which offers better performance and smaller bundle sizes.
serverless
The 'serverless' framework allows you to build and deploy serverless applications on AWS and other cloud providers. It provides plugins and integrations for working with AWS EventBridge, making it easier to manage event-driven architectures. However, it is more of a deployment and management tool rather than a direct SDK for interacting with EventBridge.
aws-cdk
The 'aws-cdk' (AWS Cloud Development Kit) allows you to define cloud infrastructure using code and provides constructs for AWS services, including EventBridge. It is more focused on infrastructure as code (IaC) and is used for defining and provisioning AWS resources, whereas '@aws-sdk/client-eventbridge' is used for interacting with EventBridge at runtime.
@aws-sdk/client-eventbridge
Description
AWS SDK for JavaScript EventBridge Client for Node.js, Browser and React Native.
Amazon EventBridge helps you to respond to state changes in your Amazon Web Services
resources. When your resources change state, they automatically send events to an event
stream. You can create rules that match selected events in the stream and route them to
targets to take action. You can also use rules to take action on a predetermined schedule. For
example, you can configure rules to:
-
Automatically invoke an Lambda function to update DNS entries when an
event notifies you that Amazon EC2 instance enters the running state.
-
Direct specific API records from CloudTrail to an Amazon Kinesis
data stream for detailed analysis of potential security or availability risks.
-
Periodically invoke a built-in target to create a snapshot of an Amazon EBS
volume.
For more information about the features of Amazon EventBridge, see the Amazon EventBridge User
Guide.
Installing
To install this package, simply type add or install @aws-sdk/client-eventbridge
using your favorite package manager:
npm install @aws-sdk/client-eventbridge
yarn add @aws-sdk/client-eventbridge
pnpm add @aws-sdk/client-eventbridge
Getting Started
Import
The AWS SDK is modulized by clients and commands.
To send a request, you only need to import the EventBridgeClient
and
the commands you need, for example ListReplaysCommand
:
const { EventBridgeClient, ListReplaysCommand } = require("@aws-sdk/client-eventbridge");
import { EventBridgeClient, ListReplaysCommand } from "@aws-sdk/client-eventbridge";
Usage
To send a request, you:
- Initiate client with configuration (e.g. credentials, region).
- Initiate command with input parameters.
- Call
send
operation on client with command object as input. - If you are using a custom http handler, you may call
destroy()
to close open connections.
const client = new EventBridgeClient({ region: "REGION" });
const params = {
};
const command = new ListReplaysCommand(params);
Async/await
We recommend using await
operator to wait for the promise returned by send operation as follows:
try {
const data = await client.send(command);
} catch (error) {
} finally {
}
Async-await is clean, concise, intuitive, easy to debug and has better error handling
as compared to using Promise chains or callbacks.
Promises
You can also use Promise chaining
to execute send operation.
client.send(command).then(
(data) => {
},
(error) => {
}
);
Promises can also be called using .catch()
and .finally()
as follows:
client
.send(command)
.then((data) => {
})
.catch((error) => {
})
.finally(() => {
});
Callbacks
We do not recommend using callbacks because of callback hell,
but they are supported by the send operation.
client.send(command, (err, data) => {
});
v2 compatible style
The client can also send requests using v2 compatible style.
However, it results in a bigger bundle size and may be dropped in next major version. More details in the blog post
on modular packages in AWS SDK for JavaScript
import * as AWS from "@aws-sdk/client-eventbridge";
const client = new AWS.EventBridge({ region: "REGION" });
try {
const data = await client.listReplays(params);
} catch (error) {
}
client
.listReplays(params)
.then((data) => {
})
.catch((error) => {
});
client.listReplays(params, (err, data) => {
});
Troubleshooting
When the service returns an exception, the error will include the exception information,
as well as response metadata (e.g. request id).
try {
const data = await client.send(command);
} catch (error) {
const { requestId, cfId, extendedRequestId } = error.$metadata;
console.log({ requestId, cfId, extendedRequestId });
}
Getting Help
Please use these community resources for getting help.
We use the GitHub issues for tracking bugs and feature requests, but have limited bandwidth to address them.
To test your universal JavaScript code in Node.js, browser and react-native environments,
visit our code samples repo.
Contributing
This client code is generated automatically. Any modifications will be overwritten the next time the @aws-sdk/client-eventbridge
package is updated.
To contribute to client you can check our generate clients scripts.
License
This SDK is distributed under the
Apache License, Version 2.0,
see LICENSE for more information.
Client Commands (Operations List)
ActivateEventSource
Command API Reference / Input / Output
CancelReplay
Command API Reference / Input / Output
CreateApiDestination
Command API Reference / Input / Output
CreateArchive
Command API Reference / Input / Output
CreateConnection
Command API Reference / Input / Output
CreateEndpoint
Command API Reference / Input / Output
CreateEventBus
Command API Reference / Input / Output
CreatePartnerEventSource
Command API Reference / Input / Output
DeactivateEventSource
Command API Reference / Input / Output
DeauthorizeConnection
Command API Reference / Input / Output
DeleteApiDestination
Command API Reference / Input / Output
DeleteArchive
Command API Reference / Input / Output
DeleteConnection
Command API Reference / Input / Output
DeleteEndpoint
Command API Reference / Input / Output
DeleteEventBus
Command API Reference / Input / Output
DeletePartnerEventSource
Command API Reference / Input / Output
DeleteRule
Command API Reference / Input / Output
DescribeApiDestination
Command API Reference / Input / Output
DescribeArchive
Command API Reference / Input / Output
DescribeConnection
Command API Reference / Input / Output
DescribeEndpoint
Command API Reference / Input / Output
DescribeEventBus
Command API Reference / Input / Output
DescribeEventSource
Command API Reference / Input / Output
DescribePartnerEventSource
Command API Reference / Input / Output
DescribeReplay
Command API Reference / Input / Output
DescribeRule
Command API Reference / Input / Output
DisableRule
Command API Reference / Input / Output
EnableRule
Command API Reference / Input / Output
ListApiDestinations
Command API Reference / Input / Output
ListArchives
Command API Reference / Input / Output
ListConnections
Command API Reference / Input / Output
ListEndpoints
Command API Reference / Input / Output
ListEventBuses
Command API Reference / Input / Output
ListEventSources
Command API Reference / Input / Output
ListPartnerEventSourceAccounts
Command API Reference / Input / Output
ListPartnerEventSources
Command API Reference / Input / Output
ListReplays
Command API Reference / Input / Output
ListRuleNamesByTarget
Command API Reference / Input / Output
ListRules
Command API Reference / Input / Output
ListTagsForResource
Command API Reference / Input / Output
ListTargetsByRule
Command API Reference / Input / Output
PutEvents
Command API Reference / Input / Output
PutPartnerEvents
Command API Reference / Input / Output
PutPermission
Command API Reference / Input / Output
PutRule
Command API Reference / Input / Output
PutTargets
Command API Reference / Input / Output
RemovePermission
Command API Reference / Input / Output
RemoveTargets
Command API Reference / Input / Output
StartReplay
Command API Reference / Input / Output
TagResource
Command API Reference / Input / Output
TestEventPattern
Command API Reference / Input / Output
UntagResource
Command API Reference / Input / Output
UpdateApiDestination
Command API Reference / Input / Output
UpdateArchive
Command API Reference / Input / Output
UpdateConnection
Command API Reference / Input / Output
UpdateEndpoint
Command API Reference / Input / Output
UpdateEventBus
Command API Reference / Input / Output