def handle(event, context):
try:
table_name = os.environ[ENV_VAR_DYNAMODB_TABLE]
region = os.environ[ENV_VAR_DYNAMODB_REGION]
except KeyError as err:
error_message = '{0} is missing from environment variables'.format(str(err))
return HttpResponseServerError(error_code='ENV_VAR_NOT_SET',
error_message=error_message).__dict__()
TodoModel.setup_model(TodoModel, region, table_name, ENV_VAR_ENVIRONMENT not in os.environ)
try:
data = json.loads(event['body'])
except ValueError as err:
return HttpResponseBadRequest(error_code='JSON_IRREGULAR',
error_message=str(err)).__dict__()
if 'text' not in data:
logging.error('Validation Failed')
return HttpResponseBadRequest(error_code='BODY_PROPERTY_MISSING',
error_message='Could not create the todo item.').__dict__()
if not data['text']:
logging.error('Validation Failed - text was empty. %s', data)
return HttpResponseBadRequest(error_code='VALIDATION_FAILED',
error_message='Could not create the todo item. As text was empty.').__dict__()
a_todo = TodoModel(todo_id=str(uuid.uuid1()),
text=data['text'],
checked=False,
created_at=datetime.now())
# write the todo to the database
a_todo.save()
# create a response
return HttpCreatedJSONResponse(body=dict(a_todo)).__dict__()
create.py 文件源码
python
阅读 25
收藏 0
点赞 0
评论 0
评论列表
文章目录