【问题标题】:How to use f-Literal with PartiQL in AWS and boto3 and a Condition on the sort key如何在 AWS 和 boto3 中使用 f-Literal 和 PartiQL 以及排序键上的条件
【发布时间】:2022-11-08 21:38:42
【问题描述】:

这是我当前的代码

table_name = 'TableName'
pk = "CID-73665"
Condition = "begins_with(sk,'CUS#')"

# get item 
stmt = f"SELECT * FROM {table_name} WHERE pk=? and {Condition}"
pmt =[{
    "S": pk
    },
    {
     "S": sk   
    }]

resp = dynamodb_client.execute_statement(
    Statement=stmt , Parameters= pmt
 )

pp.pprint(resp['Items'])

但我收到此错误消息:

NameError: name 'sk' is not defined

任何人都知道可能出了什么问题?

【问题讨论】:

    标签: python-3.x amazon-dynamodb boto3 partiql


    【解决方案1】:

    好吧,“sk”没有定义。你能这样试试吗

    table_name = "TableName"
    pk = "CID-73665"
    sk = "CUS#"
    
    # get item
    stmt = f"SELECT * FROM {table_name} WHERE pk=? and begins_with('sk', ?)"
    pmt = [{"S": pk}, {"S": sk}]
    
    resp = dynamodb_client.execute_statement(Statement=stmt, Parameters=pmt)
    
    pp.pprint(resp["Items"])
    

    【讨论】:

    • 作品。谢谢鲍里斯拉夫·斯托伊洛夫
    猜你喜欢
    • 2022-06-23
    • 2021-05-12
    • 1970-01-01
    • 2019-10-25
    • 2018-10-09
    • 2020-07-09
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    相关资源
    最近更新 更多