Краткое руководство: создание функции в Azure с помощью Python с помощью Visual Studio Code — застрял на шаге 1

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

Для этого я следую руководству здесь, так как почти ничего не знаю о функциях Azure.

После создания локального проекта и следуя инструкциям на шаге 1 «Запуск функции локально»:

To start the function locally, press F5 or the play icon. The Terminal panel displays the Output from Core Tools.

При этом ничего не происходит.

Согласно руководству, я должен увидеть конечную точку URL-адреса моей функции, запускаемой HTTP, работающей локально, как показано ниже на изображении из руководства:

Краткое руководство: создание функции в Azure с помощью Python с помощью Visual Studio Code — застрял на шаге 1

Поэтому я снова застрял!

Кто-нибудь может помочь?

Обновлено:

Я запускаю VsCode из Anaconda через виртуальную среду (novo).

Это код в этом.py:

import logging

import azure.functions as func

def main(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

    name = req.params.get('name')
    if not name:
        try:
            req_body = req.get_json()
        except ValueError:
            pass
        else:
            name = req_body.get('name')

    if name:
        return func.HttpResponse(f"Hello, {name}. This HTTP triggered function executed successfully.")
    else:
        return func.HttpResponse(
             "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.",
             status_code=200
        )

Вы получили URL-адрес, т. Е. http://localhost:7071/api/HttpExample - скопируйте его и вставьте в свой браузер, вы увидите результат, и он будет, как вы называете параметр, куда вы должны передать, как http://localhost:7071/api/HttpExample?name=unstuck, тогда вы увидите выходное сообщение.

Hari Krishna 26.08.2022 17:58

2-е изображение из учебника. 1-е изображение - это то, что у меня есть.

unstuck 26.08.2022 18:02

попробуйте запустить команду func host start или func start в терминале IDE и проверьте.

Hari Krishna 26.08.2022 18:04

[2022-08-26T16:04:39.023Z] Файл «C:\Program Files\dotnet\dotnet.exe» не найден, вызов «dotnet» будет зависеть от переменной среды PATH. [2022-08-26T16:04:39.591Z] Произошла ошибка хоста во время операции запуска «ef6fadf6-451e-473b-b803-f5a77a1eac91». [2022-08-26T16:04:39.593Z] Microsoft.Azure.WebJobs.Extensions.Http: не удалось загрузить файл или сборку «System.Net.Http.Formatting, версия = 5.2.8.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 '. O sistema não conseguiu localizar o ficheiro especificado. Значение не может быть нулевым. (Параметр «поставщик»)

unstuck 26.08.2022 18:05

Установили ли вы все инструменты, необходимые для проекта «Функции Azure», такие как среда выполнения Python, основные инструменты функций Azure и т. д.

Hari Krishna 26.08.2022 18:06

Я сделал, следуя учебнику.

unstuck 26.08.2022 18:07

также установлены dotnet sdk и среда выполнения?

Hari Krishna 26.08.2022 18:08

Нет, не тот. Пробую здесь: dotnet.microsoft.com/en-us/download/dotnet/thank-you/…

unstuck 26.08.2022 18:09

Да, похоже, ошибка связана с отсутствием dotnet sdk и среды выполнения. поэтому скачайте, установите, перезапустите IDE и проверьте работу функции.

Hari Krishna 26.08.2022 18:10

Перезапущены окна, запуск узла func теперь возвращает: [2022-08-26T16:16:35.046Z] Произошла ошибка узла во время операции запуска «cfa19a82-a4ab-4d08-b627-418d0e742fab». [2022-08-26T16:16:35.048Z] Microsoft.Azure.WebJobs.Extensions.Http: не удалось загрузить файл или сборку «System.Net.Http.Formatting, версия = 5.2.8.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 '. O sistema não conseguiu localizar o ficheiro especificado. Значение не может быть нулевым. (Параметр «поставщик»)

unstuck 26.08.2022 18:17

Давайте продолжить обсуждение в чате.

Hari Krishna 26.08.2022 18:17

используете ли вы какой-либо модуль spyder/anaconda в проекте функций Azure, который, как я видел, вы удалили из вопроса. не могли бы вы сообщить нам, устанавливали ли вы какие-либо модули anaconda после создания функции!

Hari Krishna 29.08.2022 04:53

Я пробовал как запустить vscode напрямую, так и запустить его из анаконды, используя среду. Вы можете увидеть мое редактирование выше. Спасибо

unstuck 29.08.2022 12:09
Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения текстовых сообщений может быть настолько сложным или простым, насколько вы его сделаете. Как и в любом ML-проекте, вы можете выбрать...
7 лайфхаков для начинающих Python-программистов
7 лайфхаков для начинающих Python-программистов
В этой статье мы расскажем о хитростях и советах по Python, которые должны быть известны разработчику Python.
Установка Apache Cassandra на Mac OS
Установка Apache Cassandra на Mac OS
Это краткое руководство по установке Apache Cassandra.
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
В одном из недавних постов я рассказал о том, как я использую навыки количественных исследований, которые я совершенствую в рамках программы TPQ...
Создание персонального файлового хранилища
Создание персонального файлового хранилища
Вы когда-нибудь хотели поделиться с кем-то файлом, но он содержал конфиденциальную информацию? Многие думают, что электронная почта безопасна, но это...
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
1
13
159
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я следил за учебником, и это сработало для меня:

Создание функции Python AZ и отладки

Похоже, у вас возникла проблема с чем-то, что изменило местоположение. Как вы начали? вы запускали VS Code с помощью File> New Window? Когда вы нажимаете «+» помимо «рабочей области» и создаете новую функцию, вы нажимаете «создать новый проект» и выбираете папку? Кажется, что-то было потеряно/испорчено во время этого, но также может быть версией вашего кода VS. Я бы посоветовал вам убедиться, что у вас установлена ​​последняя версия VS Code, последняя версия надстройки «Функции Azure»:

Надстройка функции Azure для VS Code

  1. Некоторые из вышеперечисленных компонентов могут быть повреждены, и вам необходимо удалить и установить их снова.
  2. Выполнили ли вы следующие шаги, чтобы создать файлы/папки и правильно их открыть:

Шаги

Проверка доверия

Привет Бруно! Да, похоже, проблема с путем. Пожалуйста, смотрите мое редактирование выше. Мне просто удалить все это и начать заново?

unstuck 28.08.2022 21:11

Вы можете попробовать начать с нового проекта. Дело все еще не работает; возможно, у вас есть что-то на пути к среде, сбивающее с толку VS Code.

BrunoLucasAzure 28.08.2022 23:13

Я попытался удалить анаконду и снова установить ее, создал новую среду, новый проект и ничего! все fxx выходные с этим

unstuck 29.08.2022 01:16
Ответ принят как подходящий

Для локального запуска функции Python Azure в VS Code необходимо установить следующие компоненты:

  1. Стабильная версия Python (3.x)
  2. Последняя версия основных инструментов функций Azure.
  3. Последняя IDE VS Code
  4. Расширения в IDE VS Code, такие как Азурите, Python, Учетная запись Azure, Функции Azure, Инструменты Azure, Azure Application Insights.
  5. Для локального запуска функций Azure требуется эмулятор хранилища Azure.

При переходе к конкретным ошибкам, таким как

'C:\Program Files\dotnet\dotnet.exe' is not found, 'dotnet' invocation will rely on the PATH environment variable

Кажется, что dotnet не включен в путь переменных системной среды. Загрузите .NET Core 6 SDK + Runtime и убедитесь, что установленный путь добавлен в переменные среды:

  • В командной строке запустите dotnet --version

  • Кнопка Windows Search 🪟 > Поиск переменных среды > Открыть и нажать 🖱️ на переменных среды >

enter image description here

Ниже код, скопированный из моего проекта VS Code Azure Functions Python:

требования.txt :

azure-functions

local.settings.json:

{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "python"
}
}

хост.json:

{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request"
        }
    }
},
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[2.*, 3.0.0)"
    }
}

функция.json:

{
"scriptFile": "__init__.py",
"bindings": [
{
"authLevel": "anonymous",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [
"get","post"
]
},
{
"type": "http",
"direction": "out",
"name": "$return"
}
]
}
  • Убедитесь, что эмулятор хранилища Azure запущен в вашей системе, чтобы ошибки узла не возникали при запуске функции/триггера, или вы можете запустить его вручную с помощью следующей команды:
C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator>AzureStorageEmulator.exe start

azfvscodepythoncreation

azfvscodepythonrun

Привет, в cmd dotnet --version возвращается: Не удалось найти какие-либо установленные пакеты SDK для .NET Core. Вы имели в виду запуск команд SDK для .NET Core? Установите пакет SDK для .NET Core из: aka.ms/dotnet-скачать. Забавно, потому что я уже установил его!

unstuck 28.08.2022 20:48

Я фактически начал все это снова с нуля. Создал новый проект, новую папку и получил точно такую ​​же ошибку! "Системе не удается найти указанный путь"

unstuck 28.08.2022 22:52

Другие вопросы по теме