python - Azure函数读取和写入Blob存储抛出内部500错误

标签 python azure azure-functions azure-blob-storage

我绝不是Python方面的专家,但我已经尽力了。我用 python 编写了一段简短的代码,它从 blob 存储中读取一个文本文件,并在其后面附加一些列名称,然后将其输出到目标文件夹。当我从 VS Code 运行时,代码可以正确执行。

当我尝试通过 Azure Function 运行它时,我发现它抛出一个错误。

是否是我的 function.json 绑定(bind)文件中的参数错误?

{ “状态代码”:500, "message": "内部服务器错误" }

这是我的原始代码:

import logging

import azure.functions as func

from azure.storage.blob import BlobClient,BlobServiceClient

def main():
logging.info(' start Python Main function processed a request.')

#CONNECTION STRING
blob_service_client = BlobServiceClient.from_connection_string(CONN_STR)

# MAP SOURCE FILE
blob_client = blob_service_client.get_blob_client(container="source", blob="source.txt")

#SOURCE CONTENTS
content=  blob_client.download_blob().content_as_text()
    
# WRITE HEADER TO A OUT PUTFILE
output_file_dest = blob_service_client.get_blob_client(container="target", blob="target.csv")

#INITIALIZE OUTPUT               
output_str = ""

#STORE COULMN HEADERS
data= list()
    
data.append(list(["column1", "column2", "column3", "column4"]))

output_str += ('"' + '","'.join(data[0]) + '"\n')

output_file_dest.upload_blob(output_str,overwrite=True)
logging.info(' END OF FILE UPLOAD')

if __name__ == "__main__":
main()

这是我的 function.json

{
"scriptFile": "__init__.py",
  
"bindings": [
    {
      "type": "blob",
      "direction": "in",
      "name": "blob_client",
      "path": "source/source.txt",
      "connection": "STORAGE_CONN_STR"
    },
    {
      "type": "blob",
      "direction": "out",
      "name": "output_file_dest",
      "path": "target/target.csv",
      "connection": "STORAGE_CONN_STR"
    }
  ]
}

这是我的要求.txt

azure-functions==1.7.2
azure-storage-blob==12.8.1

最佳答案

尝试将连接字符串添加到 Function App 的应用程序设置中。应用程序设置可以在“配置”(“设置”下)下找到。单击新应用程序设置,输入名称并指定值。然后使用以下代码连接到 blob:

from azure.storage.blob import BlobClient,BlobServiceClient
import os

#CONNECTION STRING
blob_service_client = BlobServiceClient.from_connection_string(os.getenv('the name of your connection string in the application settings')

关于python - Azure函数读取和写入Blob存储抛出内部500错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68769200/

相关文章:

azure - 无法访问Azure函数中的appsettings.json文件

python - PyStan API 中的变分推理?

python - 如何在 Python 中进行非线性复根查找

python - 获取 key 错误 : 'Endpoint' error in Python when calling Custom Vision API

Azure函数后调用导致使用ajax调用产生400错误请求,并且当POST更改为GET时相同的函数可以工作

Azure Function - 如何在类中使用 context.log?

javascript - CMS 的动态网络抓取表

python - 如何在没有 csv 索引 header 的情况下编写行?

对资源组强制执行命名约定的 Azure 策略没有效果

azure - 如何修复 MPI_ERR_RMA_SHARED?