如何通过AWS步骤函数中的BatchWriteItem操作将包含空属性的项目写入DynamoDB?

0

【以下的问题经过翻译处理】 我试图在AWS Step Functions中调用DynamoDB的BatchWriteItem函数, 不幸的是,Step Functions引发了一个错误 “The field "NULL" is not supported by Step Functions”。但这是AWS SDK文档建议我们在API调用中标记null值的方式。

如果不希望使用“NULL”值,那么我应该如何通过AWS步骤函数的BatchWriteItem任务将具有Null属性的项目写入Dynamodb?

导致步骤函数ASL错误的示例任务。我尝试将“NULL”更改为“Null”或“null”。但这些都不起作用?

以下是例子代码

"BatchWriteItem": {
    "Type": "Task",
    "End": true,
    "Parameters": {
        "RequestItems": {
            "sample-dynamodb-table": [
                {
                    "PutRequest": {
                        "Item": {
                            "PK": {
                                "S": "trash"
                            },
                            "SK": {
                                "S": "trash"
                            },
                            "value": {
                                "NULL": true
                            }
                        }
                    }
                }
            ]
        }
    },
    "Resource": "arn:aws:states:::aws-sdk:dynamodb:batchWriteItem"
}
profile picture
EXPERTE
gefragt vor 8 Monaten22 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 这可能有点有趣,请基于Java SDK V2 [AttributeValue](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/dynamodb/model/ AttributeValue.html)设置,并且应该设置为“Nul”。

"BatchWriteItem": {
    "Type": "Task",
    "End": true,
    "Parameters": {
        "RequestItems": {
            "sample-dynamodb-table": [
                {
                    "PutRequest": {
                        "Item": {
                            "PK": {
                                "S": "trash"
                            },
                            "SK": {
                                "S": "trash"
                            },
                            "value": {
                                "Nul": true
                            }
                        }
                    }
                }
            ]
        }
    },
    "Resource": "arn:aws:states:::aws-sdk:dynamodb:batchWriteItem"
}
profile picture
EXPERTE
beantwortet vor 8 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen