java - 使用 AWS Java SDK 获取 EC2 实例 XML 描述?

标签 java xml amazon-web-services amazon-ec2 aws-java-sdk

我们有一个场景,我们需要检索在 AWS 上运行的 EC2 实例的描述信息。为此,我们使用 AWS Java SDK。在我们 90% 的用例中,com.amazonaws.services.ec2.model.Instance 类正是我们所需要的。但是,还有一个小用例,获取描述实例的原始 XML 是有益的。即,转换为 Instance 对象之前的 XML 数据。有什么方法可以使用 AWS Java SDK 获取 Instance 对象 XML 字符串?有没有办法手动从一个转换为另一个?或者,我们是否会被迫使用 HttpClient 或类似的东西进行单独调用以获取 XML 数据?

最佳答案

通过添加请求处理程序创建 EC2Client 并重写 beforeUnmarshalling() 方法,如下所示

AmazonEC2ClientBuilder.standard().withRegion("us-east-1")
    .withRequestHandlers(
            new RequestHandler2() {
                  @Override
                    public HttpResponse beforeUnmarshalling(Request<?> request, HttpResponse httpResponse) {
                        // httpResponse.getContent() is the raw xml response from AWS
                        // you either save it to a file or to a XML document
                        return new HTTPResponse(...);
                        // if you consumed httpResponse.getContent(), you need to provide new HTTPResponse
                    }
                }
        ).build():

关于java - 使用 AWS Java SDK 获取 EC2 实例 XML 描述?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46081991/

相关文章:

java - 安卓开发: Changing Background Tinton Button with Java

java - Soap:如何验证空元素

amazon-web-services - 在 CloudFormation 中为 EMR 主节点私有(private) IP 地址创建 A 记录

php - 在 AWS 上的 symfony 2.8 应用程序中更改根目录 - Elastic Beanstalk

amazon-web-services - 带有Docker和Elastic Beanstalk的企业应用程序

java - 在java中将列表转换为逗号分隔字符串的最佳方法

java - @ManyToMany 连接表失败

xml - 使用 Groovy XmlSlurper 查找属性的最大值

java - 清除搜索后 ListView 未返回原始状态

mysql - 如何使用 mysql LOAD XML LOCAL INFILE 导入 xml 文件