.NET Coreサンプル AWS Cloud9 - AWS Cloud9

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

.NET Coreサンプル AWS Cloud9

このサンプルを使用して AWS Cloud9 開発環境 でいくつかの .NET Core コードを実行できます。

このサンプルを作成すると、AWS アカウントに課金される場合があります。これには、Amazon EC2 や Amazon S3 などのサービスで発生する可能性がある料金も含まれます。詳細については、「Amazon EC2 料金表」および「Amazon S3 料金表」を参照してください。

Prerequisites

このサンプルを使用する前に、以下の前提条件を満たしていることを確認します。

  • 既存の AWS Cloud9 EC2 開発環境 がある。 このサンプルでは、Amazon Linux または Ubuntu Server を実行する Amazon EC2 インスタンスに接続された EC2 環境 が既にあることを前提としています。別のタイプまたはオペレーティングシステムの 環境 がある場合、このサンプルの手順を調整して関連ツールをセットアップする必要がある場合があります。詳細については、「AWS Cloud9 で 環境 を作成する」を参照してください。

  • 既存の環境に既に開いている AWS Cloud9 IDE がある。 環境 を開くと、AWS Cloud9 によってその 環境 の IDE がウェブブラウザで開かれます。詳細については、「で環境を開く AWS Cloud9」を参照してください。

ステップ 1. 必要なツールのインストール

このステップでは、.NET Core SDKを 環境、このサンプルの実行に必要です。

  1. 最新バージョンの.NET Core SDK がすでにインストールされているかどうか確認します。 環境. これを行うには、AWS Cloud9 IDE のターミナルセッションで、--version オプションを使用して .NET Core コマンドラインインターフェース (CLI) を実行します。

    dotnet --version

    .NET コマンドラインツールのバージョンが表示され、バージョンが 2.0 以上の場合、ステップ 2. .NET Core コンソールアプリケーションプロジェクトを作成します。 まで進みます。バージョンが2.0未満の場合、または bash: dotnet: command not found が表示されるので、.NET Core SDKのインストールを続行します。

  2. 対象: Amazon Linuxのターミナルセッションで、 AWS Cloud9 IDE次のコマンドを実行して、最新のセキュリティ アップデートとバグ修正がインストールされていることを確認し、 libunwind.NET Core SDKに必要なパッケージです。(新しいターミナルセッションを開始するには、メニューバーで、[Window (ウィンドウ)]、[New Terminal (新しいターミナル)] の順に選択します。)

    sudo yum -y update sudo yum -y install libunwind

    Ubuntu Server では、AWS Cloud9 IDE のターミナルセッションで、以下のコマンドを実行し、最新のセキュリティ更新プログラムおよびバグ修正がインストールされていることを確認します。(新しいターミナルセッションを開始するには、メニューバーで、[Window (ウィンドウ)]、[New Terminal (新しいターミナル)] の順に選択します。)

    sudo apt -y update
  3. .NET Core SDKインストーラースクリプトを 環境 次のコマンドを実行します。

    wget https://dot.net/v1/dotnet-install.sh
  4. 次のコマンドを実行して、インストールスクリプトを現在のユーザーに実行可能にします。

    sudo chmod u=rx dotnet-install.sh
  5. 以下のコマンドを実行して、.NET Core SDKをダウンロードしてインストールするインストーラスクリプトを実行します。

    ./dotnet-install.sh -c Current
  6. .NET Core SDKを PATH。 これを行うには、 環境 (たとえば、 .bashrc ファイル)、 $HOME/.dotnet サブディレクトリを PATH 変数 環境、以下の通り。

    1. vi コマンドを使用して、.bashrc ファイルを編集のために開きます。

      vi ~/.bashrc
    2. Amazon Linux では、下向き矢印または j キーを使用して、export PATH で始まる行に移動します。

      Ubuntu Server では、「G」と入力して、ファイルの最後の行に移動します。

    3. 右向き矢印または $ キーを使用して、行の末尾に移動します。

    4. を押して挿入モードに切り替えます i キー。(-- INSERT --- が表示の末尾に表示されます)。

    5. 対象: Amazon Linux、追加します $HOME/.dotnet サブディレクトリを PATH 変数(入力による) :$HOME/.dotnet。 必ずコロン(:)。行は以下のようになります。

      export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HOME/.dotnet

      Ubuntu Server では、右矢印キーを押し、Enter を 2 回押してから、ファイルの末尾に次の行を単独で入力します。

      export PATH=$HOME/.dotnet:$PATH
    6. ファイルを保存します。これを行うには、Esc キーを押して (-- INSERT --- が表示の末尾から消えます)、:wq と入力し (ファイルに書き込んで終了します)、Enter キーを押します。

  7. .NET Core SDK をロードするには、 .bashrc ファイル。

    . ~/.bashrc
  8. .NET Core SDKがロードされていることを確認するには、.NET Core CLIを --help オプション。

    dotnet --help

    成功すると、.NET Core SDK バージョン番号と、その他の使用情報が表示されます。

  9. .NET Core SDK インストーラ スクリプトを 環境、次のように削除できます。

    rm dotnet-install.sh

ステップ 2. .NET Core コンソールアプリケーションプロジェクトを作成します。

このステップでは、.NET Coreを使用して、 hello。 このプロジェクトには、.NET Coreが IDE. アプリケーションのコードは C# で書かれています。

  1. ターミナルで、次のコマンドを実行してプロジェクトのディレクトリを作成し、その新しいディレクトリに切り替えます。

    mkdir hello cd hello
  2. .NET Core コンソールアプリケーションプロジェクトを作成します。これを行うには、new コマンドを使用して .NET Core CLI を実行します。次のように、使用するコンソールアプリケーションオブジェクトテンプレートタイプとプログラミング言語 (このサンプルでは C#) を指定します。

    dotnet new console -lang C#

    前述のコマンドは、いくつかのファイルを含む obj という名前のサブディレクトリを追加し、追加のスタンドアロンファイルを hello ディレクトリに追加します。次の 2 つのキーファイルに注意してください。

    • hello/hello.csproj ファイルには、コンソールアプリケーションプロジェクトに関する情報が含まれています。

    • hello/Program.cs ファイルには、実行するアプリケーションのコードが含まれています。

ステップ 3. コードを追加

このステップでは、アプリケーションにコードを追加します。

AWS Cloud9 IDE の [環境] ウィンドウで、hello/Program.cs ファイルを開きます。

エディタで、ファイルの現在の内容を次のコードに置き換えて、Program.cs ファイルを保存します。

using System; namespace hello { class Program { static void Main(string[] args) { Console.WriteLine("Hello, World!"); Console.WriteLine("The sum of 2 and 3 is 5."); int sum = Int32.Parse(args[0]) + Int32.Parse(args[1]); Console.WriteLine("The sum of {0} and {1} is {2}.", args[0], args[1], sum.ToString()); } } }

ステップ 4. コードをビルドして実行します。

このステップでは、プロジェクトとその依存関係を、実行可能なアプリケーションファイルを含む 1 つのバイナリファイルのセットにビルドします。次にアプリケーションを実行します。

  1. IDE で、次のように .NET Core のビルダーを作成します。

    1. メニューバーで、[Run (実行)]、[Build System (ビルドシステム)]、[New Build System (新しいビルドシステム)] の順に選択します。

    2. [My Builder.build] タブで、タブの内容を以下のコードに置き換えます。

      { "cmd" : ["dotnet", "build"], "info" : "Building..." }
    3. [File (ファイル)]、[Save As (名前を付けて保存)] の順に選択します。

    4. [Filename (ファイル名)] に「.NET Core.build」と入力します。

    5. [Folder (フォルダ)] に「/.c9/builders」と入力します。

    6. [Save] を選択します。

  2. エディタに Program.cs ファイルの内容を表示した状態で、[Run (実行)]、[Build System (ビルドシステム)]、[.NET Core] の順に選択します。次に、[Run (実行)]、[Build (ビルド)] を選択します。

    このビルダは、bin という名前のサブディレクトリを追加し、Debug という名前のサブディレクトリを hello/obj サブディレクトリに追加します。次の 3 つのキーファイルに注意してください。

    • この hello/bin/Debug/netcoreapp3.1/hello.dll ファイルは、実行可能なアプリケーションファイルです。

    • hello/bin/Debug/netcoreapp3.1/hello.deps.json ファイルは、アプリケーションの依存関係をリストします。

    • hello/bin/Debug/netcoreapp3.1/hello.runtimeconfig.json ファイルは、アプリケーションの共有ランタイムとそのバージョンを指定します。

    注記

    フォルダ名、 netcoreapp3.1は、この例で使用されている.NET Core SDK のバージョンを反映しています。インストールしたバージョンによって、フォルダ名に異なる番号が表示される場合があります。

  3. 次のように、.NET Core のランナーを作成します。

    1. メニューバーで、[Run (実行)]、[Run With (次で実行)]、[New Runner (新しいランナー)] の順に選択します。

    2. [My Runner.run] タブで、タブの内容を以下のコードに置き換えます。

      { "cmd" : ["dotnet", "run", "$args"], "working_dir": "$file", "info" : "Running..." }
    3. [File (ファイル)]、[Save As (名前を付けて保存)] の順に選択します。

    4. [Filename (ファイル名)] に「.NET Core.run」と入力します。

    5. [Folder (フォルダ)] に「/.c9/runners」と入力します。

    6. [Save] を選択します。

  4. 追加する 2 つの整数を指定してアプリケーションを実行します (例: 59) を追加します。

    1. エディタに Program.cs ファイルの内容を表示した状態で、[Run (実行)]、[Run Configurations (実行設定)]、[New Run Configuration (新しい実行設定)] の順に選択します。

    2. [新規] - アイドル タブ、選択 ランナー: 自動を選択し、次に .NET Core(.NETコア).

    3. [Command (コマンド)] ボックスに、「hello 5 9」と入力します。

    4. [Run (実行)] を選択します。

      デフォルトでは、このランナーは .NET Core に hello.dll ディレクトリで hello/bin/Debug/netcoreapp3.1 ファイルを実行するよう指示します。

      出力を以下と比較します。

      Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.

ステップ 5. .NET Coreコンソール・アプリケーション・プロジェクトを作成し、セットアップします。 AWS SDK for .NET

このサンプルを強化して AWS SDK for .NET を使用し、Amazon S3 バケットの作成、利用可能なバケットの一覧表示、さらに作成したバケットの削除を行うことができます。

この新しいプロジェクトでは、AWS SDK for .NET への参照を追加します。AWS SDK for .NET を使用すると、.NET コードから Amazon S3 などの AWS のサービスを簡単に操作できます。その後、環境 で AWS 認証情報管理を設定します。これらの認証情報は、AWS SDK for .NET が AWS のサービスとやり取りするために必要です。

プロジェクトを作成するには

  1. ターミナルで、以下のコマンドを実行して 環境 のルートディレクトリに移動し、s3 という名前のプロジェクトのディレクトリを作成して、その新しいディレクトリに切り替えます。

    cd .. mkdir s3 cd s3
  2. .NET Core コンソールアプリケーションプロジェクトを作成します。これを行うには、使用するコンソールアプリケーションオブジェクトテンプレートタイプとプログラミング言語を指定し、new コマンドを使用して .NET Core CLI を実行します。

    dotnet new console -lang C#
  3. AWS SDK for .NET で Amazon S3 パッケージへのプロジェクト参照を追加します。これを行うには、NuGet の Amazon S3 パッケージの名前を指定し、add package コマンドを使用して .NET Core CLI を実行します。(NuGet では、.NET のパッケージを作成、ホスト、使用する方法が定義され、それらのロールごとにツールが用意されています)。

    dotnet add package AWSSDK.S3

    Amazon S3 パッケージにプロジェクト参照を追加すると、NuGet は AWS SDK for .NET の他の部分にもプロジェクト参照を追加します。

    注記

    NuGet の AWS 関連パッケージの名前とバージョンについては、NuGet ウェブサイトで「NuGet packages tagged with aws-sdk」を参照してください。

AWS 認証情報管理を設定するには

AWS SDK for .NET を使用して AWS のサービスを呼び出すたびに、呼び出しに一連の AWS 認証情報を指定する必要があります。これらの認証情報は AWS SDK for .NET にその呼び出しを行う適切なアクセス許可があるかどうかを判別します。認証情報に適切なアクセス権限がない場合は、呼び出しは失敗します。

認証情報を 環境 に保存するには、の環境からAWSサービスを呼び出す AWS Cloud9 の手順を実行してから、このトピックに戻ります。

詳細については、以下を参照してください。 設定 AWS 資格情報AWS SDK for .NET 開発者ガイド.

ステップ 6. 追加 AWS SDKコード

このステップでは、Amazon S3 を操作してバケットを作成し、作成したバケットを削除した後、利用できるバケットのリストを表示するコードをいくつか追加します。

AWS Cloud9 IDE の [Environment (環境)] ウィンドウで、s3/Program.cs ファイルを開きます。エディタで、ファイルの現在の内容を次のコードに置き換えて、Program.cs ファイルを保存します。

using Amazon; using Amazon.S3; using Amazon.S3.Model; using Amazon.S3.Util; using System; using System.Threading.Tasks; namespace s3 { class Program { private static RegionEndpoint bucketRegion; private static IAmazonS3 s3Client; static void Main(string[] args) { if (args.Length < 2) { Console.Write("Usage: <the bucket name> <the AWS Region to use>\n" + "Example: my-test-bucket us-east-2\n"); return; } if (args[1] == "us-east-2") { bucketRegion = RegionEndpoint.USEast2; } else { Console.WriteLine("Cannot continue. The only supported AWS Region ID is " + "'us-east-2'."); return; } // Note: You could add more valid AWS Regions above as needed. s3Client = new AmazonS3Client(bucketRegion); var bucketName = args[0]; // Create the bucket. try { if (DoesBucketExist(bucketName)) { Console.WriteLine("Cannot continue. Cannot create bucket. \n" + "A bucket named '{0}' already exists.", bucketName); return; } else { Console.WriteLine("\nCreating the bucket named '{0}'...", bucketName); s3Client.PutBucketAsync(bucketName).Wait(); } } catch (AmazonS3Exception e) { Console.WriteLine("Cannot continue. {0}", e.Message); } catch (Exception e) { Console.WriteLine("Cannot continue. {0}", e.Message); } // Confirm that the bucket was created. if (DoesBucketExist(bucketName)) { Console.WriteLine("Created the bucket named '{0}'.", bucketName); } else { Console.WriteLine("Did not create the bucket named '{0}'.", bucketName); } // Delete the bucket. Console.WriteLine("\nDeleting the bucket named '{0}'...", bucketName); s3Client.DeleteBucketAsync(bucketName).Wait(); // Confirm that the bucket was deleted. if (DoesBucketExist(bucketName)) { Console.WriteLine("Did not delete the bucket named '{0}'.", bucketName); } else { Console.WriteLine("Deleted the bucket named '{0}'.", bucketName); }; // List current buckets. Console.WriteLine("\nMy buckets now are:"); var response = s3Client.ListBucketsAsync().Result; foreach (var bucket in response.Buckets) { Console.WriteLine(bucket.BucketName); } } static bool DoesBucketExist(string bucketName) { if ((AmazonS3Util.DoesS3BucketExistAsync(s3Client, bucketName).Result)) { return true; } else { return false; } } } }

ステップ 7. の構築と実行 AWS SDKコード

このステップでは、プロジェクトとその依存関係を、実行可能なアプリケーションファイルを含む 1 つのバイナリファイルのセットにビルドします。次にアプリケーションを実行します。

  1. プロジェクトをビルドします。これを行うには、エディタに s3/Program.cs ファイルの内容を表示した状態で、[Run (実行)]、[Build (ビルド)] の順に選択します。

  2. 次のように、作成する Amazon S3 バケットの名前と、バケットを作成する AWS リージョンの ID (例: my-test-bucketus-east-2) を使用して、アプリケーションを実行します。

    1. エディタに s3/Program.cs ファイルの内容を表示した状態で、[Run (実行)]、[Run Configurations (実行設定)]、[New Run Configuration (新しい実行設定)] の順に選択します。

    2. [新規] - アイドル タブ、選択 ランナー: 自動を選択し、次に .NET Core(.NETコア).

    3. [コマンド] ボックスに、アプリケーションの名前、作成する Amazon S3 バケットの名前、バケットを作成する AWS リージョンの ID を入力します (例: s3 my-test-bucket us-east-2)。

    4. [Run (実行)] を選択します。

      デフォルトでは、このランナーは .NET Core に s3.dll ディレクトリで s3/bin/Debug/netcoreapp3.1 ファイルを実行するよう指示します。

      結果を以下の出力と比較します。

      Creating a new bucket named 'my-test-bucket'... Created the bucket named 'my-test-bucket'. Deleting the bucket named 'my-test-bucket'... Deleted the bucket named 'my-test-bucket'. My buckets now are:

ステップ 8. クリーンアップ

このサンプルを使用し終わった後 AWS アカウントで料金が継続的に発生するのを防ぐには、環境 を削除する必要があります。手順については、「AWS Cloud9 で環境を削除する」を参照してください。