## Lambda + DynamoDB [\[ AWS \] 初めてLambda-PythonとDynamoDBに触る人に参考になるかもな話 - Qiita](https://qiita.com/ykhirao/items/04a921f79574c46f61c0) ### Setting よくわからないけど、ひとまずFullAccessをつけておく。 - IAM Roleを作る * AWSLambdaFullAccess * AmazonS3FullAccess * AmazonDynamoDBFullAccess lambda_dynamodb_s3_fullacces ### pipを使いたい時 lambdaで作られたディレクトリないで、 ``` pip install requests -t . ``` ### エラー処理 なんどやってもアクセスできない。 試しにcreate_tableをしてみると、テーブルは作れるが、Dynamodb上に現れない。 他Regionを探してみると見つけた。どうしよ。 Regionを指定することで解消. ``` import os import json import time from datetime import datetime, timedelta import boto3 from boto3.dynamodb.conditions import Key, Attr utc = datetime.utcfromtimestamp(time.time()) dynamodb = boto3.resource('dynamodb') table = dynamodb.create_table( TableName='cities3', KeySchema=[ { 'AttributeName': 'key', 'KeyType': 'HASH' #Partition key }, ], AttributeDefinitions=[ { 'AttributeName': 'key', 'AttributeType': 'S' }, ], ProvisionedThroughput={ 'ReadCapacityUnits': 30, 'WriteCapacityUnits': 30 } ) ``` ### INSERT ``` def insert(results): date = datetime.now() + timedelta(hours=9) id = 0 table = dynamodb.Table('cities3') table.put_item( Item={ "key": date.strftime("%Y/%m/%d %H:%M"), # "result": results } ) ``` ### dynamo put_item [DynamoDB x Python / Decimal を登録する - Qiita](https://qiita.com/dskst/items/10ea3f0d5899d058734e) ``` ```