AWS認証はこちらで参加してください。
~/.aws/credentials
[default]
aws_access_key_id=XXXXXXXXXXXXX
aws_secret_access_key=XXXXXXXXXXXXX
DynamoDBのテーブルのUserActivityの属性:
from pynamodb.models import Model
from pynamodb.attributes import UnicodeAttribute
class UserActivity(Model):
class Meta:
table_name = "UserActivity"
region = 'ap-northeast-1'
uid = UnicodeAttribute(hash_key=True)
url = UnicodeAttribute(null=True)
action = UnicodeAttribute(null=True)
uidがあるユーザのアクションをクエリーする
UserActivity.query(uid)
DynamoDBのデータからjson文字列に交換するために、下記のコードを追加する
import json
class ModelEncoder(json.JSONEncoder):
def default(self, obj):
if hasattr(obj, 'attribute_values'):
return obj.attribute_values
elif isinstance(obj, datetime.datetime):
return obj.isoformat()
return json.JSONEncoder.default(self, obj)
def json_dumps(obj):
return json.dumps(obj, cls=ModelEncoder)
activitiesのデータをpandasにロードする
import pandas as pd
activities = []
for activity in UserActivity.query(uid):
activities.append(json.loads(json_dumps(activity)))
activities_pds = pd.DataFrame(activities)