C#.NETコアコンソールプログラムでAWS認証情報を指定する方法

NealWalters:

.NETコアコンソールプログラムをテストして、SNSにメッセージを発行しようとしています。Lambdaで機能させるのに問題があったので、Lambda以外の環境で試してみたいと思います。Lambdaではセキュリティはロールでカバーされますが、コンソールプログラムでは、どういうわけかアクセスキーとシークレットを指定する必要があると思います。

私はこのページを読みました:http : //docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config-creds.html#net-dg-config-creds-sdk -storeですが、それでも完全に混乱しています。

EC2インスタンスではなく、ローカルの開発用コンピューターで実行しています。これで本番環境に行くつもりはありません。コードをテストするだけです。

Visual Studio 2015、.NET Core 1.0を使用しています。Nugetを使用して以下を取得しました: "AWSSDK.Extensions.NETCore.Setup": "3.3.3"、 "AWSSDK.SimpleNotificationService": "3.3.0.23"、

NET CoreでAWS SDKに認証情報を設定する方法への回答に基づいていますか?/user/.aws/credentialsファイルを作成しました(資格情報はディレクトリー名ではなくファイル名であると想定しています)。

しかし、その質問/回答は、実際にこのファイルを使用する方法を扱っていません。私が実行しているコードは以下のとおりです。

    public static void Main(string[] args)
    {
        Console.WriteLine("Started");
        //var awsCredentials = new Amazon.Runtime.AWSCredentials()
        var client = new Amazon.SimpleNotificationService.AmazonSimpleNotificationServiceClient(Amazon.RegionEndpoint.EUWest2);
        //var client = new Amazon.SimpleNotificationService.AmazonSimpleNotificationServiceClient(awsCredentials, Amazon.RegionEndpoint.EUWest2);
        //Amazon.SimpleNotificationService.Model.PublishResponse publishResp = null;
        SendMessage(client).Wait();
        Console.WriteLine("Completed call to SendMessage: Press enter to end:");
        Console.ReadLine(); 
    }

新しいクライアントで発生しているエラーは次のとおりです。

An unhandled exception of type 'Amazon.Runtime.AmazonServiceException' occurred in AWSSDK.Core.dll

Additional information: Unable to find credentials

AWSCredentialsオブジェクトをそのコンストラクターに渡す方法があるようですが、それを構築する方法がわかりません。Amazon.Runtime.AWSCredentialsは抽象クラスであるため、「新しい」ステートメントでは使用できません。

NealWalters:

ダンパントリーの回答に基づいて、コードが強調表示された簡単な短い回答を次に示します(2行目の領域列挙に注意してください)。

var awsCredentials = new Amazon.Runtime.BasicAWSCredentials("myaccesskey", "mysecretkey"); 
var client = new Amazon.SimpleNotificationService.AmazonSimpleNotificationSer‌​viceClient(
                              awsCreden‌​tials, Amazon.RegionEndpoint.EUWest2);

可能な場合は役割を使用しますが、必要に応じて上記で機能します。次に問題は、アクセスキー/シークレットキーを格納する場所です。環境変数、設定ファイル、ユーザーへのプロンプト、または通常の容疑者のいずれかである可能性があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Windowsアプリケーション出力タイプのC#プログラムでコンソールを表示する方法

分類Dev

C#のフォームからC ++のコンソールプログラムに番号を送信する方法

分類Dev

.NET 5.0コンソールアプリのC#でWindowsのバージョンを確認する方法

分類Dev

非同期クライアントソケットc#。プログラムの動作をブロックせずに、サーバーからの情報をループで待機するにはどうすればよいですか?

分類Dev

C#| コンソールアプリ| 次の行を実行する前にプログラムを待機させる方法(ミリ秒単位の時間)?

分類Dev

C#コンソールアプリで水平棒グラフを作成する方法

分類Dev

C ++プログラムでコンソールを一時停止する

分類Dev

Windowsの新しいコピーを使用してcでプログラムをコンパイルする方法は?外部ソフトウェアなし

分類Dev

C#プログラムを正常にコンパイルする方法

分類Dev

c#コンソールプログラムは6を2で割り、27を取得します

分類Dev

C#アプリケーションでJSONファイルを使用するGoogleBigQueryサービスアカウントの認証情報

分類Dev

プログラムでRoslynを使用してC#ファイルをコンパイルする方法は?

分類Dev

C#コンソールアプリケーションでエラーKeyEventHandlerを修正する方法は?

分類Dev

プログラムでc#にコーディングする方法(xamlを使用しない)

分類Dev

C#でクロスプラットフォームの位置情報サービスを使用する方法

分類Dev

Cのコンソールプログラムにアイコンを追加するにはどうすればよいですか?

分類Dev

.NET C#コンソールアプリケーション実稼働環境からより詳細な例外情報を取得するにはどうすればよいですか。

分類Dev

Linux C ++プログラムでコアダンプを有効にする方法

分類Dev

C#を使用してプログラムでストアドプロシージャを逆コンパイルすることが可能

分類Dev

C#でプログラム的にワークアイテムのコメントセクションに人を追加する方法

分類Dev

コンソールアプリケーションを介してC#出力をランダム化する

分類Dev

C#コンソールプログラムはイベントを永遠に待ちます

分類Dev

Windowsコンソールを自動的に閉じる方法(プログラムでCTRL + Cをコンソールに送信)?

分類Dev

GStreamerでC / C ++プログラムをコンパイルする方法

分類Dev

GStreamerでC / C ++プログラムをコンパイルする方法

分類Dev

C#を使用してコンソールアプリケーションでコマンドまたはプロセスを実行する方法

分類Dev

Windowsアプリケーションでコンソールアプリケーションを起動し、コマンドラインを読み取る(監視する)方法-C#でリアルタイムに1行ずつ

分類Dev

小さい値と大きい値を見つけるためのC#コンソールアプリケーションプログラム

分類Dev

名前空間にC#コンソールプログラム内のメソッドエラーを含めることはできません

Related 関連記事

  1. 1

    Windowsアプリケーション出力タイプのC#プログラムでコンソールを表示する方法

  2. 2

    C#のフォームからC ++のコンソールプログラムに番号を送信する方法

  3. 3

    .NET 5.0コンソールアプリのC#でWindowsのバージョンを確認する方法

  4. 4

    非同期クライアントソケットc#。プログラムの動作をブロックせずに、サーバーからの情報をループで待機するにはどうすればよいですか?

  5. 5

    C#| コンソールアプリ| 次の行を実行する前にプログラムを待機させる方法(ミリ秒単位の時間)?

  6. 6

    C#コンソールアプリで水平棒グラフを作成する方法

  7. 7

    C ++プログラムでコンソールを一時停止する

  8. 8

    Windowsの新しいコピーを使用してcでプログラムをコンパイルする方法は?外部ソフトウェアなし

  9. 9

    C#プログラムを正常にコンパイルする方法

  10. 10

    c#コンソールプログラムは6を2で割り、27を取得します

  11. 11

    C#アプリケーションでJSONファイルを使用するGoogleBigQueryサービスアカウントの認証情報

  12. 12

    プログラムでRoslynを使用してC#ファイルをコンパイルする方法は?

  13. 13

    C#コンソールアプリケーションでエラーKeyEventHandlerを修正する方法は?

  14. 14

    プログラムでc#にコーディングする方法(xamlを使用しない)

  15. 15

    C#でクロスプラットフォームの位置情報サービスを使用する方法

  16. 16

    Cのコンソールプログラムにアイコンを追加するにはどうすればよいですか?

  17. 17

    .NET C#コンソールアプリケーション実稼働環境からより詳細な例外情報を取得するにはどうすればよいですか。

  18. 18

    Linux C ++プログラムでコアダンプを有効にする方法

  19. 19

    C#を使用してプログラムでストアドプロシージャを逆コンパイルすることが可能

  20. 20

    C#でプログラム的にワークアイテムのコメントセクションに人を追加する方法

  21. 21

    コンソールアプリケーションを介してC#出力をランダム化する

  22. 22

    C#コンソールプログラムはイベントを永遠に待ちます

  23. 23

    Windowsコンソールを自動的に閉じる方法(プログラムでCTRL + Cをコンソールに送信)?

  24. 24

    GStreamerでC / C ++プログラムをコンパイルする方法

  25. 25

    GStreamerでC / C ++プログラムをコンパイルする方法

  26. 26

    C#を使用してコンソールアプリケーションでコマンドまたはプロセスを実行する方法

  27. 27

    Windowsアプリケーションでコンソールアプリケーションを起動し、コマンドラインを読み取る(監視する)方法-C#でリアルタイムに1行ずつ

  28. 28

    小さい値と大きい値を見つけるためのC#コンソールアプリケーションプログラム

  29. 29

    名前空間にC#コンソールプログラム内のメソッドエラーを含めることはできません

ホットタグ

アーカイブ