S3かアプリケーションかの問題切り分けができない

0

いつもお世話になっております。 現在、AWSのS3に対して、ファイルのダウンロード/アップロードのC#アプリを作成しております。 ひととおりダウンロードのロジックを組み込み動作確認を行ったところ、 AmazonS3Clientの戻り値を使った「client.GetObjectAsync()」関数の呼び出し中に 突然プログラムが終了する。という現象が発生しました。 この問題について、アプリの問題かAWSS3のセキュリティ設定の問題かを切り分けるため、 アプリ側で確実に動作することが確認できたサンプルコードを探しておりますが、 ドキュメントの量がおおく発見することができておりません。 動作確認として利用可能なC#のサンプルソースあるいはサンプルプロジェクトがご存知でしたら、 ご教示いただけますと幸いです。 よろしくお願い申し上げます。

Plumsa
質問済み 5ヶ月前513ビュー
1回答
0

こちらのドキュメントに記載されているGetObjectの例などは参考になると思います。
https://docs.aws.amazon.com/ja_jp/sdk-for-net/v3/developer-guide/csharp_s3_code_examples.html

公式ドキュメントではないですが、こちらのブログなども参考にできると思います。
https://qiita.com/mahiya/items/8a1e45bc370d4212ad37#%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E5%87%A6%E7%90%86

profile picture
エキスパート
回答済み 5ヶ月前
  • ありがとうございます。またお返事遅くなり申し訳ございません。 特に2つ目の記事を参考に確認し、修正してみました。 「S3 CLI」でダウンロードはできるようになりました。 https://aws.amazon.com/jp/getting-started/hands-on/backup-to-s3-cli/

    appsetting.jsonに記載されていた、アクセスキー/シークレットアクセスキーが IAMユーザーのどこにも作られていなかったことがわかりました。 それを作って、CLIでバケットダウンロードができるようにはなったのですが、 プログラムからは、相変わらず突然終了する現象がでています。

    「AWS DynamoDB, S3, SQS を .NET Core で使うコードスニペット集」 の 「ダウンロードしてファイルとして保存する」に記載のロジックを転記して呼び出してみましたが現象変わらず。 try-catchで例外の捕捉を試してみましたが捕捉できずプログラム終了となっています。 まさに「ダウンロードしてファイルとして保存する」がやりたいことなのですが。。。

    スニペット集では、リージョンやアクセスキーの設定までは記載されていなかったので、 そこも補足してロジックは組んでいます。 「突然プログラム終了」としていましたが、試しにブレークポイントを複数仕掛けたところ、 問題の関数からは戻ってきていました。 「突然関数終了」の表現が正しいようです。

    「S3 CLI」ではダウンロードできているので、それを子プロセス起動してみます。

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン