Возврат HTTP-ответа в Python лямбда-выражении, который выполняет несколько положенных элементов DynamoDB - PullRequest
0 голосов
/ 05 марта 2020

У меня есть лямбда, которая выполняет несколько динамических пут Это обработчик

def lambda_handler(event, context):
    ddbclient = boto3.client('dynamodb')
    ddbclient.put_item(TableName='Tacticalble', Item={'xxx}})
    ddbclient.put_item(TableName='Tacticalble', Item={'yyy}})
    ddbclient.put_item(TableName='Tacticalble', Item={'zzz}})
    ddbclient.put_item(TableName='Tacticalble', Item={'aaa}})
    ddbclient.put_item(TableName='Tacticalble', Item={'bbb}})

Теперь я ищу правильный способ вернуть HTTP-ответ. Должен ли я проверять каждый ответ, как это, и проверять, все ли они имеют статускод 200:

def lambda_handler(event, context):
    ddbclient = boto3.client('dynamodb')
    resp1 = ddbclient.put_item(TableName='Tacticalble', Item={'xxx}})
    resp2 = ddbclient.put_item(TableName='Tacticalble', Item={'yyy}})
    resp3 = ddbclient.put_item(TableName='Tacticalble', Item={'zzz}})
    resp4 = ddbclient.put_item(TableName='Tacticalble', Item={'aaa}})
    resp5 = ddbclient.put_item(TableName='Tacticalble', Item={'bbb}})

Как правильно вернуть HTTP200, когда все положены, и вернуть код ошибки, когда один из поставить не удается.

Спасибо

1 Ответ

0 голосов
/ 05 марта 2020
  1. Вы можете использовать Транзакции DynamoDB вместо множественных запросов на поставку
  2. В случае ошибки возникнет Exception. См. примеры
...