【问题标题】:Use SQL Access in AWS Opensearch python client在 AWS Opensearch python 客户端中使用 SQL Access
【发布时间】:2022-06-21 04:12:18
【问题描述】:

我很想在 AWS OpenSearch 中使用 SQL。

有没有办法使用 opensearchpy 驱动来实现这一点?

类似于this SO question

我的尝试:

es = OpenSearch(
    hosts=[{'host': config.es_host, 'port': 443}],
    http_auth=aws_auth,
    use_ssl=True,
    verify_certs=True,
    max_retries=10,
    retry_on_timeout=True,
    connection_class=RequestsHttpConnection
)

es.search(index='user-sessions', body={
    'query': 'select * from user-sessions limit 20'
}

...导致这个执行:

opensearchpy.exceptions.RequestError: RequestError(400, 'parsing_exception', 'Unknown key for a VALUE_STRING in [query].')

这个也不行:

es.sql.query(body={
    'query': 'select * from user-sessions limit 20'
})

...导致这个异常:

AttributeError: 'OpenSearch' object has no attribute 'sql'

有什么想法吗?

【问题讨论】:

    标签: python sql amazon-opensearch


    【解决方案1】:

    @Ikar:下面应该适合你:

    response=es.transport.perform_request('POST', '/_plugins/_sql', body={'query': 'SELECT * from user-sessions LIMIT 50'}) 打印(响应)

    注意:响应将是一个 python 字典,在“datarows”中,您将看到搜索结果的值。

    欲了解更多信息,请查看以下链接:

    1. https://github.com/opensearch-project/opensearch-py/issues/98
    2. https://opensearch.org/docs/latest/search-plugins/sql/endpoints/

    【讨论】:

      猜你喜欢
      • 2022-12-11
      • 2022-07-02
      • 2020-08-30
      • 2021-11-24
      • 2016-03-14
      • 1970-01-01
      • 1970-01-01
      • 2015-02-08
      • 2015-09-05
      相关资源
      最近更新 更多