AWS Lambda(C#)でS3へファイルをアップロードする
あらかじめNugetから「AWSSDK.S3」パッケージをインストールしておきます。

下記usingディレクティブを追記します。
using Amazon.S3;
using Amazon.S3.Model;
以下、Lambda関数本体のソースコードサンプルです。
public async Task<string> FunctionHandler(string input, ILambdaContext context)
{
var client = new AmazonS3Client(Amazon.RegionEndpoint.APNortheast1);
PutObjectRequest request = new PutObjectRequest()
{
BucketName = "bucket-name",
Key = "foo.txt",
ContentType = "text/plain",
ContentBody = input
};
try
{
var response = await client.PutObjectAsync(request);
return "OK";
}
catch (Exception e)
{
return e.ToString();
}
}
S3バケット「bucket-name」に「foo.txt」という名前のテキストファイルをアップロードします。Lambda関数の呼び出し元から渡された文字列をファイルの内容に指定しています。
早速パブリッシュして動作確認してみます。
Test FunctionウィンドウのSample Input欄に適当な文字列を入力し、「Invoke」ボタンをクリックします。

うまくいくと、Reponseに”OK”という文字列が返ってきます。

S3に「foo.txt」がアップロードがされています。

ファイルの内容も正しく入っていることが確認できました。

以上です。
投稿者プロフィール

- 東京在住のフリーランスエンジニア
最新の投稿
AWS2020.11.05AWS CLI コマンドまとめ ~S3編~
AWS2020.11.02AWS コマンドラインインターフェイス(CLI)をインストールする~Windows編~
その他2020.10.30Chromeでクロスドメインiframe内の要素にアクセスする
AWS2020.10.29AWS API GatewayのREST APIでモックを作成する