python 如何在Azure函数中获取当前日期?

g6baxovj  于 2023-02-21  发布在  Python
关注(0)|答案(1)|浏览(171)

我有一个每天运行的Azure函数,里面有一些Python代码。在这个Python代码中,我需要获取当前日期,所以每天都要更新当前日期。我注意到当前日期只在我部署函数应用时更新,这是一个很大的问题。
下面是我的代码:

from date time import date, timedelta, datetime 
today = date.today()

我上次部署它是在2023年2月2日。我们是在2023年2月8日,输出文件的行为就像它仍然是2023年2月2日。
在当地,一切都很完美。你知道为什么会这样吗?

jtoj6r0c

jtoj6r0c1#

在部署函数应用程序时,当前日期会更新,因为部署会导致函数的新执行,从而更新日期。但是,如果不是每天调用函数,则不会更新日期。
你可以使用Azure Timer Trigger来安排一个函数在每天的特定时间运行,你可以设置定时器触发器来每天运行一次函数,并在代码中更新当前日期。

import  datetime
import  logging
import  azure.functions  as  func
def  main(newtimer: func.TimerRequest) -> None:
utc_timestamp = datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc).isoformat()
if  newtimer.past_due:
logging.info('Past due.')
logging.info('Python timer trigger function ran at %s', utc_timestamp)
currentday = datetime.date.today()
logging.info('current day is %s', today)

已在本地环境中成功触发:

从本地部署到Azure函数应用程序成功:

部署到Azure功能应用程序并成功运行:

相关问题