如何在 python 中使用 Azure 函数读取 Azure blob 文件?

     2023-03-28     284

关键词:

【中文标题】如何在 python 中使用 Azure 函数读取 Azure blob 文件?【英文标题】:how to read the Azure blob file with Azure function in python? 【发布时间】:2021-12-18 21:00:09 【问题描述】:

我是 Azure 云的新手。现在我希望创建一个工作流程:将音频文件上传到 blob --> 调用 Blob 触发器 --> 部署的 python 函数读取上传的音频文件并提取谐波 --> 谐波输出为 json 文件并保存在另一个容器中. Blow 是我的代码,但它不起作用:

import logging
import azure.function as func
import audio_read

def main(myblob: func.InputStream):

    logging.info(f"Python blob trigger function processed blob \n"
                 f"Name: myblob.name\n"
                 f"Blob Size: myblob.length bytes")
    
    audio_info = audioread.audio_open(myblob.read())
    logging.info(f"audio_info")

它返回一个错误:

异常:UnicodeDecodeError:“utf-8”编解码器无法解码位置 40 中的字节 0x80:无效起始字节。

我的 function.json 是:


  "scriptFile": "__init__.py",
  "bindings": [
    
      "name": "myblob",
      "type": "blobTrigger",
      "direction": "in",
      "path": "examplecontainer/name",
      "connection": "AzureWebJobsStorage"
    
  ]

【问题讨论】:

***.com/questions/38518023/… 为什么本地运行代码(audioread.audio_open("File saved path"))没有报错?但是,一旦我在 Azure Function (audioread.audio_open("inputblob") 上运行,它就不起作用了。是我喂 blob 的方式错误吗? 确保将您的音频文件上传为 Blob,其中包含具有正确 content typecontent encoding 的二进制数据,请参阅 documentation 【参考方案1】:

输入绑定允许您读取 Blob 存储数据作为 Azure 函数的输入。

更多详情请参考此文档:https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob-input?tabs=python

并确保在将音频文件作为 blob 上传到 azure 存储时提供了正确的内容类型和编码

更多详情请参考document

【讨论】:

如何使用异步方法从 Azure 函数中的存储读取

】如何使用异步方法从Azure函数中的存储读取【英文标题】:HowdoIreadfromstorageinAzurefunctionusingasynchronousmethods【发布时间】:2019-07-0212:24:06【问题描述】:我创建了一个AzureV2函数,我想从一个将CSV-blob转换为JSON的逻辑应用程序调用... 查看详情

如何延迟读取触发 HTTP 请求的正文,直到稍后在 Azure 函数中?

】如何延迟读取触发HTTP请求的正文,直到稍后在Azure函数中?【英文标题】:HowtodelayreadingthebodyofthetriggerHTTPrequestuntillaterinanAzureFunction?【发布时间】:2020-04-1205:22:08【问题描述】:我正在使用AzureFunctions处理以base64编码并在Json中... 查看详情

如何在 Azure Databricks 中使用 JDBC 从 PostgreSQL 读取表数据?

】如何在AzureDatabricks中使用JDBC从PostgreSQL读取表数据?【英文标题】:HowtoreadtabledatafromPostgreSQLusingJDBCinAzureDatabricks?【发布时间】:2020-09-0503:03:32【问题描述】:我正在尝试使用pyspark读取Azure云订阅中可用的postgreSQL表,但出现以... 查看详情

如何使用 PowerShell 或 python 脚本读取、编辑或附加存储在 Azure Blob 存储中的 Excel 文件(列和行)

】如何使用PowerShell或python脚本读取、编辑或附加存储在AzureBlob存储中的Excel文件(列和行)【英文标题】:HowtoreadtheneditorappendanExcelFiles(columnsandrows)storedinAzureBlobStorageusingPowerShellorpythonscript【发布时间】:2021-12-0221:28:31【问题描... 查看详情

如何在 Azure API 函数中返回变量并通过移动应用程序中的 Invoke Async 函数读取它

】如何在AzureAPI函数中返回变量并通过移动应用程序中的InvokeAsync函数读取它【英文标题】:HowtoreturnavariabelinAzureAPIfunctionandreaditviaInvokeApiAsyncfunctioninMobileapp【发布时间】:2019-05-2714:12:05【问题描述】:我想在我的移动应用中调用... 查看详情

使用python在Azure函数HttpResponse中传递变量

】使用python在Azure函数HttpResponse中传递变量【英文标题】:passingvariableinAzurefunctionHttpResponseusingpython【发布时间】:2021-02-0719:17:05【问题描述】:我正在使用Python。必须将Azure函数中的变量(comName)传递给返回func.HttpResponse。下面是... 查看详情

如何在 Azure 函数方法中使用 JWT 验证?

】如何在Azure函数方法中使用JWT验证?【英文标题】:HowtouseJWTValidationwithinAzureFunctionMerthod?【发布时间】:2021-09-1513:51:02【问题描述】:我从API移植了一些逻辑,我需要能够在Azure函数中使用这些逻辑我需要对JWT令牌进行验证我... 查看详情

如何在 Azure 数据工厂中读取 *.txt 文件?

】如何在Azure数据工厂中读取*.txt文件?【英文标题】:Howtoread*.txtfilesinAzureDataFactory?【发布时间】:2021-11-2819:13:00【问题描述】:我正在尝试使用Azure数据工厂中的数据流或复制数据活动将数据从文件*.txt类型加载到SQL数据库,... 查看详情

如何在 Azure 函数签名中使用强类型 http 方法

】如何在Azure函数签名中使用强类型http方法【英文标题】:HowtousestronglytypedhttpmethodsinanAzurefunctionsignature【发布时间】:2021-01-2514:33:48【问题描述】:我有一堆使用http触发器的Azure函数。我一直在硬编码http方法,如下例所示:[Fun... 查看详情

如何在 Azure Function v2(核心)中静态使用 ConfigurationBuilder?

】如何在AzureFunctionv2(核心)中静态使用ConfigurationBuilder?【英文标题】:HowtouseConfigurationBuilderstaticlyinanAzureFunctionv2(core)?【发布时间】:2019-06-1120:01:07【问题描述】:在将Azure函数从v1移植到v2时,配置管理器用于读取local.settings... 查看详情

如何在 Python 中从 Azure 函数调用 Cosmos DB 存储过程?

】如何在Python中从Azure函数调用CosmosDB存储过程?【英文标题】:HowdoIcallanCosmosDBstoredprocedurefromAzureFunctioninPython?【发布时间】:2022-01-1020:17:54【问题描述】:我有一个用Python编写的HTTP触发Azure函数。我还有一个CosmosDB容器,其中... 查看详情

如何在 Azure 函数存储帐户连接字符串中使用 ManagedIdentity

】如何在Azure函数存储帐户连接字符串中使用ManagedIdentity【英文标题】:HowtouseManagedIdentityinAzureFunctionstorageaccountconnectionstring【发布时间】:2021-11-0120:09:21【问题描述】:我有一个AzureFunction正在使用durablefunctions:local.settings.json"V... 查看详情

如何从 C# 中的 Azure 函数在设备中执行方法?

】如何从C#中的Azure函数在设备中执行方法?【英文标题】:HowcanIexecuteamethodinadevicefromanAzurefunctioninC#?【发布时间】:2019-10-1010:44:13【问题描述】:我有一个流分析,它根据接收到的内容将一些数据输出到C#中的Azure函数。此函数... 查看详情

如何在 Python 中接收 Azure 设备遥测?

】如何在Python中接收Azure设备遥测?【英文标题】:HowcanIreceiveAzureDevicetelemetryinPython?【发布时间】:2018-06-2718:06:28【问题描述】:如何使用Python在事件中心接收设备消息?我看到来自事件中心的摘要消息,但缺少详细的设备消息... 查看详情

在 Azure 函数中解析 URL

...【发布时间】:2018-07-1908:08:32【问题描述】:我正在学习如何使用Azure函数,对它很陌生。我有一个用NodeJs编写的httptriggerAzure函数。我正在考虑如何从httptrigger函数URL解析数据并在我的代码中使用它的逻辑。想要对此提出一些建... 查看详情

使用 Python 脚本的 ADF 管道中的 Azure 函数

】使用Python脚本的ADF管道中的Azure函数【英文标题】:AzurefunctioninADFpipelineusingaPythonscript【发布时间】:2021-12-2415:48:06【问题描述】:我正在尝试在管道中的Azure数据工厂中运行我的以下脚本。我的Python代码从Blob存储中检索2个CSV... 查看详情

如何在 Python 中将 Azure Blob 文件 CSV 转换为 Excel

】如何在Python中将AzureBlob文件CSV转换为Excel【英文标题】:HowtoconvertAzureBlobfileCSVtoExcelinPython【发布时间】:2021-12-2602:55:51【问题描述】:我正在尝试将azure存储容器中的CSV文件转换为EXCEL并将其放在同一个容器中。我能够使用以... 查看详情

从 Azure blob Storage 读取 csv 并使用 python 存储在数据框中

】从AzureblobStorage读取csv并使用python存储在数据框中【英文标题】:ReadcsvfromAzureblobStorageandstoreinaDataFrame【发布时间】:2020-10-2113:21:02【问题描述】:我正在尝试使用python从blob存储中读取多个CSV文件。我使用的代码是:blob_service_c... 查看详情