我在这里讨论一下文档:https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob-output?tabs=python
以下是我目前掌握的代码:
function.json
{
"bindings": [
{
"queueName": "myqueue-items",
"connection": "nameofstorageaccount_STORAGE",
"name": "queuemsg",
"type": "queueTrigger",
"direction": "in"
},
{
"name": "inputblob",
"type": "blob",
"dataType": "binary",
"path": "samples-workitems/{queueTrigger}",
"connection": "nameofstorageaccount_STORAGE",
"direction": "in"
},
{
"name": "outputblob",
"type": "blob",
"dataType": "binary",
"path": "samples-workitems/{queueTrigger}-Copy",
"connection": "nameofstorageaccount_STORAGE",
"direction": "out"
}
],
"disabled": false,
"scriptFile": "__init__.py"
}
初始化。py
import logging
import azure.functions as func
def main(queuemsg: func.QueueMessage, inputblob: bytes, outputblob: func.Out[bytes]):
logging.info(f'Python Queue trigger function processed {len(inputblob)} bytes')
outputblob.set(inputblob)
如果我理解正确,当一个Blob被添加到容器中时,这个函数应该被触发,并且它可以在同一个容器中保存该blob的副本。
这些函数可以运行,但是当一个blob被上传到一个容器时,什么都不会发生?我想在上传blob时触发一些代码,这是我发现的Python和blob触发器的唯一完整示例。
感谢任何帮助,谢谢!:)
否。如果您阅读了文档
,则说明当消息被发送到队列时,该功能被触发:
以下示例显示函数中的blob输入和输出绑定。json文件和使用绑定的Python代码。该函数生成一个blob的副本。该函数由包含要复制的blob名称的队列消息触发。新的blob名为{originalblobname}-Copy。
如果要在创建blob时执行函数,请参见此处的blob触发器
示例:https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob-trigger?tabs=python.
我们目前正在迁移到一个新的Azure订阅,在执行Azure功能时出现问题,这些功能在我们的旧Azure订阅中按预期工作。我们的旧订阅和新订阅之间的主要区别在于,我们已经建立了一个具有子网的虚拟网络,并在子网后面部署了我们的资源。 我们还必须从旧订阅中的Azure应用服务迁移到新订阅中的Azure应用环境。 我们的Azure环境包括: 应用服务环境 应用服务计划I1 Azure应用环境和存储容器位于
我们遇到了Blob触发函数的问题。该函数是用javascript编写的。我们费了很大的劲才把自动化部署流程落实到位。以下是我们遵循的步骤。 > 使用ARM模板和参数文件在现有资源组中创建函数应用程序 通过<code>Kudu<code>api<code>调用RestMethod-Uri“$apiUrl”-方法Put-InFile“$functionCodeArchivePath”-凭证$crede
我们使用Python 3.8长期以来一直存在这个问题。 通过“func start”在本地运行Azure函数并从blob存储下载文件与预期一样快 运行已部署的Azure函数(通过应用服务计划)会导致~50kb/s的下载速度 这里的问题是什么? 我期望部署的函数下载blob文件的速度甚至比在本地运行它更快,因为它们在同一个网络中? 文件大小约为2 MB,使用Azure blob storage v1
我无法理解Function应用程序的工作原理。 我的环境如下:Python3.8、Blob触发器、消费计划 我正在创建一个应用程序,当音频文件上传到容器时触发该应用程序。此音频文件触发Azure函数并使用Azure认知服务运行“语音到文本”(因此我的函数正在等待该服务的回复)。我在5处设置了一个“FUNCTIONS_WORKER_PROCESS_COUNT”,以允许我的每个函数应用程序实例并行运行
我想通过运行在Azure VM上的FTP服务器与用户共享Azure Blob存储中的文件。 据我所知,您不能在VM上挂载Blob存储,但可以使用“网络使用”挂载Azure文件共享。 Blob存储上的文件将以增量方式上载,因此理想情况下,我希望在上载时将其复制到Azure文件,Azure功能似乎是理想的方式,因为它们很容易为我设置和处理Blob存储上的触发器。 我如何使用Azure功能将文件从Blo
我有一个用例,需要以Json格式将调查结果从web应用程序上传到azure blob存储。根据调查问题判断,这些json对象将很小,甚至不会接近1MB。我一直在阅读C#中的azure blob客户端并进行实验。我实现了一个工作单元和存储库设计模式,这意味着每个CRUD操作都会导致与azure存储的连接。我是否应该考虑并行操作或批量调用以降低成本,提高性能和吞吐量?有很多关于并行操作的文章,但他们试