Lorsque vous utilisez DynamoDB lors de la création du processus de numérotation python, si vous souhaitez utiliser le DynamoDB réel pendant le développement ... Je pense que vous développerez en utilisant DynamoDB Local, je vais donc résumer la méthode. En continuant de Dernière fois, créez en fait un programme python.
sequence_key
est fixe, mais doit-il être reçu comme argument lors de son utilisation?import os
import boto3
endpoint_url = os.getenv('DYNAMODB_ENDPOINT', 'http://192.168.99.100:8000/')
aws_access_key_id = os.getenv('DYNAMODB_ACCESS_KEY_ID', 'DummyID')
aws_secret_access_key_id = os.getenv('DYNAMODB_SECRET_ACCESS_KEY_ID', 'DummyKey')
aws_region_name = os.getenv('DYNAMODB_REGION', 'ap-northeast-1')
dynamodb = boto3.resource(
'dynamodb',
region_name=aws_region_name,
endpoint_url=endpoint_url,
aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key_id
)
sequences = dynamodb.Table('sequences')
res = sequences.update_item(
Key= {
'sequence_key': 'TEST_SEQ'
},
UpdateExpression="ADD #name :increment",
ExpressionAttributeNames={
'#name':'val'
},
ExpressionAttributeValues={
":increment": int(1)
},
ReturnValues="UPDATED_NEW"
)
count=res['Attributes']['val']
print(count)
Recommended Posts