I tried the new "EventBridge state change events" feature of Amazon Timestream for InfluxDB and compared it with CloudTrail
This page has been translated by machine translation. View original
Introduction
Amazon Timestream for InfluxDB now publishes DB instance lifecycle events to Amazon EventBridge (announced on 2026/07/09).
Previously, there was no event-driven mechanism to detect the completion of DB instance operations, and polling the DescribeDbInstances API was required to confirm completion. With this update, you can now detect operation completion using EventBridge rules without relying on polling.
| Item | Before | Now |
|---|---|---|
| State change detection method | DescribeDbInstances API polling |
Automatic notification via EventBridge events |
| Supported events | API events via CloudTrail only (no state change events indicating operation completion) | Creation / deletion / scaling / parameter update / maintenance / reboot |
| Ease of automation | Polling + conditional branching required | Declarative routing with EventBridge rules |
This feature publishes events not only for successful completion but also for failures. In this article, we perform four operations on a DB instance (create, reboot, storage scaling, and delete) and examine the structure of the new state change events published upon success. We also compare the differences with CloudTrail-based events published by the same operations.
Verification Details
Preparation: Creating an EventBridge Rule
We created a rule to forward events matching the source aws.timestream-influxdb to CloudWatch Logs.
# Create rule
aws events put-rule \
--name "timestream-influxdb-state-change" \
--event-pattern '{"source": ["aws.timestream-influxdb"]}' \
--region us-west-2
# Configure CloudWatch Logs target
aws events put-targets \
--rule "timestream-influxdb-state-change" \
--targets 'Id=cloudwatch-logs-target,Arn=arn:aws:logs:us-west-2:123456789012:log-group:/aws/events/timestream-influxdb' \
--region us-west-2
Since this rule filters only by source, in environments where CloudTrail management event recording is enabled, both CloudTrail-based events and new state change events will be captured.
The verification environment is as follows.
- Region: us-west-2 (Oregon)
- DB instance: db.influx.medium / 20 GiB / Single-AZ
- Instance name:
test-eventbridge-verify
Creation Event: Full Comparison of CloudTrail and New Event
CloudTrail-Based Event (API Call Record)
The following CloudTrail-based event arrived as a record of the CreateDbInstance API call.
{
"version": "0",
"detail-type": "AWS API Call via CloudTrail",
"source": "aws.timestream-influxdb",
"time": "2026-07-11T04:51:27Z",
"region": "us-west-2",
"resources": [],
"detail": {
"eventName": "CreateDbInstance",
"requestParameters": {
"allocatedStorage": 20,
"dbInstanceType": "db.influx.medium",
"deploymentType": "SINGLE_AZ",
"name": "test-eventbridge-verify",
"password": "HIDDEN_DUE_TO_SECURITY_REASONS"
},
"responseElements": {
"arn": "arn:aws:timestream-influxdb:us-west-2:123456789012:db-instance/4q8g1gli53",
"id": "4q8g1gli53",
"name": "test-eventbridge-verify",
"status": "CREATING"
},
"eventType": "AwsApiCall",
"managementEvent": true
}
}
(Only major fields are shown. See the collapsible section below for the full text.)
As a key point, note that responseElements.status is CREATING (in progress). At this point, the instance is not yet in an available state. Also, requestParameters records the main request parameters at the time of the API call (sensitive values such as passwords and usernames are masked with HIDDEN_DUE_TO_SECURITY_REASONS).
Full CloudTrail-based event (partially masked, click to expand)
{
"version": "0",
"id": "4c0f036d-a6cc-dd99-56e4-92a699c2cc4f",
"detail-type": "AWS API Call via CloudTrail",
"source": "aws.timestream-influxdb",
"account": "123456789012",
"time": "2026-07-11T04:51:27Z",
"region": "us-west-2",
"resources": [],
"detail": {
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAXXXXXXXXXXXXXXXXX:session-name",
"arn": "arn:aws:sts::123456789012:assumed-role/role-name/session-name",
"accountId": "123456789012"
},
"eventTime": "2026-07-11T04:51:27Z",
"eventSource": "timestream-influxdb.amazonaws.com",
"eventName": "CreateDbInstance",
"awsRegion": "us-west-2",
"sourceIPAddress": "xxx.xxx.xxx.xxx",
"userAgent": "aws-cli/2.35.19 ...",
"requestParameters": {
"allocatedStorage": 20,
"bucket": "testbucket",
"dbInstanceType": "db.influx.medium",
"deploymentType": "SINGLE_AZ",
"name": "test-eventbridge-verify",
"organization": "testorg",
"password": "HIDDEN_DUE_TO_SECURITY_REASONS",
"publiclyAccessible": false,
"username": "HIDDEN_DUE_TO_SECURITY_REASONS",
"vpcSecurityGroupIds": ["sg-xxxxxxxx"],
"vpcSubnetIds": ["subnet-xxxxxxxx", "subnet-yyyyyyyy"]
},
"responseElements": {
"allocatedStorage": 20,
"arn": "arn:aws:timestream-influxdb:us-west-2:123456789012:db-instance/4q8g1gli53",
"availabilityZone": "us-west-2b",
"dbInstanceType": "db.influx.medium",
"dbStorageType": "InfluxIOIncludedT1",
"deploymentType": "SINGLE_AZ",
"id": "4q8g1gli53",
"name": "test-eventbridge-verify",
"networkType": "IPV4",
"port": 8086,
"publiclyAccessible": false,
"status": "CREATING",
"vpcSecurityGroupIds": ["sg-xxxxxxxx"],
"vpcSubnetIds": ["subnet-xxxxxxxx", "subnet-yyyyyyyy"]
},
"requestID": "b443fc85-5c1a-420a-8b7a-6b676c0fa3b9",
"eventID": "6d992928-cdbd-4bd7-8282-949b87f1b9ff",
"readOnly": false,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "123456789012",
"eventCategory": "Management",
"tlsDetails": {
"tlsVersion": "TLSv1.3",
"cipherSuite": "TLS_AES_128_GCM_SHA256",
"clientProvidedHostHeader": "timestream-influxdb.us-west-2.amazonaws.com"
}
}
}
New State Change Event (After Operation Completion)
The following event arrived approximately 8 minutes after the CloudTrail-based event, indicating creation completion.
{
"version": "0",
"id": "2c06834f-2e2c-06c2-caf0-eb13c9bc9d39",
"detail-type": "Timestream InfluxDB DB Instance Event",
"source": "aws.timestream-influxdb",
"account": "123456789012",
"time": "2026-07-11T04:59:20Z",
"region": "us-west-2",
"resources": [
"arn:aws:timestream-influxdb:us-west-2:123456789012:db-instance/4q8g1gli53"
],
"detail": {
"EventCategories": ["creation"],
"SourceType": "DB_INSTANCE",
"SourceArn": "arn:aws:timestream-influxdb:us-west-2:123456789012:db-instance/4q8g1gli53",
"Date": "2026-07-11T04:59:20.224Z",
"Message": "InfluxDB v2 instance 'test-eventbridge-verify' created",
"SourceIdentifier": "test-eventbridge-verify",
"EventID": "TIDB-EVENT-11001"
}
}
The main differences from the CloudTrail-based event are as follows.
detail-typeisTimestream InfluxDB DB Instance Event— a new event type specific to Timestream for InfluxDBresourcescontains the ARN of the DB instance- The
detailstructure is simple — limited to fields such asEventID,Message,EventCategories, andSourceArn - API request/response information is not included — only the result of what happened is notified
timeis the event publication time after operation completion — whereas CloudTrail records the time of the API call, this is the time the event was published after operation completion
Reboot / Storage Scaling / Deletion Events
CloudTrail + new event pairs also fired for the remaining 3 operations. The differences are as follows.
| Operation | EventID | EventCategories | Message |
|---|---|---|---|
| Creation complete | TIDB-EVENT-11001 | creation | InfluxDB v2 instance '...' created |
| Reboot complete | TIDB-EVENT-16001 | notification | InfluxDB v2 instance '...' rebooted |
| Storage update complete | TIDB-EVENT-12002 | notification | InfluxDB v2 instance '...' storage updated |
| Deletion complete | TIDB-EVENT-13001 | notification | InfluxDB v2 instance '...' deleted |
Among the four operations tested this time, only creation had EventCategories as creation; the others were notification.
The correspondence between eventName on the CloudTrail side and EventID on the new event side is as follows.
| CloudTrail eventName | New event EventID | CloudTrail status | Timing difference |
|---|---|---|---|
| CreateDbInstance | TIDB-EVENT-11001 | CREATING | +approx. 8 min |
| RebootDbInstance | TIDB-EVENT-16001 | REBOOTING | +approx. 3.5 min |
| UpdateDbInstance | TIDB-EVENT-12002 | UPDATING | +approx. 6.5 min |
| DeleteDbInstance | TIDB-EVENT-13001 | DELETING | +approx. 5.5 min |
In the four successful operation cases confirmed this time, CloudTrail arrived at the time of the API call record (with status in progress), while the new events arrived after successful completion.
Reboot — CloudTrail-based event
{
"version": "0",
"id": "c1f41506-055a-8c81-b3fa-e4a655a33b53",
"detail-type": "AWS API Call via CloudTrail",
"source": "aws.timestream-influxdb",
"account": "123456789012",
"time": "2026-07-11T05:03:47Z",
"region": "us-west-2",
"resources": [],
"detail": {
"eventName": "RebootDbInstance",
"requestParameters": {
"identifier": "4q8g1gli53"
},
"responseElements": {
"arn": "arn:aws:timestream-influxdb:us-west-2:123456789012:db-instance/4q8g1gli53",
"name": "test-eventbridge-verify",
"status": "REBOOTING"
}
}
}
(Only major fields are shown.)
Reboot — New event
{
"version": "0",
"id": "b8104ebe-f614-b44e-747c-6fd06194edc2",
"detail-type": "Timestream InfluxDB DB Instance Event",
"source": "aws.timestream-influxdb",
"account": "123456789012",
"time": "2026-07-11T05:07:13Z",
"region": "us-west-2",
"resources": [
"arn:aws:timestream-influxdb:us-west-2:123456789012:db-instance/4q8g1gli53"
],
"detail": {
"EventCategories": ["notification"],
"SourceType": "DB_INSTANCE",
"SourceArn": "arn:aws:timestream-influxdb:us-west-2:123456789012:db-instance/4q8g1gli53",
"Date": "2026-07-11T05:07:13.193Z",
"Message": "InfluxDB v2 instance 'test-eventbridge-verify' rebooted",
"SourceIdentifier": "test-eventbridge-verify",
"EventID": "TIDB-EVENT-16001"
}
}
Storage Scaling — CloudTrail-based event
{
"version": "0",
"id": "f6a213a5-ebaf-dfa8-b71c-ad11b246956a",
"detail-type": "AWS API Call via CloudTrail",
"source": "aws.timestream-influxdb",
"account": "123456789012",
"time": "2026-07-11T05:08:24Z",
"region": "us-west-2",
"resources": [],
"detail": {
"eventName": "UpdateDbInstance",
"requestParameters": {
"allocatedStorage": 25,
"identifier": "4q8g1gli53"
},
"responseElements": {
"allocatedStorage": 20,
"arn": "arn:aws:timestream-influxdb:us-west-2:123456789012:db-instance/4q8g1gli53",
"name": "test-eventbridge-verify",
"status": "UPDATING"
}
}
}
(Only major fields are shown. Note that responseElements.allocatedStorage returns the pre-update value of 20, not the 25 specified in the request.)
Storage Scaling — New event
{
"version": "0",
"id": "f4826fbd-cd30-3cd0-412c-26ae4a3d21d6",
"detail-type": "Timestream InfluxDB DB Instance Event",
"source": "aws.timestream-influxdb",
"account": "123456789012",
"time": "2026-07-11T05:15:01Z",
"region": "us-west-2",
"resources": [
"arn:aws:timestream-influxdb:us-west-2:123456789012:db-instance/4q8g1gli53"
],
"detail": {
"EventCategories": ["notification"],
"SourceType": "DB_INSTANCE",
"SourceArn": "arn:aws:timestream-influxdb:us-west-2:123456789012:db-instance/4q8g1gli53",
"Date": "2026-07-11T05:15:01.680Z",
"Message": "InfluxDB v2 instance 'test-eventbridge-verify' storage updated",
"SourceIdentifier": "test-eventbridge-verify",
"EventID": "TIDB-EVENT-12002"
}
}
Deletion — CloudTrail-based event
{
"version": "0",
"id": "2e3121b9-11c4-3a4e-8c36-204768460501",
"detail-type": "AWS API Call via CloudTrail",
"source": "aws.timestream-influxdb",
"account": "123456789012",
"time": "2026-07-11T05:17:07Z",
"region": "us-west-2",
"resources": [],
"detail": {
"eventName": "DeleteDbInstance",
"requestParameters": {
"identifier": "4q8g1gli53"
},
"responseElements": {
"allocatedStorage": 25,
"arn": "arn:aws:timestream-influxdb:us-west-2:123456789012:db-instance/4q8g1gli53",
"name": "test-eventbridge-verify",
"status": "DELETING"
}
}
}
(Only major fields are shown.)
Deletion — New event
{
"version": "0",
"id": "9749cf8c-8eba-7e52-e42a-d71821e7fe12",
"detail-type": "Timestream InfluxDB DB Instance Event",
"source": "aws.timestream-influxdb",
"account": "123456789012",
"time": "2026-07-11T05:22:34Z",
"region": "us-west-2",
"resources": [
"arn:aws:timestream-influxdb:us-west-2:123456789012:db-instance/4q8g1gli53"
],
"detail": {
"EventCategories": ["notification"],
"SourceType": "DB_INSTANCE",
"SourceArn": "arn:aws:timestream-influxdb:us-west-2:123456789012:db-instance/4q8g1gli53",
"Date": "2026-07-11T05:22:34.839Z",
"Message": "InfluxDB v2 instance 'test-eventbridge-verify' deleted",
"SourceIdentifier": "test-eventbridge-verify",
"EventID": "TIDB-EVENT-13001"
}
}
Comparison Summary
| Aspect | CloudTrail-based event | New state change event |
|---|---|---|
| detail-type | AWS API Call via CloudTrail |
Timestream InfluxDB DB Instance Event |
| Trigger timing | When the API call is recorded | In the successful cases verified this time, after operation completion |
| resources field | Empty array | ARN of the DB instance |
| detail content | Main request/response parameters | EventID, Message, EventCategories, SourceArn, etc. |
| Who performed the operation | Can be confirmed via userIdentity | Not included |
| Whether the operation completed | Cannot determine final completion from a single event (status is in progress) | In the successful events verified this time, a signal indicating successful completion of the operation |
Use Case Differentiation
- CloudTrail-based events: Records "who," "when," and "with what parameters" an API was called. Suited for audit logs, security alerts, and unauthorized operation detection.
- New state change events: Notifies the result of state changes such as successful completion or failure of operations. The successful events verified this time are suited for triggering subsequent processing (Slack notifications, Step Functions invocation, dashboard updates).
The two are complementary and can be used together by filtering on detail-type in EventBridge rules.
Summary
The new EventBridge events for Timestream for InfluxDB had a simple structure that notifies the result of DB instance state changes.
In the successful cases verified this time, for each of the create, reboot, storage update, and delete operations, a state change event indicating operation completion arrived after the CloudTrail-based event. While the CloudTrail-based event records the fact of the API call and the main request/response parameters, the new event concisely communicates the operation result via fields such as EventID and Message.
This verification confirmed successful events, but failure cases are also published. I found this to be an easy-to-use update, where CloudTrail is used for API call auditing and the new state change events are used to trigger subsequent processing based on operation results.
