elasticsearch,Amazon Web Services,elasticsearch" /> elasticsearch,Amazon Web Services,elasticsearch" />

Amazon web services 在VPC中以编程方式获取AWS ES端点

Amazon web services 在VPC中以编程方式获取AWS ES端点,amazon-web-services,elasticsearch,Amazon Web Services,elasticsearch,我在一个VPC内的AWS中有一个Elasticsearch域,我需要对它执行一些REST请求(我的网络是这样设置的,我可以这样做) 为此,我想问你们,是否有一种方法可以通过编程获得Elasticsearch端点?我的意思是,例如,这个屏幕截图中“VPC端点”字段的值,但是通过AWS CLI或API调用,而不是通过UI aws es描述elasticsearch域不适用,因为我的域位于专有网络内 使用以下命令,我已成功获取网络接口的IP地址: aws ec2描述网络接口--过滤“Name=stat

我在一个VPC内的AWS中有一个Elasticsearch域,我需要对它执行一些REST请求(我的网络是这样设置的,我可以这样做)

为此,我想问你们,是否有一种方法可以通过编程获得Elasticsearch端点?我的意思是,例如,这个屏幕截图中“VPC端点”字段的值,但是通过AWS CLI或API调用,而不是通过UI

aws es描述elasticsearch域
不适用,因为我的域位于专有网络内

使用以下命令,我已成功获取网络接口的IP地址:
aws ec2描述网络接口--过滤“Name=status,Values=in use”“Name=description,Values=ES my ES domain Name”--查询“NetworkInterfaces[*].PrivateIpAddress”
但它不适用于其余调用(javax.net.ssl.SSLPeerUnverifiedException)


请帮忙!谢谢

回答我自己的问题,看起来我使用的是旧版本的java sdk以及aws cli

我更新了我的aws cli,在同一场景中,使用cli的1.15.31版,
aws es descripe elasticsearch domain
返回一个名为
Endpoints
的字段,其中包含端点


我能够在java sdk的1.11.328版(com.amazonaws.services.elasticsearch.AWSElasticsearch.descripbeelasticsearchdomain.getDomainStatus)中获得相同的结果。事实上,
DescribeElasticsearchDomainResult.getEndpoint
返回空值,但是在这个版本中还有一个
DescribeElasticsearchDomainResult.getEndpoints
方法,它返回包含端点的映射。

aws es es Descripte elasticsearch domain
不适用,因为我的域在vpc中。”这怎么会不适用呢?我尝试了这个命令,得到了一个空的端点字段。为了弄清楚它为什么是空的,我在互联网上找到了很多来源,比如这一个:,基本上就是说当域位于vpc内时,就会得到空。引用自链接:“如果所选ES域当前与VPC关联,则命令输出应返回请求的端点URL或null”。我无法实现此功能,awscli返回的JSON中缺少endpionts:(如果awscli输出中缺少端点,请尝试升级boto3库:
pip安装——用户boto3
)。