一个对 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 7.6.2 的测试,但大部分情况下应该可以与旧版本一起使用。