Краткое руководство. Создание функции в Azure с помощью Visual Studio CodeQuickstart: Create a function in Azure using Visual Studio Code

Из этой статьи вы узнаете, как создать функцию класса C# на основе библиотеки, которая отвечает на HTTP-запросы, используя Visual Studio Code.In this article, you use Visual Studio Code to create a C# class library-based function that responds to HTTP requests. После тестирования кода в локальной среде его необходимо развернуть в бессерверной среде Функций Azure.After testing the code locally, you deploy it to the serverless environment of Azure Functions.

Из этой статьи вы узнаете, как создать функцию JavaScript, которая отвечает на HTTP-запросы, используя Visual Studio Code.In this article, you use Visual Studio Code to create a JavaScript function that responds to HTTP requests. После тестирования кода в локальной среде его необходимо развернуть в бессерверной среде Функций Azure.After testing the code locally, you deploy it to the serverless environment of Azure Functions.

Из этой статьи вы узнаете, как создать функцию TypeScript, которая отвечает на HTTP-запросы, используя Visual Studio Code.In this article, you use Visual Studio Code to create a TypeScript function that responds to HTTP requests. После тестирования кода в локальной среде его необходимо развернуть в бессерверной среде Функций Azure.After testing the code locally, you deploy it to the serverless environment of Azure Functions.

Из этой статьи вы узнаете, как создать функцию PowerShell, которая отвечает на HTTP-запросы, используя Visual Studio Code.In this article, you use Visual Studio Code to create a PowerShell function that responds to HTTP requests. После тестирования кода в локальной среде его необходимо развернуть в бессерверной среде Функций Azure.After testing the code locally, you deploy it to the serverless environment of Azure Functions.

Из этой статьи вы узнаете, как создать функцию Python, которая отвечает на HTTP-запросы, используя Visual Studio Code.In this article, you use Visual Studio Code to create a Python function that responds to HTTP requests. После тестирования кода в локальной среде его необходимо развернуть в бессерверной среде Функций Azure.After testing the code locally, you deploy it to the serverless environment of Azure Functions.

Из этой статьи вы узнаете, как создать функцию Java, которая отвечает на HTTP-запросы, используя Visual Studio Code.In this article, you use Visual Studio Code to create a Java function that responds to HTTP requests. После тестирования кода в локальной среде его необходимо развернуть в бессерверной среде Функций Azure.After testing the code locally, you deploy it to the serverless environment of Azure Functions.

Выполнение этого краткого руководства предполагает небольшую дополнительную плату в несколько центов США в учетной записи Azure.Completing this quickstart incurs a small cost of a few USD cents or less in your Azure account.

Существует также версия этой статьи для интерфейса командной строки.There's also a CLI-based version of this article.

Примечание

Если вы не хотите использовать Visual Studio Code в качестве средства разработки, ознакомьтесь с аналогичными руководствами для разработчиков Java по использованию Maven, Gradle и IntelliJ IDEA.If Visual Studio Code isn't your prefered development tool, check out our similar tutorials for Java developers using Maven, Gradle and IntelliJ IDEA.

Настройка средыConfigure your environment

Перед началом работы убедитесь, что выполнены следующие предварительные требования.Before you get started, make sure you have the following requirements in place:

  • Node.js, активная версия LTS и версия Maintenance LTS (рекомендуется 10.14.1).Node.js, Active LTS, and Maintenance LTS versions (10.14.1 recommended). Используйте команду node --version, чтобы проверить установленную версию.Use the node --version command to check your version.

Создание локального проектаCreate your local project

В этом разделе вы используете Visual Studio Code, чтобы создать локальный проект Функций Azure на выбранном языке.In this section, you use Visual Studio Code to create a local Azure Functions project in your chosen language. Далее в этой статье вы опубликуете код функции в Azure.Later in this article, you'll publish your function code to Azure.

  1. Щелкните значок Azure на панели действий, а затем в области Azure: Functions (Azure: Функции) щелкните значок Создать проект... .Choose the Azure icon in the Activity bar, then in the Azure: Functions area, select the Create new project... icon.

    Выбор варианта "Создать проект"

  2. Выберите расположение для рабочей области проекта и нажмите кнопку Выбрать.Choose a directory location for your project workspace and choose Select.

    Примечание

    Рассматриваемые в этой статье шаги выполняются вне рабочей области.These steps were designed to be completed outside of a workspace. В этом случае не нужно указывать папку проекта, которая является частью рабочей области.In this case, do not select a project folder that is part of a workspace.

  3. Введите следующие сведения по соответствующим запросам:Provide the following information at the prompts:

    • Выберите язык для проекта приложения-функции: Выберите C#.Select a language for your function project: Choose C#.
    • Выберите язык для проекта приложения-функции: Выберите JavaScript.Select a language for your function project: Choose JavaScript.
    • Выберите язык для проекта приложения-функции: Выберите TypeScript.Select a language for your function project: Choose TypeScript.
    • Выберите язык для проекта приложения-функции: Выберите PowerShell.Select a language for your function project: Choose PowerShell.
    • Выберите язык для проекта приложения-функции: Выберите Python.Select a language for your function project: Choose Python.

    • Выберите псевдоним Python для создания виртуальной среды. Выберите расположение интерпретатора Python.Select a Python alias to create a virtual environment: Choose the location of your Python interpreter. Если расположение не отображается, введите полный путь к двоичному файлу Python.If the location isn't shown, type in the full path to your Python binary.

    • Выберите язык для проекта приложения-функции: Выберите Java.Select a language for your function project: Choose Java.

    • Выберите версию Java: Выберите Java 8 или Java 11 (preview) в зависимости от того, какая из версий нужна для запуска функций в Azure.Select a version of Java: Choose Java 8 or Java 11 (preview), on which your functions run in Azure. Выберите версию Java, которую вы проверили локально.Choose a Java version that you've verified locally.

    • Укажите идентификатор группы: Выберите com.function.Provide a group ID: Choose com.function.

    • Укажите идентификатор артефакта: Выберите myFunction.Provide an artifact ID: Choose myFunction.

    • Укажите версию: Выберите 1.0-SNAPSHOT.Provide a version: Choose 1.0-SNAPSHOT.

    • Укажите имя пакета: Выберите com.function.Provide a package name: Choose com.function.

    • Укажите имя приложения: Выберите myFunction-12345.Provide an app name: Choose myFunction-12345.

    • Выберите шаблон для первой функции вашего проекта. Выберите HTTP trigger.Select a template for your project's first function: Choose HTTP trigger.

    • Укажите имя функции. Введите HttpExample.Provide a function name: Type HttpExample.

    • Укажите пространство имен. Введите My.Functions.Provide a namespace: Type My.Functions.
    • Уровень авторизации: выберите Anonymous, что позволит любому пользователю вызывать конечную точку функции.Authorization level: Choose Anonymous, which enables anyone to call your function endpoint. Дополнительные сведения об уровне авторизации см. в разделе Authorization keys (Ключи авторизации).To learn about authorization level, see Authorization keys.
    • Выберите, как вы хотели бы открыть свой проект. Выберите Add to workspace.Select how you would like to open your project: Choose Add to workspace.
  4. Используя эти сведения, Visual Studio Code создает проект функций Azure с триггером HTTP.Using this information, Visual Studio Code generates an Azure Functions project with an HTTP trigger. Файлы локального проекта можно просмотреть в Explorer.You can view the local project files in the Explorer. Дополнительные сведения см. в разделе Generated project files (Созданные файлы проекта).To learn more about files that are created, see Generated project files.

Локальное выполнение функцииRun the function locally

Visual Studio Code интегрируется с Azure Functions Core Tools, чтобы перед публикацией в Azure можно было запустить этот проект на локальном компьютере разработки.Visual Studio Code integrates with Azure Functions Core tools to let you run this project on your local development computer before you publish to Azure.

  1. Чтобы вызвать функцию, нажмите клавишу F5, чтобы запустить проект приложения-функции.To call your function, press F5 to start the function app project. Выходные данные основных инструментов отображаются на панели Terminal (Терминал).Output from Core Tools is displayed in the Terminal panel.

  2. Если вы еще не установили Azure Functions Core Tools, выберите команду Установить в приглашении.If you haven't already installed Azure Functions Core Tools, select Install at the prompt. При установке Core Tools приложение запускается на панели Терминал.When the Core Tools are installed, your app starts in the Terminal panel. Отобразится URL-адрес конечной точки активируемой HTTP-запросом функции, которая выполняется локально.You can see the URL endpoint of your HTTP-triggered function running locally.

    Выходные данные VS Code локальной функции

  3. Запустив Core Tools, перейдите по указанному далее URL-адресу, чтобы выполнить запрос GET, который включает строку запроса ?name=Functions.With Core Tools running, navigate to the following URL to execute a GET request, which includes ?name=Functions query string.

    http://localhost:7071/api/HttpExample?name=Functions

  4. Возвращается ответ, который в браузере выглядит следующим образом:A response is returned, which looks like the following in a browser:

    Браузер: пример выходных данных localhost

  5. Сведения о запросе отображаются на панели Терминал.Information about the request is shown in Terminal panel.

    Запуск узла задач: выходные данные терминала VS Code

  6. Нажмите клавиши CTRL+C, чтобы остановить Core Tools и отключить отладчик.Press Ctrl + C to stop Core Tools and disconnect the debugger.

Локальное выполнение функцииRun the function locally

Основные инструменты Функций Azure интегрируются с Visual Studio Code, что дает возможность запускать и отлаживать проект Функций Azure локально.Azure Functions Core Tools integrates with Visual Studio Code to let you run and debug an Azure Functions project locally. Инструкции по отладке с помощью Visual Studio Code см. в этой статье.For details on how to debug in Visual Studio Code, see Debug PowerShell Azure Functions locally.

  1. Нажмите клавишу F5, чтобы запустить проект приложения-функции.Press F5 to start the function app project. Выходные данные основных инструментов отображаются на панели Terminal (Терминал).Output from Core Tools is displayed in the Terminal panel.

  2. На панели Terminal (Терминал) скопируйте URL-адрес конечной точки функции, активируемой HTTP-запросом.In the Terminal panel, copy the URL endpoint of your HTTP-triggered function.

    Локальные выходные данные в Azure

  3. Добавьте строку запроса ?name=<yourname> к этому URL-адресу, а затем используйте Invoke-RestMethod во второй командной строке PowerShell, чтобы выполнить запрос, пример показано ниже.Append the query string ?name=<yourname> to this URL, and then use Invoke-RestMethod in a second PowerShell command prompt to execute the request, as follows:

    PS > Invoke-RestMethod -Method Get -Uri http://localhost:7071/api/HttpTrigger?name=PowerShell
    Hello PowerShell
    

    Вы также можете выполнить запрос GET в браузере по следующему URL-адресу:You can also execute the GET request from a browser from the following URL:

    http://localhost:7071/api/HttpExample?name=PowerShell

    Когда вы вызываете конечную точку HttpTrigger, не передавая name в качестве параметра запроса или в тексте, функция возвращает ошибку BadRequest.When you call the HttpTrigger endpoint without passing a name parameter either as a query parameter or in the body, the function returns a BadRequest error. Когда вы просматриваете код в run.ps1, вы поймете, что эта ошибка возникла намеренно.When you review the code in run.ps1, you see that this error occurs by design.

  4. Сведения о запросе отображаются на панели Терминал.Information about the request is shown in Terminal panel.

    Выполнение функции на панели "Терминал"

  5. Чтобы остановить работу Core Tools, нажмите сочетание клавиш CTRL+C.When done, press Ctrl + C to stop Core Tools.

Убедившись, что функция выполняется правильно на локальном компьютере, опубликуйте проект в Azure.After you've verified that the function runs correctly on your local computer, it's time to publish the project to Azure.

Убедившись, что функция выполняется правильно на локальном компьютере, опубликуйте проект в Azure с помощью Visual Studio Code.After you've verified that the function runs correctly on your local computer, it's time to use Visual Studio Code to publish the project directly to Azure.

Вход в AzureSign in to Azure

Прежде чем публиковать приложение, необходимо войти в Azure.Before you can publish your app, you must sign in to Azure.

  1. Если вы не выполнили вход, щелкните значок Azure на панели действий, а затем в области Azure: Функции выберите Войти в Azure. Если у вас нет бесплатной учетной записи Azure, вы можете создать ее .If you aren't already signed in, choose the Azure icon in the Activity bar, then in the Azure: Functions area, choose Sign in to Azure.... If you don't already have one, you can Create a free Azure account. Учащиеся могут создать бесплатную учетную запись Azure для учащихся .Students can create a free Azure account for Students.

    Вход в Azure через VS Code

    Если вы уже выполнили вход, перейдите к следующему разделу.If you're already signed in, go to the next section.

  2. При появлении запроса в браузере выберите учетную запись Azure и войдите в нее с помощью учетных данных.When prompted in the browser, choose your Azure account and sign in using your Azure account credentials.

  3. Выполнив вход, можно закрыть новое окно браузера.After you've successfully signed in, you can close the new browser window. Подписки, принадлежащие учетной записи Azure, отображаются на боковой панели.The subscriptions that belong to your Azure account are displayed in the Side bar.

Публикация проекта в AzurePublish the project to Azure

В этом разделе показано создание приложения-функции и сопутствующих ресурсов в подписке Azure и последующее развертывание кода.In this section, you create a function app and related resources in your Azure subscription and then deploy your code.

Важно!

Публикация в существующее приложение-функцию перезаписывает содержимое этого приложения в Azure.Publishing to an existing function app overwrites the content of that app in Azure.

  1. Щелкните значок Azure на панели действий, а затем в области Azure: Функции выберите кнопку Deploy to function app... (Развертывание в приложение-функцию).Choose the Azure icon in the Activity bar, then in the Azure: Functions area, choose the Deploy to function app... button.

    Публикация проекта в Azure

  2. Введите следующие сведения по соответствующим запросам:Provide the following information at the prompts:

    • Выбор папки. Выберите папку из рабочей области или перейдите к папке, содержащей приложение-функцию.Select folder: Choose a folder from your workspace or browse to one that contains your function app. Этот элемент не отобразится, если вы уже открыли допустимое приложение-функцию.You won't see this if you already have a valid function app opened.

    • Выбрать подписку. Выберите подписку, которую нужно использовать.Select subscription: Choose the subscription to use. Если у вас только одна подписка, вы не увидите этот параметр.You won't see this if you only have one subscription.

    • Select Function App in Azure (Выбор приложения-функции в Azure). Выберите - Create new Function App.Select Function App in Azure: Choose - Create new Function App. (Не выбирайте параметр Advanced, так как он не рассматривается в этой статье.)(Don't choose the Advanced option, which isn't covered in this article.)

    • Enter a globally unique name for the function app (Ввод глобально уникального имени для приложения-функции). Введите имя, допустимое в пути URL-адреса.Enter a globally unique name for the function app: Type a name that is valid in a URL path. Имя, которое вы вводите, проверяется, чтобы убедиться, что оно уникально в функциях Azure.The name you type is validated to make sure that it's unique in Azure Functions.

    • Select a runtime (Выбор среды выполнения). Выберите версию Python, которая запускалась локально.Select a runtime: Choose the version of Python you've been running on locally. Вы можете использовать команду python --version, чтобы проверить установленную версию.You can use the python --version command to check your version.
    • Select a runtime (Выбор среды выполнения). Выберите версию Node.js, которая запускалась локально.Select a runtime: Choose the version of Node.js you've been running on locally. Вы можете использовать команду node --version, чтобы проверить установленную версию.You can use the node --version command to check your version.
    • Select a location for new resources (Выбор расположения для новых ресурсов). Для повышения производительности выберите регион рядом с вами.Select a location for new resources: For better performance, choose a region near you.
  3. После завершения в вашей подписке создаются следующие ресурсы Azure с именами, производными от имени приложения-функции:When completed, the following Azure resources are created in your subscription, using names based on your function app name:

    • группу ресурсов — логический контейнер связанных ресурсов;A resource group, which is a logical container for related resources.
    • Стандартная учетная запись хранения Azure для сохранения состояния и других сведений о проектах.A standard Azure Storage account, which maintains state and other information about your projects.
    • План потребления, который определяет базовый узел для бессерверного приложения-функции;A consumption plan, which defines the underlying host for your serverless function app.
    • приложение-функцию — среду для выполнения кода функции.A function app, which provides the environment for executing your function code. Приложение-функция позволяет группировать функции в логические единицы и упростить развертывание, масштабирование и совместное использование ресурсов, а также управление ими в рамках единого плана размещения.A function app lets you group functions as a logical unit for easier management, deployment, and sharing of resources within the same hosting plan.
    • Экземпляр Application Insights, подключенный к приложению-функции, который отслеживает использование бессерверной функции.An Application Insights instance connected to the function app, which tracks usage of your serverless function.

    После создания приложения-функции и применения пакета развертывания отобразится уведомление.A notification is displayed after your function app is created and the deployment package is applied.

  4. Выберите View Output (Просмотреть выходные данные) в уведомлении, чтобы просмотреть результаты создания и развертывания ресурсов Azure.Select View Output in this notification to view the creation and deployment results, including the Azure resources that you created. Если вы пропустили уведомление, щелкните значок колокольчика в правом нижнем углу, чтобы снова просмотреть его.If you miss the notification, select the bell icon in the lower right corner to see it again.

    Создание уведомления о завершении

Запуск функции в AzureRun the function in Azure

  1. Вернитесь в область Azure: Functions (Azure: Функции) на панели слева и откройте новое приложение-функцию в своей подписке.Back in the Azure: Functions area in the side bar, expand the new function app under your subscription. Разверните Функции, щелкните правой кнопкой мыши (Windows) или щелкните, нажав клавишу CTRL (macOS), элемент HttpExample, а затем выберите команду Copy function URL (Копировать URL-адрес функции).Expand Functions, right-click (Windows) or Ctrl - click (macOS) on HttpExample, and then choose Copy function URL.

    Скопируйте URL-адрес функции для создания нового HTTP-триггера

  2. Вставьте этот URL-адрес для HTTP-запроса в адресную строку браузера, добавьте строку запроса name в качестве ?name=Functions в конец этого URL-адреса, а затем выполните запрос.Paste this URL for the HTTP request into your browser's address bar, add the name query string as ?name=Functions to the end of this URL, and then execute the request. URL-адрес для вызова функции, активируемой HTTP-запросом, должен быть указан в таком формате:The URL that calls your HTTP-triggered function should be in the following format:

    http://<functionappname>.azurewebsites.net/api/httpexample?name=Functions
    

    В примере ниже показан ответ в браузере на удаленный запрос GET, возвращаемый функцией:The following example shows the response in the browser to the remote GET request returned by the function:

    Ответ функции в браузере

Очистка ресурсовClean up resources

При переходе к следующему шагу, Подключение функции к службе хранилища Azure с помощью Visual Studio Code, вам потребуется сохранить все ресурсы, чтобы использовать их в будущем.When you continue to the next step, Add an Azure Storage queue binding to your function, you'll need to keep all your resources in place to build on what you've already done.

В противном случае выполните следующие действия, чтобы удалить приложение-функцию и связанные с ним ресурсы и избежать дополнительных расходов.Otherwise, you can use the following steps to delete the function app and its related resources to avoid incurring any further costs.

  1. В Visual Studio Code нажмите клавишу F1, чтобы открыть палитру команд.In Visual Studio Code, press F1 to open the command palette. В палитре команд найдите и щелкните Azure Functions: Open in portal.In the command palette, search for and select Azure Functions: Open in portal.

  2. Выберите приложение-функцию и нажмите клавишу ВВОД.Choose your function app, and press Enter. Страница приложения-функции откроется на портале Azure.The function app page opens in the Azure portal.

  3. На вкладке Обзор выберите именованную ссылку рядом с полем Группа ресурсов.In the Overview tab, select the named link next to Resource group.

    Выберите группу ресурсов, которую требуется удалить со страницы приложения-функции.

  4. На странице Resource group (Группа ресурсов) просмотрите список включенных ресурсов и убедитесь, что именно их требуется удалить.In the Resource group page, review the list of included resources, and verify that they are the ones you want to delete.

  5. Выберите Удалить группу ресурсов и следуйте инструкциям.Select Delete resource group, and follow the instructions.

    Удаление может занять несколько минут.Deletion may take a couple of minutes. После этого на несколько секунд появится уведомление.When it's done, a notification appears for a few seconds. Кроме того, можно выбрать значок колокольчика в верхней части страницы, чтобы просмотреть уведомление.You can also select the bell icon at the top of the page to view the notification.

Дополнительные сведения о затратах на использование Функций см. в статье Estimating Consumption plan costs (Оценка затрат на план потребления).To learn more about Functions costs, see Estimating Consumption plan costs.

Дальнейшие действияNext steps

С помощью Visual Studio Code вы создали приложение-функцию с простой функцией, активируемой HTTP-запросом.You have used Visual Studio Code to create a function app with a simple HTTP-triggered function. В следующей статье вы расширите эту функцию, добавив выходную привязку.In the next article, you expand that function by adding an output binding. Эта привязка записывает строку из HTTP-запроса в сообщение очереди Хранилища очередей Azure.This binding writes the string from the HTTP request to a message in an Azure Queue Storage queue.

Connect functions to Azure Storage using Visual Studio Code (Подключение функций к службе хранилища Azure с помощью Visual Studio Code)Add an Azure Storage queue binding to your function