首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure函数:运行/测试模式下500个内部服务器错误

问Azure函数:运行/测试模式下500个内部服务器错误
EN

Stack Overflow用户
提问于 2021-06-16 20:42:32
回答 1查看 13.5K关注 0票数 4

我想测试我的azure函数使用Azure应用程序功能运行/测试模式,但它抛出'500内部服务器错误‘。我能够在我的本地环境中调试相同的代码,但是当在azure门户上触发相同的代码时,它就会失败,而没有任何正确的错误日志。

此Azure函数将从事件中心读取json格式的数据,并将其写入blob存储。我正在使用python开发azure函数。下面是代码:init.py

代码语言:javascript
复制
from typing import List
import logging
import os
import azure.functions as func
from azure.storage.blob import BlobClient
import datetime
import json

storage_connection_string = os.getenv('storage_connection_string_FromKeyVault')

container_name = os.getenv('storage_container_name_FromKeyVault')

today = datetime.datetime.today()


def main(events: List[func.EventHubEvent]):
    for event in events:
        a = event.get_body().decode('utf-8')
        json.loads(a)
        logging.info('Python EventHub trigger processed an event: %s', a)
        logging.info(f'  SequenceNumber = {event.sequence_number}')
        logging.info(f'  Offset = {event.offset}')

        blob_client =  BlobClient.from_connection_string(storage_connection_string, container_name, str(today.year) +"/" + str(today.month) + "/" + str(today.day) + "/" + str(event.sequence_number) + ".json")

        blob_client.upload_blob(event.get_body().decode(),blob_type="AppendBlob")

local.settings.json

代码语言:javascript
复制
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "<Endpoint1>",
    "FUNCTIONS_WORKER_RUNTIME": "python",
    "storage_connection_string_FromKeyVault": "<connectionString",
    "storage_container_name_FromKeyVault": "<container_name>",
    "EventHubReceiverPolicy_FromKeyVault": "<Endpoint2>"
  }
}

function.json

代码语言:javascript
复制
{
  "scriptFile": "__init__.py",
  "bindings": [
    {
      "type": "eventHubTrigger",
      "name": "events",
      "direction": "in",
      "eventHubName": "pwo-events",
      "connection": "EventHubReceiverPolicy_FromKeyVault",
      "cardinality": "many",
      "consumerGroup": "$Default",
      "dataType": "binary"
    }
  ]
}

请注意,当我单击门户上的Run/Test时,此错误将抛出。但同样的代码在部署后也运行良好。。

EN

回答 1

Stack Overflow用户

发布于 2021-06-17 02:03:46

500错误无助于解决这个问题,您需要检查azure函数的特定错误。您可以使用应用程序洞察力来获取详细信息错误。函数必须配置相应的应用程序洞察力,才能在门户上查看日志。

因此,您需要为您的函数应用程序配置如下应用程序的应用程序洞察力:

​

​

然后您的函数应用程序将重新启动。

当然,你也可以去古都看:

首先,转到高级工具,然后单击“go”,

​

​

然后,在您转到kudu之后,单击Debug Console -> -> LogFiles -> Application -> Functions -> yourtriggername。您将在那里找到日志文件。

如果您基于linux,在转到kudu之后,只需单击“log”(这不支持linux的消费计划)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68009769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档