该错误表示您的AWS账户未被授权使用AWS EventBridge规则中指定的事件源。要解决此问题,请尝试以下步骤:
确保您的AWS账户具有事件源的权限。您可以在事件源的权限配置中将账户添加为可授权用户。
确认您正在使用正确的AWS帐户和AWS区域。如果您使用的是多个AWS帐户或AWS区域,请确认您正在使用正确的帐户和区域。
检查您的AWSEventBridge 规则中的源是否正确。请检查事件源的名称拼写是否正确、ARN是否正确等。
检查您的IAM 实体是否有事件源的权限。如果您正在使用IAM实体作为事件源,则需要确认该实体具有访问该事件源的权限。
示例代码:
以下示例代码使用AWS SDK for Python (Boto3)向事件总线添加规则的代码结构中添加授权主体:
import boto3
client = boto3.client('events')
response = client.put_permission(
Action='events:PutEvents',
Principal='123456789012',
StatementId='custom-statement-id',
Condition={
'ArnEquals': {
'aws:SourceArn': 'arn:aws:events:us-east-1:123456789012:event-bus/default'
}
}
)
print(response)
该示例代码将账户 ID '123456789012'
授权以便在事件总线 'arn:aws:events:us-east-1:123456789012:event-bus/default'
上放置事件。您可以将代码中的这些值替换为您自己的值。需要注意的是,您必须在相应的事件源上授予AWS账户 Action
为 PutEvents
的权限。