Lambdaを介してDynamoDBを操作するというシーンはよくあるかと思います。
その際、まずは対象のDynamoDBが存在するかをチェックしてから操作することになるかと思います。
そうしたDynamoDBの存在確認の処理サンプルを紹介します。
DynamoDB存在確認(Lambda)
import botocore
import boto3
from boto3.dynamodb.conditions import Key, Attr
dynamodb = boto3.resource('dynamodb')
dynamoClient = boto3.client('dynamodb')
def check_existenc_dynamodb(dynamoDbName):
try:
response = dynamoClient.describe_table(TableName=dynamoDbName)
except dynamoClient.exceptions.ResourceNotFoundException as e:
print('DynamoDBが存在しないため、処理を終了します。DB名={0}, Error={1}'.format(dynamoDbName, e))
return False
except Exception as e:
print('DynamoDB存在確認中に想定外のエラーが発生したため、処理を終了します。バケット名={0}, Error={1}'.format(dynamoDbName, e))
return False
return True