【AWS】LambdaでS3にファイルを書き込んでみた【S3】
こんにちは!nomurabbitです。
この記事ではLambdaでS3から
ファイルを読み込む方法を紹介します。
まずはファイルの書き込みから
勉強していきましょう!
テンプレートの準備
まず、Lambdaのテンプレートを準備します。
私は.NETが好きなので、
.NET Core 3.1でテンプレートを準備します。
.NET toolsのコマンドはこんな感じです。
dotnet new lambda.EmptyFunction --name 20211113_my_glb_invokesample
ソースコード
AWSSDK.S3が必要なので、
nugetでパッケージを追加します。
下記のように
AmazonS3Clientを使うのがポイントです。
public void GetAction(GlbRequestBody glbRequestBody) { try { var s3Client = new AmazonS3Client(RegionEndpoint.APNortheast1); var request = new Amazon.S3.Model.PutObjectRequest { BucketName = GlbUtil.S3_NOMURABBIT_BLOG_XXX, Key = DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".txt", ContentType = GlbUtil.CONTENT_TYPE_TEXT_PLAIN, ContentBody = glbRequestBody.Message, }; Amazon.S3.Model.PutObjectResponse response = s3Client.PutObjectAsync(request).Result; } catch (System.Exception e) { throw e; } }
GitHubにソースコードを載せてありますので、
よければご覧ください。
リクエストのmessageで送られた文字列を
S3にテキストファイルとして書き込むプログラムです。
以上でLambdaでS3にファイルを書き込むことができると思います。
よかったら試してみてください。
では!