我无法在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
EXPERTE
gefragt vor 6 Monaten26 Aufrufe
1 Antwort
0

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

profile picture
EXPERTE
beantwortet vor 6 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