Краткое руководство. Создание функции C# в Azure с помощью Visual Studio CodeQuickstart: Create a C# 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.

Выполнение этого краткого руководства предполагает небольшую дополнительную плату в несколько центов США в учетной записи 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.

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

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

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

В этом разделе вы используете Visual Studio Code, чтобы создать локальный проект Функций Azure на C#.In this section, you use Visual Studio Code to create a local Azure Functions project in C#. Далее в этой статье вы опубликуете код функции в 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#.

    • Выберите шаблон для первой функции вашего проекта. Выберите 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. При возникновении проблем с запуском в Windows убедитесь, что в качестве терминала по умолчанию для Visual Studio Code не используется оболочка WSL.If you have trouble running on Windows, make sure that the default terminal for Visual Studio Code isn't set to WSL Bash.

  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.

Убедившись, что функция выполняется правильно на локальном компьютере, опубликуйте проект в 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 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://<FUNCTION_APP_NAME>.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 к функции, вам потребуется сохранить все ресурсы, чтобы использовать их в будущем.When you continue to the next step and 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.