Я пишу небольшую лямбда-функцию для обновления элемента game
в моем DynamoDB.Мой элемент game
имеет атрибут participants
, представляющий собой список, состоящий из participant_id
каждого участника игры.Если в игре еще нет участников (т.е. раунд позже в скобках), список будет содержать 2 null
значений:
Я хотел бы перезаписывать значения null
строкой каждый раз, когда добавляю нового участника.В настоящее время я могу добавить новую строку в список, но значения null
остаются:
Как я могупереписать одно из 2 пустых значений строкой, используя boto3? (то есть, где это выглядит как ["participantOneId", Null]
после добавления одного участника и ["participantOneId", "participantTwoId"]
после добавления обоих участников) Это моя текущая реализация:
import boto3
import json
dynamodb = boto3.resource("dynamodb")
gamesTable = dynamodb.Table('games')
def lambda_handler(event, context):
# get "next_game_id" and "winner_id" from the event body
updated_next_game = gamesTable.update_item(
Key={'id': next_game_id },
UpdateExpression="SET participants = list_append(participants, :i)",
ExpressionAttributeValues={
':i': [winner_id],
},
ReturnValues="ALL_NEW"
)