Return to Tech/aws

AWS SDK for .NET

AWS SDK for .NET
いろいろ試してみる

環境と前提条件

利用OS : Microsoft Windows 8.1 64-Bit
Microsoft .NET Framework : 4.5
AWS : AWS CLI, AWSSDKインストール済み
IAMユーザ : 作成済み

Windows accunt hoge : C:\Users\hoge
AWS CLI path : C:\DEV\AWS\AWSCLI
AWS SDK path : C:\DEV\AWSSDK\DOTNET
AWS CREDENTIALS PATH : C:\Users\hoge/.aws/credentials

C# プロジェクトディレクトリ: C:\DEV\AWSSDK\project

file:C:\DEV\ENV\awsenv.bat

@echo off
set PATH=%PATH%;C:\DEV\AWS\AWSCLI


1. はじめに

作成する設定ファイル名 : C:\DEV\AWSSDK\project\App.config
作成するコードファイル名 : ex01.cs

以下の内容を記述します。
このファイルをコードファイルで指定することで
認証情報をハードコードすることなく運用可能となっています。

file:App.config

<configuration>
 <configuSections>
  <section name="aws" type="Amazon.AWSSection, AWSSDK" />
 </configSections>
 <aws profileName="default" profileLocation="C:\Users\hoge\.aws\credentials" />
</configuration>



file:ex01.cs
using System;

// for AWSCredentials
using Amazon.Runtime;

// for IAmazonEC2
using Amazon.EC2;
using Amazon.EC2.Model;

namespace hogehoge {
 class Program
 {
  static void Main(string[] args)
  {
   AWSCredentials credentials =
    new StoredProfileAWSCredentials("default");

   IAmazonEC2 ec2 = AWSClientFactory.CreateAmazonEC2Client(
    credentials, RegionEndpoint.APNortheast1);

   DescribeInstancesRequest req =
    new DescribeInstancesRequest();

   try {
    DescribeInstancesResponse ec2res =
     ec2.DescribeInstances(req);

    int numInstances = 0;
    numInstances = ec2res.Reservations.Count;
    Console.WriteLine(
     "EC2インスタンスの数 : " + numInstances );

   }
   catch (AmazonEC2Exception ex)
   {
     // 例外処理 省略...
   }
  }
 }
}


コードのコンパイル方法

AWSSDK.DLLを利用します。カレントディレクトリにコピー済み

C:\DEV\AWSSDK\project>csc ex01.cs /reference:AWSSDK.dll

実行例
C:\DEV\AWSSDK\project>ex01.exe
EC2インスタンスの数 : 0

Return to Tech/aws