け日記

SIerから転職したWebアプリエンジニアが最近のITのキャッチアップに四苦八苦するブログ

AWS

Kinesis FirehoseでS3にアップロードしたファイルをAthenaで検索する

AWS

前回の投稿ではLambdaからエンキューされたメッセージをKinesis FirehoseでS3までアップロードしました。 今回はAthenaを使ってこのアップロードしたファイルをSQLで検索できるようにします。 Athena S3バケットのファイルからSQLライクな構文で検索できるサ…

Kinesis Firehoseを使ってLambda(C#)からS3にファイル出力する

今回はKinesis Firehoseを使って、Lambdaから受け取ったレコードをS3に出力させてみます。 Kinesis Firehoseの作成 Kinesis Firehoseは受信したレコードをプログラミングゼロでS3/Redshift/Elasticsearchへ流し込むことができるストリームサービスで、現在は…

C#でDynamoDBをバルクで取得・更新する

DynamoDBをバッチなどでアクセスすることを想定して、今回はDynamoDBのデータをバルクで取得・更新させてみます。 BatGetとBatchWrite DynamoDBをバルクで取得・更新する場合、C#の永続性モデルではDynamoDBContextクラスで提供されるBatchGetおよびBatchWri…

Lambda(C#)でDynamoDB Streamsを使う

DynamoDB StreamsをLambda(C#)で使ってみました。 DynamoDB Streams DynamoDBにはテーブルへの更新(作成、変更、削除)をキャプチャし、その情報(レコード)をバッファリングするストリームを作成することができる「DynamoDB Streams」という機能が提供され…

Go+Gin+DynamoDBでWeb APIサーバを作る

仕事でGoを使うこととなりましたので、年明けから勉強しておりました。 一つの区切りとしてナンチャッテToDo Web APIサーバを作りましたので、GitHubで公開しておきます。 github.com 参考文献 Goは↓の本を読んでました。 他の言語と比較しながらGoの考え方…

Lambda(C#)の環境変数にアクセスする

今回はLambdaの環境変数にC#からアクセスしてみます。 接続するDBを環境毎に切り替える場合などに役立ちます。 AWS Lambda の新機能 – 環境変数とサーバーレスアプリケーションモデル (SAM) | Amazon Web Services ブログ (結構最近追加された機能だったの…

Visual StudioのAWS Serverlessテンプレートを使ってLambdaの環境を作る

12月にAWS LambdaがC#でも使えるようになって、Serverlessでも1.4.0からC#用のテンプレートが提供されましたが、プロジェクトファイルは別で準備しないといけなかったり、ちょっと不便でした。 ところが、AWS SDKでServerless用のプロジェクトテンプレートが…

AWS Lambda(C#)の初回実行が遅いようなので調べました

最近の投稿でC#で書いたプログラムをLambdaで実行させていますが、初回実行が2回目以降と比較して明らかに遅いようなので簡単に調査しました。 構成 PCからJMeterでAPI Gatewayへリクエストし、API GatewayがLambdaをキックさせます。 Lambda自体は定数文字…

AWS DynamoDBをC#でCRUDする

今回はDynamoDBへのCRUD操作を、C#で書いて、Lambdaで動かしてみたいと思います。 テーブルの作成 まずはAWS ConsoleからDynamoDBへテーブルを予め作成します。 テーブル名を"Todos"とします。 パーティションキーを"Id"、ソートキーを"Due"とします。 エン…

AWS Kinesis StreamへPut/GetするLambdaをC#で書いてみる

今回はKinesis StreamへPut/GetするLambdaをC#で書いてみます。 データフローとしてはLambda→Kinesis Stream→Lambdaとなります。 Kinesis Streamの作成 Kinesis Streamは、デバイス情報やログなどの継続して生成され続けるデータを効率的に処理するためのマ…

AWS API GatewayでフックされるLambdaをC#で書いてみる

最近仕事でAWSに触っています。 また、12/1にAWSのLambdaがC#に対応したこともあり、Lambdaで色々遊んでます。 AWS Lambda Supports C# 今回の投稿では、HTTPリクエストを受けたAPI GatewayがLambdaをフックしてレスポンスを返す、ということをやってみます…