是否可以使用Elastica和"AWS帐户访问策略"连接到Amazon Elasticsearch?
当我使用"允许对域的开放访问"时,它就起作用了。
$elasticaClient = new ElasticaClient([
'connections' => [
[
'transport' => 'Https',
'host' => 'search-xxxxxxxx-zzzzzzzz.us-west-2.es.amazonaws.com',
'port' => '',
'curl' => [
CURLOPT_SSL_VERIFYPEER => false,
],
],
],
]);
但当我使用"AWS帐户访问策略"时,不知道如何设置"授权标头要求"。
我正在为Symfony使用FriendsOfSymfony FOElasticaBundle。我使用AwsAuthV4
作为transport
解决了这个问题,如下所示:
fos_elastica:
clients:
default:
host: "YOURHOST.eu-west-1.es.amazonaws.com"
port: 9200
transport: "AwsAuthV4"
aws_access_key_id: "YOUR_AWS_KEY"
aws_secret_access_key: "YOUR_AWS_SECRET"
aws_region: "eu-west-1"
这还没有实现,因为它需要的不仅仅是设置标题。最好关注Elastica存储库中的问题以获取进展:https://github.com/ruflin/Elastica/issues/948