chalice/templates/6001-cdk-ddb/runtime/app.py (26 lines of code) (raw):
import os
import boto3
from chalice import Chalice
app = Chalice(app_name='{{app_name}}')
dynamodb = boto3.resource('dynamodb')
dynamodb_table = dynamodb.Table(os.environ.get('APP_TABLE_NAME', ''))
@app.route('/users', methods=['POST'])
def create_user():
request = app.current_request.json_body
item = {
'PK': 'User#%s' % request['username'],
'SK': 'Profile#%s' % request['username'],
}
item.update(request)
dynamodb_table.put_item(Item=item)
return {}
@app.route('/users/{username}', methods=['GET'])
def get_user(username):
key = {
'PK': 'User#%s' % username,
'SK': 'Profile#%s' % username,
}
item = dynamodb_table.get_item(Key=key)['Item']
del item['PK']
del item['SK']
return item