目次

Lambda + DynamoDB

\[ AWS \] 初めてLambda-PythonとDynamoDBに触る人に参考になるかもな話 - Qiita

Setting

よくわからないけど、ひとまずFullAccessをつけておく。

lambdadynamodbs3_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