前提
現在、AWSのDynamoDB,lambda,gateway API等の機能を勉強中です。
実現したいこと
AWS IoTでつくるお手軽スマートホーム
上記の書籍に載っていた内容で、DynamoDBに蓄積されたデータをgateway API機能でアクセスする項目があり、これを自分のAWSアカウントでもやってみようと思いました。
発生している問題・エラーメッセージ
AWSのDynamoDB,lambda,gateway API機能それぞれに必要な設定を実施して、gateway API経由で作成したlambda関数を実行してみるとエラーが発生してDynamoDBに蓄積されたデータを取得できません。
どのように解消したらよいか教えて下さい。
gateway APIで実行時のエラー内容 {"errorMessage": "list index out of range", "errorType": "IndexError", "stackTrace": [" File \"/var/task/lambda_function.py\", line 17, in lambda_handler\n data = get_data()\n", " File \"/var/task/lambda_function.py\", line 13, in get_data\n return response['Items'][0]\n"]}
該当のソースコード
python
import boto3 from boto3.dynamodb.conditions import Key dynamodb = boto3.resource('dynamodb')table = dynamodb.Table('sensor_data') def get_data(): response = table.query( KeyConditionExpression=Key('client_id').eq('data_sender'), ScanIndexForward=False, Limit=1 ) return response['Items'][0] def lambda_handler(event, context): data = get_data() return data
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
0 コメント