【发布时间】:2022-01-06 14:41:16
【问题描述】:
我是 Azure 函数的新手,正在尝试编写一个函数(Blobtrigger),该函数读取上传到 blob 上的文件(该文件是二进制 .dat 文件),进行一些转换以将数据转换为 pandas 数据框架,然后将其转换为 .parquet 文件格式并将其保存在 azure datalake 上。 当我在 VSCode 中本地运行该函数时一切正常,但是当我将其上传到 azure 云函数时,我收到错误并且函数失败。
在查看代码并通过单独上传到云上检查每个步骤后,我发现代码在将 .dat 文件转换为数据帧之前工作正常,但是当我添加将其保存到数据湖的函数时失败。我正在使用微软教程中的以下功能。
def write_dataframe_to_datalake(df, datalake_service_client, filesystem_name, dir_name, filename):
file_path = f'{dir_name}/{filename}'
file_client = datalake_service_client.get_file_client(filesystem_name, file_path)
processed_df = df.to_parquet(index=False)
file_client.upload_data(data=processed_df,overwrite=True, length=len(processed_df))
file_client.flush_data(len(processed_df))
return True
参考:https://docs.microsoft.com/en-us/azure/developer/python/tutorial-deploy-serverless-cloud-etl-05
当我单独运行此功能但不适用于转换后的数据框时,此功能在 azure 云上运行良好。
任何人都可以确定问题可能是什么。非常感谢!
【问题讨论】:
-
我可以知道您遇到的错误是什么吗?
标签: python azure function visual-studio-code serverless