使用AWS CLI或AWS SDK时,如果AWS Kinesis Agent没有被授权执行firehose:PutRecordBatch操作,可以按照以下步骤解决:
firehose:PutRecordBatch操作的权限。可以使用以下JSON示例作为策略:{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowPutRecordBatch",
"Effect": "Allow",
"Action": "firehose:PutRecordBatch",
"Resource": "arn:aws:firehose:region:account-id:deliverystream/stream-name"
}
]
}
其中,region是AWS区域,account-id是AWS账号ID,stream-name是Kinesis Firehose数据流的名称。根据实际情况修改这些值。
aws iam attach-role-policy --role-name role-name --policy-arn policy-arn
其中,role-name是IAM角色的名称,policy-arn是刚刚创建的IAM策略的ARN。
cloudwatch.emitMetrics=Yes
cloudwatch.endpoint=
cloudwatch.namespace=KinesisAgent
cloudwatch.dimensions=LogGroupName=YOUR_LOG_GROUP,RoleName=YOUR_ROLE_NAME
其中,YOUR_ROLE_NAME是正确的IAM角色名称。