Elasticsearch AWS with Elastica



是否可以使用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

最新更新