結構前になりますが、AWS SDK for AndroidがEC2をサポートしたので、使ってみたいと思っていましたが、遅ればせながら実際に試してみました。
尚、導入方法については、AWS SDK for Androidを試してみるで、 cloudpackのなかの人が書いているので、そちらを参考にしていただければと思います。
(AWSから提供されたサンプルを元にS3などについても書かれています。)
恐らくAWSからEC2に関してのサンプルは提供されていなかったと思いますので、今回は、AWSCredentialsを使ったAmazonEC2Clientへの接続から稼働しているインスタンスを取得し、情報をLogCatに出力するまでを紹介します。
以下サンプルコード
try{ //AWSCredentialsを実装したBasicAWSCredentialsにaccessKeyとsecretKeyを定義 BasicAWSCredentials basiAwsCredentials = new BasicAWSCredentials("accessKey","secretKey"); //AmazonEC2Clientのインスタンス AmazonEC2Client amazonEC2Client = new AmazonEC2Client(basiAwsCredentials); //ReservationのListを取得 ListreservationList = amazonEC2Client.describeInstances().getReservations(); for(Reservation reservation :reservationList) { //EC2のInstanceのListを取得 List instanceList = reservation.getInstances(); for(Instance instance :instanceList) { //インスタンスのタイプ Log.i("InstanceType",instance.getInstanceType()); //インスタンスのID Log.i("InstanceId",instance.getInstanceId()); } } } catch ( Exception exception ) { Log.e( "Loading AWS Exception", exception.getMessage()); }
今回使用したクラスのjavadocは、以下になります。
LogCatの出力結果です。
DescribeInstancesResultからReservationの取得、Instance取得とEC2のインスタンス取得まで結構長いです。
こちらの記事はなかの人(hiroki0907)監修のもと掲載しています。
元記事は、こちら