У меня есть настройка таблицы dynamodb для использования по требованию читать и писать.
До 100 lamdbda записывают в таблицу одновременно.
Я включил результаты Cloudwatch на тот момент, когда это происходит.
Кстати, спасибо за отрицательный голос, который когда бы ты ни был, это было очень полезно
Код: Выделить всё
import boto3
from botocore.exceptions import ClientError
import time
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('myTable')
def put_item_with_retry(item, retries=5):
for i in range(retries):
try:
table.put_item(Item=item)
return
except ClientError as e:
if e.response['Error']['Code'] in ['ProvisionedThroughputExceededException', 'ThrottlingException']:
time.sleep(2 ** i) # Exponential backoff
else:
raise
print("Failed to write item after retries")
put_item_with_retry({'PrimaryKey': 'value', 'Attribute': 'value'})

Подробнее здесь: https://stackoverflow.com/questions/790 ... ilent-fail