Wenn Sie beim Erstellen eines Python-Nummerierungsprozesses DynamoDB verwenden und während der Entwicklung die eigentliche DynamoDB verwenden möchten ... Ich denke, dass Sie mit DynamoDB Local entwickeln werden, daher werde ich die Methode zusammenfassen. Wenn Sie mit Letztes Mal fortfahren, erstellen Sie tatsächlich ein Python-Programm.
sequence_key
ist fest, aber sollte es als Argument empfangen werden, wenn es tatsächlich verwendet wird?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