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

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

.NET Core サンプルAWS Cloud9

このサンプルを使用してAWS Cloud9開発環境。

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

Prerequisites

このサンプルを使用する前に、セットアップが以下の要件を満たしていることを確認します。

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

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

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

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

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

    dotnet --version

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

  2. Amazon Linux の場合、AWS Cloud9IDE では、以下のコマンドを実行し、最新のセキュリティ更新プログラムおよびバグ修正がインストールされていることを確認して、libunwind.NET Core SDK が必要とするパッケージです。(新しいターミナルセッションを開始するには、メニューバーで、[Window (ウィンドウ)]、[New Terminal (新しいターミナル)] の順に選択します。)

    sudo yum -y update sudo yum -y install libunwind

    Ubuntu サーバーの場合、AWS Cloud9IDE では、以下のコマンドを実行し、最新のセキュリティ更新プログラムおよびバグ修正がインストールされていることを確認します。(新しいターミナルセッションを開始するには、メニューバーで、[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. .bashrc vi コマンドを使用して、 ファイルを編集のために開きます。

      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 CLI を実行して、.NET Core SDK がロードされることを確認します --help オプション。

    dotnet --help

    成功した場合、.NET Core SDK のバージョン番号が、その他の使用状況情報と共に表示されます。

  9. 環境に .NET Core SDK インストーラスクリプトを保持する必要がなくなった場合、次の方法で削除できます。

    rm dotnet-install.sh

ステップ 2 (オプション): Lambda 関数用の .NET CLI 拡張をインストールする

このチュートリアルでは必須ではありませんが、AWS Lambda関数およびAWS Serverless Application Modelをインストールする場合は、dotnet CLI を使用してAmazon.Lambda.Toolsパッケージ化する。

  1. パッケージをインストールするには、以下のコマンドを実行します。

    dotnet tool install -g Amazon.Lambda.Tools
  2. 今すぐ設定するPATHおよびDOTNET_ROOT環境変数を、インストールされた Lambda ツールを指すように設定します。左.bashrcファイルから、export PATHセクションを開き、次のように表示されるように編集します (このファイルの編集の詳細については、手順 1 を参照してください)。

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

ステップ 3: .NET Core コンソールアプリケーションプロジェクトを作成する

このステップでは、.NET Core を使用して hello という名前のプロジェクトを作成します。このプロジェクトには、.NET Core が IDE のターミナルからシンプルなアプリケーションを実行するのに必要なすべてのファイルが含まれています。アプリケーションのコードは C# で書かれています。

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

--nオプションは、プロジェクトが新しいディレクトリに出力されることを示します。hello。次に、そのディレクトリに移動します。

dotnet new console -lang C# -n hello cd hello

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

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

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

ステップ 4: コードの追加

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

[] から環境ウィンドウでAWS Cloud9IDE を起動するには、hello/Program.csファイルを開きます。

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

using System; namespace hello { class Program { static void Main(string[] args) { if (args.Length < 2) { Console.WriteLine("Please provide 2 numbers"); return; } 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); } } }

ステップ 5: コードをビルドして実行します

このステップでは、プロジェクトとその依存関係を、実行可能なアプリケーションファイルを含む 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. [新規]-アイドル[] タブで、[ランナー: Auto[] を選択してから、.NET Core

    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.

ステップ 6: を使用して .NET Core コンソールアプリケーションプロジェクトを作成し、セットアップするAWS SDK for .NET

このサンプルを拡張して、AWS SDK for .NETAmazon S3 バケットを作成し、利用可能なバケットの一覧を表示した後、作成したバケットを削除します。

この新しいプロジェクトでは、AWS SDK for .NET への参照を追加します。-AWS SDK for .NETと対話するための便利な方法を提供しますAWS.NET コードから Amazon S3 などのサービスを実行します。その後、AWS認証情報を環境に管理します。これらの認証情報は、AWS SDK for .NET が AWS のサービスとやり取りするために必要です。

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

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

    --nオプションは、プロジェクトが新しいディレクトリに出力されることを示します。s3。次に、そのディレクトリに移動します。

    dotnet new console -lang C# -n s3 cd s3
  2. Amazon S3 パッケージへのプロジェクト参照を追加します。AWS SDK for .NET。これを行うには、を使用して .NET Core CLI を実行します add package コマンドを使用して、NuGet で Amazon S3 パッケージの名前を指定します。(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開発者ガイド

ステップ 7: を追加します。AWSSDK コード

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

[] から環境ウィンドウでAWS Cloud9IDE を起動するには、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 { async static Task Main(string[] args) { if (args.Length < 2) { Console.WriteLine("Usage: <the bucket name> <the AWS Region to use>"); Console.WriteLine("Example: my-test-bucket us-east-2"); return; } if (args[1] != "us-east-2") { Console.WriteLine("Cannot continue. The only supported AWS Region ID is " + "'us-east-2'."); return; } var bucketRegion = RegionEndpoint.USEast2; // Note: You could add more valid AWS Regions above as needed. using (var s3Client = new AmazonS3Client(bucketRegion)) { var bucketName = args[0]; // Create the bucket. try { if (await AmazonS3Util.DoesS3BucketExistV2Async(s3Client, 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); await s3Client.PutBucketAsync(bucketName); } } 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 (await AmazonS3Util.DoesS3BucketExistV2Async(s3Client, 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); await s3Client.DeleteBucketAsync(bucketName); // Confirm that the bucket was deleted. if (await AmazonS3Util.DoesS3BucketExistV2Async(s3Client, 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 = await s3Client.ListBucketsAsync(); foreach (var bucket in response.Buckets) { Console.WriteLine(bucket.BucketName); } } } } }

ステップ 8: ビルドおよび実行するAWSSDK コード

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

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

  2. 作成する Amazon S3 バケットの名前と、AWSバケットを作成するリージョン (例:my-test-bucketおよびus-east-2) を以下のように記す。

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

    2. [新規]-アイドル[] タブで、[ランナー: Auto[] を選択してから、.NET Core

    3. コマンドボックスに、アプリケーションの名前、作成する Amazon S3 バケットの名前、AWSバケットを作成するリージョン (例: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:

ステップ 9: クリーンアップ

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