首页 > 解决方案 > 如何跨实例存储变量?

问题描述

我正在尝试创建一个滚动 Azure 函数,它从 Elasticsearch 集群中检索索引数据。我正在使用_search滚动API 来实现这一点,并将在实时数据上执行此操作。目前,我已经设法编写了一个本地脚本,该脚本按时间戳字段对文档进行排序,并使用gtlt查询参数进行过滤,并保留在名为cursor.py的文件中使用的最后一个时间戳。在每次滚动或运行后的脚本中,我使用以下代码覆盖此日期

file = open("cursor.py", "w")
file.write(f"# Please use format YYYY/MM/DD HH24:MI:SS\nlastPolled = '{lastRowDateOffset}'")
file.close()

但是,当我尝试在 Azure 函数中使用此代码段时,它不会覆盖文件并且不会引发任何错误。然后它继续在下一个运行时获取相同的日期。是否有不同的方法可以在与触发器相同的文件夹中打开和写入文件,或者如果这不是一个选项,那么在 Azure 函数中拥有一个可以调用和覆盖的全局变量的最佳方法是什么?

标签: pythonazure-functionspython-3.8

解决方案


该文件应该已成功创建。

但请注意,该文件不会在函数文件夹中创建,而是在函数应用文件夹下创建。

这是因为__init__.py未被识别为 python 脚本,您的根文件夹是函数应用程序文件夹而不是函数文件夹。

如果要在特定功能文件夹中创建文件,请执行以下操作:

file = open("yourfunctionname/cursor.py", "w")


推荐阅读