Запрос DynamoDB с использованием выражения FilterExpression в python - PullRequest
0 голосов
/ 04 мая 2020

Нужна помощь с моей таблицей DynamoDb.

    "EmpId": "12345",
    "EmpAccountId": "123456789123456789",
    "empDetails": [
      {
        "empName": "John",
        "empDeskNumber": "W209",
        "validUntilDate": "2021-12-22",
        "Timestamp": "2019-12-03 12:03:21.094757233",
        "empApproverStatus": "Y",
        "empRoleId": "15141"
      },
      {
        "empName": "jack",
        "empDeskNumber": "W259",
        "validUntilDate": "2022-12-22",
        "Timestamp": "2019-12-03 12:03:21.094757233",
        "empApproverStatus": "Y",
        "empRoleId": "15121"
      },

Мой ключ раздела - EmpId. Если мне нужно использовать FilterExpression для фильтрации из списка empDetails и получения имен empName из следующих карт, как я могу построить свой запрос, используя python?

Мой фрагмент кода, как я написал,

response = dynamodb.query(
                ExpressionAttributeValues= {
                        ':v1': {
                                'S': str(12345),
                        }
                },
                KeyConditionExpression = 'EmpId = :v1',
                FilterExpression = 'empDetails[0-1].empName = :v2',
                TableName='EmpDataTable',
        )
    data = response['Items']
    print(data)
...