要解决AWS Kinesis Firehose没有将数据发送到Elasticsearch的问题,您可以按照以下步骤进行操作:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"es:ESHttpPost",
"es:ESHttpPut"
],
"Resource": "arn:aws:es:::domain//*"
}
]
}
请将替换为您的地区,替换为您的AWS帐户ID,替换为您的Elasticsearch域名。这将允许IAM角色向指定的Elasticsearch域名发送数据。
aws firehose update-destination --delivery-stream-name --current-delivery-stream-version-id --elasticsearch-destination-configuration RoleARN=,DomainARN=,IndexName=,TypeName=
请将替换为您的Delivery Stream名称,替换为当前的Delivery Stream版本ID,替换为具有正确权限的IAM角色ARN,替换为Elasticsearch域名的ARN,和替换为您要发送数据的索引和类型名称。
aws firehose describe-delivery-stream --delivery-stream-name
请将替换为您的Delivery Stream名称。如果状态为Active,则表示Firehose已准备好将数据发送到Elasticsearch。
如果您遵循了以上步骤,并且确保IAM角色具有正确的权限,并且Firehose状态为Active,那么可能是其他因素导致问题。您可以进一步检查Elasticsearch的设置和配置,并确保Kinesis Firehose和Elasticsearch位于同一VPC中。如果问题仍然存在,您可以查看AWS文档、论坛或联系AWS支持获取更多帮助。