2019/01/17
好きなAws
Lambda, cognito
その他60%!!
{
id: "id12345678",
expire: "12345678", //TTL
payload: {
expire: "12345678",
d1: "22.2", //温度
d2: "33.3" //湿度
}
}
やった事
baopham/dynamodb
$ composer require baopham/dynamodb
$ vi config/app.php <- 'providers'に追加
$ php artisan vendor:publish
Which provider or tag's files would you like to publish?:
[0 ] Publish files from all providers and tags listed below
[1 ] Provider: BaoPham\DynamoDb\DynamoDbServiceProvider
[2 ] Provider: BeyondCode\DumpServer\DumpServerServiceProvider
[3 ] Provider: Fideloper\Proxy\TrustedProxyServiceProvider
[4 ] Provider: Illuminate\Foundation\Providers\FoundationServiceProvider
[5 ] Provider: Illuminate\Mail\MailServiceProvider
[6 ] Provider: Illuminate\Notifications\NotificationServiceProvider
[7 ] Provider: Illuminate\Pagination\PaginationServiceProvider
[8 ] Provider: Laravel\Tinker\TinkerServiceProvider
[9 ] Tag: config
[10] Tag: laravel-errors
[11] Tag: laravel-mail
[12] Tag: laravel-notifications
[13] Tag: laravel-pagination
> 1
Copied File [/vendor/baopham/dynamodb/config/dynamodb.php] To [/config/dynamodb.php]
Publishing complete.
nodejsインストール
welcome.blade.phpの修正、
ExampleComponent.vue追加
自身のapiをaxiosで叩き、DynamoDbよりデータ取得
sudo amazon-linux-extras install epel
sudo yum install -y nodejs
is 何?
比較的大きなものでも動かせるようになるので、laravel等のフレームワーク用のLayer作っておいてソースだけをLambda Functionにdeployとかできるかもですね。
is 何?
Serverless Application Model
AWS SAM は言うならば、 AWS CloudFormation (以降 CFn) のサーバーレス拡張 です。AWS SAM の各リソースは CFn のこれまでのリソース定義と似たフォーマットで定義されており、このフォーマットで記述されたテンプレートを CFn に渡すことで、スタックとして AWS 上に展開することができます。具体的には以下のような感じです。YAML または JSON で記述することができます。
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
FunctionName:
Type: AWS::Serverless::Function
Properties:
Handler: index.handler
Runtime: nodejs4.3
api gateway:
/css/app.css等のpathがdefaultでは表示できなかった。
→ api gatewayのリソースとして
追加してやれば表示できると思う
Lambda Layer:
もっとLaravel特有の部分とソースを分けておいてよかったように思う。
”AWS Lambda で Laravel を動かしてみた”をやってみた
https://qiita.com/ikegam1/items/b96a496751d448fffe6c
Lambda on Laravel on VueJs with Dynamodb する
https://qiita.com/ikegam1/items/e903aab13ad026287e39
https://github.com/ikegam1/Lambda-on-Laravel-on-VueJs-with-Dynamodb