gpt4 book ai didi

amazon-web-services - 使用 boto3 或 es 库将数据输入到 aws elasticsearch

转载 作者:行者123 更新时间:2023-12-02 22:13:07 25 4
gpt4 key购买 nike

我有很多数据要发送到 aws elasticsearch。通过查看 https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-gsg-upload-data.html aws 网站它使用 curl -Xput 但是我想使用 python 来执行此操作,因此我查看了 boto3 文档但找不到输入数据的方法。

https://boto3.amazonaws.com/v1/documentation/api/1.9.42/reference/services/es.html我看不到任何插入数据的方法。

这似乎是非常基本的工作。有什么帮助吗?

最佳答案

您可以使用 HTTP 接口(interface)将数据发送到 Elasticsearch 。这是来自的代码

https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-request-signing.html

from requests_aws4auth import AWS4Auth
import boto3

host = '' # For example, my-test-domain.us-east-1.es.amazonaws.com
region = '' # e.g. us-west-1

service = 'es'
credentials = boto3.Session().get_credentials()
awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, service, session_token=credentials.token)

es = Elasticsearch(
hosts = [{'host': host, 'port': 443}],
http_auth = awsauth,
use_ssl = True,
verify_certs = True,
connection_class = RequestsHttpConnection
)

document = {
"title": "Moneyball",
"director": "Bennett Miller",
"year": "2011"
}

es.index(index="movies", doc_type="_doc", id="5", body=document)

print(es.get(index="movies", doc_type="_doc", id="5"))

编辑

要确认数据是否推送到你的索引下的弹性缓存,你可以尝试通过替换域名和索引名来做一个HTTP GET
search-my-domain.us-west-1.es.amazonaws.com/_search?q=movies 

关于amazon-web-services - 使用 boto3 或 es 库将数据输入到 aws elasticsearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58585596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com