[英]DynamoDB ConditionExpression without using ExpressionAttributeValues
我需要在不使用 ExpressionAttributeValues 的情況下以 '(#i.body_uncommon = 1)' 形式的 ConditionExpression 進行比較,語法應該是什么? 我查看了所有文檔,但沒有找到示例
例如這樣:
response = table.update_item(
Key={
'ID': "jr_test"
}
, ConditionExpression='(#i.body_uncommon = 1)'
, UpdateExpression=final_str
, ExpressionAttributeNames={
"#i": "items"
}
)
但是這段代碼在這個地方拋出了一個語法錯誤:token: "1", near: "= 1)"
DynamoDB 不接受表達式中的文字值。 表達式必須結合使用占位符和ExpressionAttributeValues
參數來指定文字值。
此 API 實質上強制執行最佳實踐以防止注入攻擊。
從表達式:
如果需要將屬性與值進行比較,請將表達式屬性值定義為占位符。
即使是接受特定值作為 arguments 的函數,例如ConditionExpression 的attribute_type
類型 function ,也指定必須使用表達式屬性值定義這些值。
您必須為
type
參數使用表達式屬性值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.