簡體   English   中英

Azure Function Blob 觸發器失敗 - Python

[英]Azure Function Blob Trigger Failing - Python

我最近開始閱讀有關 Azure 函數的文章,因此決定給它一個 go。

我使用 Python 在 Visual Code 中創建了一個測試 Azure Function,當 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"
  }
}

我很感激任何提示,以指導我朝着正確的方向前進。

問題是由兩個AzureWebJobsStorage (在本地和門戶上)不同引起的。 當你從本地部署function到azure時,它不會將local.settings.json中的AzureWebJobsStorage上傳到portal上function的應用程序設置中。

所以解決方案是復制local.settings.jsonAzureWebJobsStorage的值,替換portal上AzureWebJobsStorage應用程序設置中的AzureWebJobsStorage。

我最近開始閱讀有關 Azure 函數的信息,因此決定給它一個 go。

我使用 Python 在 Visual Code 中創建了一個測試 Azure Function,當我將 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"
  }
}

我將不勝感激任何提示,以引導我朝着正確的方向前進。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM