我无法在Lambda中的Athena boto3查询中使用current_date + interval

0

【以下的问题经过翻译处理】 我尝试使用Lambda来运行Athena查询,以便安排每周运行的报告。当我直接在Athena中运行查询时,我得到了结果。当我作为Python boto3查询运行时,如果我尝试使用'current_date + interval',它就不起作用。

在Athena查询编辑器中工作: SELECT * FROM "datebasename"."table" where date < current_date + interval '1' day);

**在Lambda中运行时出现错误 **

Syntax error in module 'lambda_function': invalid syntax (lambda_function.py, line 6)
"stackTrace": [
    "  File \"/var/task/lambda_function.py\" Line 6\n    query ='SELECT * FROM \""datebasename"\".\"table\" where date < (current_date + interval '1' day))'\n"
  ]

如果我从lambda Athena查询中删除'+ interval '1' day',它就可以工作。我已经尝试使用括号,并尝试使用date_add,当我使用interval时有类似的结果。

是否有什么我需要更改以允许在boto3 Athena查询中使用interval?

profile picture
专家
已提问 5 个月前23 查看次数
1 回答
0

【以下的回答经过翻译处理】 看起来像是语法错误。你在Python代码中用单引号包裹了查询语句,又用单引号包裹了“1”。你需要在“1”上要么转义单引号,要么去掉单引号。

profile picture
专家
已回答 5 个月前

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

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

回答问题的准则