AWS SESを使用してメール送信を行う

AWS SES( Simple Email Service )はAWS上で利用できるMTA。みたいなもの。 AWSから提供されているライブラリを利用することでビルトインのメールサーバのような感覚で使用できます。 SESのリージョン SESは東京リージョンはサポート対象外なので、対応してい…

AWS S3 パブリックアクセス禁止のオブジェクトに署名して一時的にアクセス可能なURLを生成する

S3のオブジェクトは署名を付与することで、署名が有効な期間内中はアクセス可能にすることができます。 署名の作成 以下の例ではPython boto3を利用して署名付URLを作成しています。 48 * 60 * 60 (48時間)内でオブジェクトの取得可能なURLを生成。 s3 = bot…

OSI参照モデル レイヤ4とレイヤ5とレイヤ6

レイヤ5とレイヤ6の記憶がいつも曖昧なので再勉強しました。 レイヤ4 トランスポート層 レイヤ4はエンドツーエンドの通信規格。 TCP TCPでは以下のような規格。 3ハンドシェイク ウィンドウ、シーケンス番号と確認応答番号による伝達メッセージの到達確認 ポ…

リピーターハブとスイッチングハブ

リピータハブ リピーターハブは接続された機器すべてに対して受け取ったパケットをブロードキャストする。 OSI参照モデルでいうところのレイヤ1の規格。接続された機器の宛先を管理しない。 ちなみにL1でスイッチするものもあるらしい。 L1スイッチの使い道:…

Scala DynamoDBを利用する

PlayframeworkからAWS SDK for Java 2.0を使用して、DynamoDBを利用したので記録しておきます。 といってもJavaのAWS SDKを使用するだけなので、Scalaはあまり関係ないかも(^_^;) 依存ライブラリ build.sbt libraryDependencies += "software.amazon.awssdk"…

AWS API Gatewayからのevent['body']がbase64 encodeされて渡される

表題の通り。 method="POST"で送信した値がHTTP APIとしたAPI GatewayからLambdaにeventを渡す際、bodyの中身がbase64 encodeされた文字列として渡される。 API GateWayから渡されるevent['body']は今の仕様だとbase64エンコードされて渡されるみたい。from …

AWS Python boto3でDynamoDBを扱う

PythonからAWSの各リソースにアクセスするにはboto3を利用します。 AWS Lambdaで利用する際は、そのままboto3が扱えるのでLambdaパッケージにboto3を含める必要はありません。 DynamoDBのリソースを取得 import boto3 dynamodb = boto3.resource('dynamodb')…