如何通过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
专家
已提问 8 个月前21 查看次数
1 回答
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
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则