Soto Elasticsearch NIO 客户端

一个对 ElasticsearchNIOClient 的 AWS 封装。 这个库允许你发送 Elasticsearch 查询和请求到 AWS Elasticsearch 服务。 它使用 Soto 来签名请求。 这个库可以与其他的 Elasticsearch 端点一起工作,包括本地的和 AWS 的端点。

安装和使用

首先在你的 Package.swift 文件的 dependencies 数组中添加这个库作为依赖项。

.package(url: "https://github.com/brokenhandsio/soto-elasticsearch-nio-client.git", from: "0.1.0"),

然后将依赖项添加到你需要它的目标中。

.target(
    name: "App",
    dependencies: [
        // ...
        .product(name: "SotoElasticsearchNIOClient", package: "soto-elasticsearch-nio-client")
    ],
)

创建 SotoElasticsearchNIOClient 实例取决于你的环境,但你应该能够根据你的需求解决这个问题。 例如,对于 Vapor,你可以这样做:

let elasticsearchClient = SotoElasticsearchClient(awsClient: req.application.aws.client, eventLoop: req.eventLoop, logger: req.logger, httpClient: req.application.http.client.shared, host: host)

支持的特性

这个库支持 ElasticsearchNIOClient 的所有功能。 SotoElasticsearchClient 公开了底层的 ElasticsearchClient,如果需要,你可以将请求传递给它,但大多数请求应该被封装。

如果你想添加额外的功能,可以 开启一个 issue 并提交一个 PR。 欢迎任何贡献!

Elasticsearch 版本

该库已经过 Elasticsearch 7.6.2 的测试,但大部分情况下应该可以与旧版本一起使用。