Упражнение. Развертывание функции в Azure

Завершено

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

В этом упражнении вы узнаете, как настроить функцию для развертывания в Функции Azure. Затем вы используете Maven для развертывания функции и тестирования функции в облаке.

Настройка проекта функции для развертывания

Существует несколько изменений, которые необходимо вносить в приложение-функцию, прежде чем его можно будет развернуть в Azure. Ниже приведены инструкции по обновлению проекта для развертывания.

  1. Определите регион для группы ресурсов песочницы:

    1. Используйте имя группы ресурсов, которая была автоматически создана при активации песочницы, чтобы получить регион, в котором находится группа ресурсов:

      az group show --name "<rgn>[sandbox resource group name]</rgn>" | jq -r '.location'
      
    2. Скопируйте имя региона, отображаемого для использования в следующих шагах.

  2. Обновите параметры в файле pom.xml:

    1. В Azure Cloud Shell перейдите в корневую папку приложения. Например:

      cd ~/event-reporting
      
    2. Откройте файл pom.xml в редакторе кода Cloud Shell.

      code pom.xml
      
    3. Найдите следующий идентификатор артефакта:

      <artifactId>azure-functions-maven-plugin</artifactId>
      
    4. В следующем разделе <configuration> найдите элемент <resourceGroup> и измените его, указав имя вашей группы ресурсов. Например:

      <resourceGroup><rgn>[sandbox resource group name]</rgn></resourceGroup>
      
    5. Найдите элемент <region> и измените его, указав имя региона, в котором находится ваша группа ресурсов. Например:

      <region>westus</region>
      
    6. Нажмите клавиши CTRL+S, чтобы сохранить файл pom.xml, а затем клавиши CTRL+Q, чтобы закрыть редактор кода.

Развертывание Функции Azure

Теперь, когда ваша функция настроена для развертывания, следующий шаг — развернуть ее в Функции Azure.

  1. В Azure Cloud Shell перейдите в корневую папку приложения. Например:

    cd ~/event-reporting
    
  2. Выполните следующую команду, чтобы выполнить сборку и развернуть ее в Функциях Azure:

    mvn clean package azure-functions:deploy
    

    Maven отображает состояние выполнения развертывания. Например:

    [INFO] Scanning for projects...
    [INFO]
    [INFO] ------------------------------------------------------------------------
    [INFO] Building Azure Java Functions 1.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO]
    [INFO] --- azure-functions-maven-plugin:1.4.1:deploy (default-cli) @ event-reporting ---
    [INFO] Auth Type : AZURE_CLI
    [INFO] Subscription : Concierge Subscription(12345678-1234-1234-1234-123456789abc)
    [INFO] The specified function app does not exist. Creating a new function app...
    [INFO] Set function worker runtime to java.
    [INFO] Successfully created the function app: event-reporting-20240125192009873.
    [INFO] Trying to deploy the function app...
    [INFO] Trying to deploy artifact to event-reporting-20240125192009873...
    [INFO] Successfully deployed the artifact to https://event-reporting-20240125192009873.azurewebsites.net
    [INFO] Deployment done, you may access your resource through event-reporting-20240125192009873.azurewebsites.net
    [INFO] Syncing triggers and fetching function information
    [INFO] Querying triggers...
    [INFO] HTTP Trigger Urls:
    [INFO]   HttpExample : https://event-reporting-20240125192009873.azurewebsites.net/api/httpexample
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  01:01 min
    [INFO] Finished at: 2024-01-25T20:12:04Z
    [INFO] ------------------------------------------------------------------------
    

Получение URL-адреса Функции Azure с помощью портала

Помните, что в упражнении, которое вы выполнили в предыдущем уроке, необходимо было создать URL-адрес для тестирования функции в веб-браузере. Однако существует более простой способ получения URL-адреса для функции Azure с помощью портал Azure. Для этого выполните следующие действия.

  1. Войдите на портал Azure, используя ту же учетную запись, с помощью которой вы активировали песочницу.

  2. Выберите Все ресурсы в меню слева.

  3. Выберите приложение-функцию из списка ресурсов; для этого упражнения имя приложения-функции начинается с создания отчетов о событиях. Например:

    event-reporting-20240125192009873
    

    Это function app имя совпадает с тем, что было сообщено в ответе на развертывание ранее в этом упражнении.

  4. На странице обзора приложения-функции на вкладке "Функции" выберите функцию HttpExample. На этой странице показана страница обзора для функции.

  5. В верхней части страницы функции выберите "Получить URL-адрес функции". Скопируйте полностью созданный URL-адрес функции. Например:

    https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample
    

    Этот URL-адрес используется в следующем разделе этого упражнения.

Тестирование функции Azure на портале

Теперь, когда вы развернули функцию в Azure, все, что необходимо для тестирования функции в веб-браузере, заключается в добавлении строки запроса в конец URL-адреса, как и в предыдущих упражнениях.

  1. Создайте URL-адрес для API функции.

    1. Получите URL-адрес, скопированный в предыдущем разделе этого упражнения Получение URL-адреса функции Azure с помощью портала. Например:

      https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample
      
    2. Добавьте строку запроса, которая передает имя в URL-адрес API. Например:

      https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample?name=Bob
      
    3. Скопируйте этот полностью созданный URL-адрес для использования в следующих шагах.

  2. Откройте новую вкладку в веб-браузере и вставьте в адресную строку полностью созданный URL-адрес из предыдущих шагов.

  3. При указании веб-браузера запрашивать URL-адрес отображается сообщение с открытым текстом, возвращенное веб-браузеру, которое персонализировано для имени, переданного в строке запроса. Например:

    Hello, Bob
    

Поздравляем, вы успешно развернули и протестировали свою функцию в Azure!