【问题标题】:Azure Function Blob Trigger Failing - PythonAzure 函数 Blob 触发器失败 - Python
【发布时间】:2021-01-18 17:05:51
【问题描述】:

我最近开始阅读有关 Azure Functions 的内容,因此决定尝试一下。

我使用 Python 在 Visual Code 中创建了一个测试 Azure 函数,当 blob 已上传到指定容器时,它应该触发一个触发器,但由于某种原因,我在下面收到此错误:

2021-01-14T11:27:32Z   [Error]   Executed 'Functions.TestBlobTrigger' (Failed, Id=dfd0dd15-d937-486d-b6f3-1634745ff14d, Duration=37ms)

为了提供更多上下文,这是我的function.json 文件:

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

这是我的_init_.py 文件:

import logging

import azure.functions as func


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")

最后这是我的local.settings.json 文件:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=XXXX;AccountKey=XXXX;EndpointSuffix=core.windows.net",
    "FUNCTIONS_WORKER_RUNTIME": "python"
  }
}

如果有任何提示可以引导我朝着正确的方向前进,我将不胜感激。

【问题讨论】:

  • 你的问题解决了吗?
  • 目前还没有运气
  • 我想知道您是否已经在 azure 门户上有一个函数应用,然后将本地函数部署到该函数应用?还是在部署本地函数的时候,同时在azure门户上创建函数应用?
  • 我已经把所有东西都设置好了,所以函数应用程序已经启动并运行了,我使用计时器触发器制作了一个测试函数,效果很好
  • 所以您将本地函数代码部署到门户上已经存在的函数应用?

标签: python azure-functions


【解决方案1】:

问题是由于两个AzureWebJobsStorage(本地和门户)不同引起的。当你将函数从本地部署到azure时,它不会将local.settings.json中的AzureWebJobsStorage上传到portal函数的应用程序设置中。

所以解决方法是将local.settings.json中的AzureWebJobsStorage的值复制到门户功能的应用程序设置中替换AzureWebJobsStorage

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 2021-03-26
    • 2018-08-29
    • 2021-10-08
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多