2

docker コンテナーに dynamodb をインストールしました。コマンド ラインから、そこからレコードを読み書きできます。ただし、Python3 を使用してデータベースに接続しようとすると、エラーが発生します。

エンドポイント URL に接続できませんでした: " http://localhost:8000/ ": EndpointConnectionError

これは私のコードスニペットです

import os
import uuid
import json
import boto3
import traceback
from botocore.exceptions import ClientError

print('Loading function')

region_name = os.environ["REGION_NAME"]
dynamo = boto3.client("dynamodb")
table_name = os.environ["TABLE_NAME"]
musicAlbum_table = boto3.resource("dynamodb", endpoint_url="http://localhost:8000/").Table(table_name)

def respond(err, res=None):
    return {
        'statusCode': '400' if err else '200',
        'body': err.message if err else json.dumps(res),
        'headers': {
            'Content-Type': 'application/json',
        },
    }


def lambda_handler(event, context):

    print("table_name="+ table_name)
    musicAlbum_table.put_item(
                Item={
                    'Artist': 'Joe Satriani',
                    'SongTitle': 'Circles',
                    'AlbumTitle': 'Surfing with an Alien'
                  }
            )
    scan_result = dynamo.scan(TableName=table_name)
    return respond(None, res=scan_result)
4

1 に答える 1