amazon-web-services - 在 AWS 上访问 ElasticSearch API
问题描述
AWS 建议使用其 SDK(例如boto3
)或命令行工具来配置 ElasticSearch 集群。
但是,某些 ElasticSearch API 端点未在 AWS API 中公开(例如_cat/shards
)。甚至一些 AWS 支持文档(例如关于集群重新平衡的文档)似乎直接向集群 API 发出请求。
问题是:此类请求需要使用 AWS4Auth 进行身份验证(在我的设置中,只有某些 IAM 角色有权写入 ElasticSearch)——甚至 AWS 也建议不要手动创建签名的 HTTP 请求,因为这太痛苦了。
我的问题是:我是否需要针对我的 ES 集群手动创建签名的 HTTP 请求才能对其进行管理,还是有一种我错过的更简单的方法?
解决方案
我最终在AWS ElasticSearch的请求签名中找到了这个 AWS 文档。它清楚地表明,预期的方法是使用脚本,使用语言选择的 HTTP 客户端。
正如 Marcin 在他的回答中提到的那样,aws-requests-auth是在 Python 中简化这一点的一种选择
推荐阅读
- amazon-web-services - AWS 文本解析器
- php - 如何从后端服务器通过 Wordpress API 正确下载 PDF 文件
- visual-studio - 敌人总是团结在一起 2d
- javascript - 将所有奇数斐波那契数相加第 2 部分
- python - 为什么我的 Python 代码在此位置显示“无”?
- java - 从图库中挑选图像并将其保存到我的应用数据文件夹 - ANDROID
- ruby-on-rails - Rails 5 gem'delayed_job_active_record'未初始化的常量作业
- laravel - 在 null 上调用成员函数 checkLearning()(查看:
- c# - 统一按钮切换颜色
- r - 返回一个小标题:如何使用 case_when 进行矢量化?