AWSで実行されているEC2インスタンスの説明情報を取得する必要がある場合があります。これを達成するために、AWS Java SDKを使用しています。ユースケースの90%で、com.amazonaws.services.ec2.model.Instance
クラスがまさに私たちが必要とするクラスです。しかし、インスタンスを記述する生のXMLを取得することが有益な小さなユースケースもあります。すなわち、それ以前のXMLデータはInstance
オブジェクトに変換されます。 Instance
オブジェクトと AWS Java SDKを使用してXML文字列を取得する方法はありますか?手動で一方を他方に変換する方法はありますか?または、HttpClient
などのXMLデータを取得するために別の呼び出しを行う必要がありますか?AWS Java SDKを使用してEC2インスタンスXMLの説明を取得しますか?
答えて
xml(たとえばAWS rest APIを直接使用する場合)の場合は、com.amazonaws.services.ec2.model.transform.*
クラスを使用してxmlをjavaオブジェクトに変換できます。残念ながら、SDK自体に必要なクラスのみを提供しています。たとえば、InstanceStaxUnmarshallerを使用して生のXMLをインスタンスに変換できますが、そのようなコンバータを作成しない限り、インスタンスをXMLに変換することはできません。ここで
XMLEventReader eventReader = XMLInputFactory.newInstance().createXMLEventReader(new StringReader(instanceXml));
StaxUnmarshallerContext suc = new StaxUnmarshallerContext(eventReader, new TreeMap<>());
InstanceStaxUnmarshaller isu = new InstanceStaxUnmarshaller();
Instance i = isu.unmarshall(suc);
System.out.println(i.toString());
あなたはおそらくまだSDKの時間のほとんどを使用しているときに生のXMLを保つことができるように、生のAWS応答を傍受しようとすることができます。しかし、それはかなりのコーディングを必要とするので、簡単には呼べません。
JAXB次のように.marshalを使用できます。 JAXB(Java Architecture for XML Binding)はJavaオブジェクトをXMLファイルに変換することができます。
StringWriter sw = new StringWriter();
JAXB.marshal(instance, sw);
String xmlString = sw.toString();
AWS rest APIを使用して、Java SDKを置き換えることができます。 SDKのようにAmazonに統計データを送信しないため、ボーナスはわずかなパフォーマンス向上となります。
以下のようにbeforeUnmarshalling()メソッドをオーバーライドするには、Java AWS SDKを使用して、JavaオブジェクトへのRESTのAPIからXMLをマーシャリングするためにそこに方法は何ですか? Java Objectの方がはるかに扱いやすい場合がありますが、XMLがうまくいくケースがいくつかあります。 – Shadowman
要求ハンドラを追加することにより、EC2Clientを作成し、
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():
- 1. AWS Java SDK EC2インスタンスのスローエラーの説明
- 2. AWSノードSDKを使用してEC2クラスターにEC2インスタンスを追加する方法
- 3. AWSラムダ関数からEC2インスタンスIPを取得し、リクエストライブラリを使用します。
- 4. "DescribeInstanceStatus"ルーチンを使用したEC2インスタンスのフィルタ - AWS SDK
- 5. aws cliを使用してec2インスタンスの詳細を取得する方法
- 6. AWS PowerShellを使用してAWS EC2インスタンスにタグを追加しますか?
- 7. aws-ec2 windowsインスタンスのパスワードを取得する方法aws sdk in c#
- 8. BOTO3を使用してEC2インスタンスのパブリックDNSを取得する
- 9. は、アクセスキーを取得するにはどのように、JavaのAWSを使用して秘密鍵SDKは、EC2
- 10. aws java sdkを使用してmy amazonアカウントでタグを持つすべてのインスタンスを取得する方法
- 11. aws java sdkからec2ボリュームを削除しますか?
- 12. Node.jsを使用してEC2インスタンスからAWS S3ファイルをダウンロード
- 13. Java SDKを使用してAWS EMRクラスターからマスターパブリックDNS値を取得
- 14. AWS/EC2を使用してSSL証明書を適用する
- 15. CLIツールを使用してaws ec2インスタンスの月額費用を得る方法
- 16. terraformを使用してアプリケーションをAWS EC2インスタンスにデプロイ
- 17. EC2インスタンスの記述AWS cliを使用したインスタンス名のフィルタリング
- 18. AWS - CloudWatchを使用してec2インスタンスでスクリプトをトリガーする
- 19. AWS cloudformを使用してEC2インスタンスを起動する方法
- 20. cmdを使用してWindowsファイルの説明を取得する
- 21. ラムダを使用してインスタンスEC2ステータスを取得
- 22. AWS Cognitoを使用したiOSアプリケーションの説明的なログインエラーメッセージの取得
- 23. 使用AWS :: EC2 :: AWSでインスタンス:: CloudFormation ::初期
- 24. AWS CLI:AWS EC2説明-画像:ループとファイル
- 25. AWS EC2説明できないコスト
- 26. aws sdk ec2.describeInstancesすべてのEC2インスタンスがリストされていません
- 27. Remminaを使用してAWS EC2インスタンスにsshする方法
- 28. AWS CLIを使用してEC2インスタンスのタグをタグで終了します。
- 29. はプログラムで私がAWS Java SDKを使用してEC2インスタンス(アマゾンLinux)を作成することができる午前、新しく作成されたAWSインスタンス
- 30. AWS EC2インスタンスは、右の後に停止boto3を使用して
これはまさに私が探していたものです!ありがとう!! – Shadowman