本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建巴士
例如CreateEventBus,您可以使用创建公交车aws eventsv2 create-event-bus --name orders。名称是唯一必需的参数。在创建时,您还可以设置描述、总线保留事件的天数、加密事件的 Amazon KMS 密钥和标记。当公交车处于该CREATING状态时,通话会立即返回;发布到公交车或在公交车上创建订阅DescribeEventBus者ACTIVE。
使用创建巴士 Amazon CLI
以下命令创建了一个名为的总线orders,该总线将事件保留 30 天,使用您的 Amazon KMS 密钥对其进行加密,并带有一个标签。
aws eventsv2 create-event-bus \ --name orders \ --description "Order events from the checkout service" \ --storage-configuration RetentionPeriodInDays=30 \ --encryption-configuration KmsKeyIdentifier=arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --tags team=orders
下表列出了每个参数接受的内容。
| 参数 | 它接受什么 |
|---|---|
--name |
必填。1 到 256 个字符:字母、数字、句点、连字符和下划线,以字母或数字开头。该名称在您所在地区的账户中必须是唯一的;创建第二条同名总线失败ResourceAlreadyExistsException。 |
--description |
最多 512 个字符。 |
--storage-configuration |
RetentionPeriodInDays,从 1 到 365。省略它,公交车将活动保留 1 天。您可以稍后使用更改周期UpdateEventBus。请参阅选择保留期。 |
--encryption-configuration |
KmsKeyIdentifier: Amazon KMS 客户管理密钥的密钥 ID、密钥 ARN、别名或别名 ARN。将其省略并 EventBridge 使用 Amazon 自有密钥加密事件。有关密钥需要的密钥政策,请参阅Amazon EventBridge 自定义事件总线的静态加密。 |
--tags |
例如,标签键与值的映射team=orders,env=prod。有关基于标签的访问控制,请参阅自定义事件总线的操作、资源和条件键。 |
响应返回总线 ARN,总线上每以后的调用都会使用该总线 ARN。ARN 以 EventBridge 生成的标识符结尾,因此您无法根据该名称构造它。
{ "EventBusArn": "arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef", "Name": "orders", "Description": "Order events from the checkout service", "EncryptionConfiguration": { "KmsKeyIdentifier": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "StorageConfiguration": { "RetentionPeriodInDays": 30, "RetentionWindowStartTime": "2026-09-21T16:00:00+00:00" }, "State": "CREATING", "CreationTime": "2026-09-21T16:00:00+00:00" }
按其 ARN 描述总线,直到出现为止State。ACTIVE
aws eventsv2 describe-event-bus \ --event-bus-arn arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef
要 Amazon CloudFormation 改为使用创建总线,请参阅使用创建自定义事件总线资源 Amazon CloudFormation。有关创建和描述总线所需的 IAM 操作,请参阅自定义事件总线的操作、资源和条件键。
选择保留期
总线会保留其接受的所有事件的天数(从 1 到 365);省略它,总线将事件保留 1 天。StorageConfiguration.RetentionPeriodInDays留存可以让订阅者从过去的某个时间点开始,在不丢失事件的情况下暂停和恢复,并在失败后再次阅读事件。时间越长,存储空间越大。您可以稍后使用更改周期UpdateEventBus。
aws eventsv2 create-event-bus \ --name orders \ --storage-configuration RetentionPeriodInDays=30
DescribeEventBus返回RetentionWindowStartTime,订阅者可以读取的最早点。要将保留的事件交付给订阅者,请参阅向订阅者重播保留的事件。
总线状态及其允许的内容
创建、更新和删除总线是异步的。除拒绝某些操作外,每个状态都ACTIVE拒绝某些操作,并且这三个失败状态都带有一个StateReason可以告诉你原因的。下表列出了公交车经过的状态以及在每个状态下可以执行的操作。
| 州 | 公共汽车如何到达那里 | 您能做什么 |
|---|---|---|
CREATING |
CreateEventBus已返回,公交车正在设置中。 |
描述并等待。您无法发布、更新或删除总线,也无法在其上创建订阅者或事件源。 |
ACTIVE |
创建或更新已完成。 | 一切:发布、创建订阅者和事件源、更新、共享、删除。 |
CREATE_FAILED |
创建失败,当 EventBridge 无法使用您命名的 Amazon KMS 密钥时会发生这种情况。 | 删除公交车。其他任何东西都不被接受。读取StateReason、修复密钥或其策略,然后重新创建总线。 |
UPDATING |
UpdateEventBus正在更改加密配置。其他更新不会经过此状态。 |
照常发布和交付。在总线返回之前,您无法更新或删除该总线ACTIVE。 |
UPDATE_FAILED |
加密更新失败,同样是因为 EventBridge 无法使用密钥。 | 总线以其先前的配置继续运行。修复原因后重试更新,或删除总线。 |
DELETING |
DeleteEventBus已返回。 |
等待。您无法在正在删除的总线上创建订阅者或事件源。 |
DELETE_FAILED |
删除后发现的订阅者或事件源未被撤销。 | 删除或撤消总线的订阅者和事件源后,再次删除该总线。其他任何东西都不被接受。 |
删除有订阅者的巴士
DeleteEventBus仅当总线上的所有订阅者和事件源都被删除或撤销时才会成功。另一个账户创建的订阅者很重要。您无法自己删除该账户的订阅者,因此要么要求所有者将其删除,要么使用以下方式撤销该账户RevokeResource;请参阅撤销订阅者或事件源。如果在您检查和删除之间创建了订阅者,则总线会登陆DELETE_FAILED;处理新订阅者并再次删除。
从失败的密钥更改中恢复
正在运行的总线可以到达的两个故障状态都来自 Amazon KMS 密钥。当对新密钥的更新失败时,请在修复密钥的政策或授权UpdateEventBus后重试。如果新密钥本身不可用,则重试可以命名其他密钥,因为 EventBridge 没有采用失效的密钥。在DescribeEventBus显示ACTIVE带有新密钥 EventBridge的总线之前,不要禁用、删除或移除对先前密钥的访问权限;在更改中途丢失旧密钥的总线只能通过恢复该密钥进行修复,或将其删除。有关密钥权限,请参阅Amazon EventBridge 自定义事件总线的静态加密。