我正在尝试一个简单的lambda函数将事件索引到elasticsearch中。
我的elasticsearch在vpc后面,lambda函数也是。子网和安全组都相同。我确信
我的客户如下:
es_host = 'vpc-somethingsomething.eu-west-1.es.amazonaws.com'
es = Elasticsearch(
hosts=[{'host': es_host, 'port': 443}],
http_auth=awsauth,
use_ssl=True,
verify_certs=True,
connection_class=RequestsHttpConnection
)
我确信es主机这样做是正确的,否则会出现“建立新连接失败”错误。
# key = parsing_key_from_event()
print("the record being indexed: ", body)
res = es.index(index='my-index-name', id=key, body=body)
print("index response: ", res)
我看到的第一个印刷品用合适的dict表示我的索引模型。我无法查看最后一次打印,因为es.index确实超时。索引的名称和键被删失,但在实际设置中是正确的。
我分配给lambda函数的角色为elasticsearch启用了god模式,并建议允许ec2使用。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:DescribeNetworkInterfaces",
"ec2:DeleteNetworkInterface",
"dynamodb:*",
"es:*"
],
"Resource": "*"
}
]
}
有人知道为什么在这些信息下es.index超时吗?
暂无答案!
目前还没有任何答案,快来回答吧!