Служебная шина не запускается на Azure, работает локально - PullRequest
0 голосов
/ 08 января 2020

Я не могу получить функцию Azure для запуска при размещении на azure, используя azure очереди служебной шины в качестве триггера. Работает нормально при локальном запуске, но не удаленно.

функция. json

{
  "scriptFile": "__init__.py",
  "bindings": [
    {
      "name": "msg",
      "type": "serviceBusTrigger",
      "direction": "in",
      "AzureWebJobsStorage": "AzureWebJobsStorage",
      "queueName": "selectivitycalculation",
      "connection":  "AzureServiceBusConnectionString"
    }
  ]
}

local.settings. json

{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "python",
    "AzureWebJobsStorage": XXXXXX,
    "AzureServiceBusConnectionString": XXXXXXX
  }
}

хост. json

{
    "version": "2.0",
    "extensions": {
        "serviceBus": {
            "prefetchCount": 100,
            "messageHandlerOptions": {
                    "autoComplete": false,
                    "maxConcurrentCalls": 32,
                    "maxAutoRenewDuration": "00:55:00"
            }
        }
    },
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[1.*, 2.0.0)"
    },
    "functions": [ "SelectivityCalculation" ],
    "logging": {
        "fileLoggingMode": "debugOnly",
        "logLevel": {
          "Function.MyFunction": "Information",
          "default": "None"
        },
        "applicationInsights": {
            "samplingSettings": {
              "isEnabled": true,
              "maxTelemetryItemsPerSecond" : 20
            }
        }
    }
}

__ init __. Py

import azure.functions as func
import logging
import sys
from .azure_functions_controller import selectivity_callback

def main(msg: func.ServiceBusMessage):
    logger.info('Python ServiceBus queue trigger processed message.')
    print('working')
    selectivity_callback(msg.get_body())

Структура папки

Calculator
 | - __app__
 | | - SelectivityCalculation
 | | | - __init__.py
 | | | - azure_functions_controller.py
 | | | - functions.json
 | | - SharedCode
 | | | - ...
 | | - host.json
 | | - bin

И настройки моего приложения на Azure enter image description here

Моя среда разработки выглядит следующим образом:

1) Windows 10 Pro 2) VS Code 1.41.1 3) Azure Функции CLI 2.7.1948 4) Python 3.7.4

1 Ответ

0 голосов
/ 09 января 2020

Не забыли ли вы загрузить файл настроек функции в Azure?

По крайней мере, вам нужны эти настройки для нормальной работы функции:

[
  {
    "name": "APPINSIGHTS_INSTRUMENTATIONKEY",
    "value": "xxxxxxxxxxxxxxxx",
    "slotSetting": false
  },
  {
    "name": "AzureWebJobsStorage",
    "value": "xxxxxxxxxxxxxxxx",
    "slotSetting": false
  },
  {
    "name": "bowmantest_SERVICEBUS",
    "value": "xxxxxxxxxxxxxxxx",
    "slotSetting": false
  },
  {
    "name": "BUILD_FLAGS",
    "value": "UseExpressBuild",
    "slotSetting": false
  },
  {
    "name": "ENABLE_ORYX_BUILD",
    "value": "true",
    "slotSetting": false
  },
  {
    "name": "FUNCTIONS_EXTENSION_VERSION",
    "value": "~2",
    "slotSetting": false
  },
  {
    "name": "FUNCTIONS_WORKER_RUNTIME",
    "value": "python",
    "slotSetting": false
  },
  {
    "name": "SCM_DO_BUILD_DURING_DEPLOYMENT",
    "value": "1",
    "slotSetting": false
  },
  {
    "name": "XDG_CACHE_HOME",
    "value": "/tmp/.cache",
    "slotSetting": false
  }
]

Учитывая, что вы работаете хорошо локально, я подозреваю, это потому, что вы не загрузили файл конфигурации. Если в моих настройках приложения есть только три настройки из вашего скриншота, то моя функция не будет ничего отображать при запуске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...