Функция Azure Java-502-Bad Gateway - PullRequest
0 голосов
/ 31 мая 2018

Я создал функцию Azure Java, как указано в следующей ссылке:

https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-java-maven

Класс Java:

package com.khan;

import java.util.*;
import com.microsoft.azure.serverless.functions.annotation.*;
import com.microsoft.azure.serverless.functions.*;

/**
 * Azure Functions with HTTP Trigger.
 */
public class Function {
    /**
     * This function listens at endpoint "/api/hello". Two ways to invoke it using "curl" command in bash:
     * 1. curl -d "HTTP Body" {your host}/api/hello
     * 2. curl {your host}/api/hello?name=HTTP%20Query
     */
    @FunctionName("hello")
    public HttpResponseMessage<String> hello(
            @HttpTrigger(name = "req", methods = {"get", "post"}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
            final ExecutionContext context) {

        context.getLogger().info("Java HTTP trigger processed a request.");

        // Parse query parameter
        String query = request.getQueryParameters().get("name");
        String name = request.getBody().orElse(query);

        if (name == null) {
            return request.createResponse(400, "Please pass a name on the query string or in the request body");
        } else {
            return request.createResponse(200, "Hello, " + name);
        }

    }
}

Функция созданаи успешно развернут

enter image description here

Теперь, когда я пытаюсь получить доступ с помощью curl

curl -w '\n' https://sundaydemo-20180526141357482.azurewebsites.net -d AzureFunctions

or postman 

https://sundaydemo-20180526141357482.azurewebsites.net/api/hello

Тогда получаю следующую ошибку, мне интересно, еслилюбой, кто получит такую ​​же ошибку.

502-Bad Gateway

В указанном приложении CGI обнаружена ошибка, и сервер завершил процесс.

Журналы:

2018-05-31T02:02:50  Welcome, you are now connected to log-streaming service.
2018-05-31T02:03:50  No new trace in the past 1 min(s).
2018-05-31T02:04:50  No new trace in the past 2 min(s).
2018-05-31T02:05:50  No new trace in the past 3 min(s).
2018-05-31T02:06:50  No new trace in the past 4 min(s).
2018-05-31T02:07:50  No new trace in the past 5 min(s).
2018-05-31T02:08:50  No new trace in the past 6 min(s).
2018-05-31T02:09:17.161 [Information] Executing 'Functions.hello' (Reason='This function was programmatically called via the host APIs.', Id=b43d17c9-35c0-4c84-ab7e-26a8ec721fe9)
2018-05-31T02:10:50  No new trace in the past 1 min(s).
2018-05-31T02:11:50  No new trace in the past 2 min(s).
2018-05-31T02:12:50  No new trace in the past 3 min(s).
2018-05-31T02:13:50  No new trace in the past 4 min(s).
2018-05-31T02:14:17.183 [Error] Timeout value of 00:05:00 exceeded by function 'Functions.hello' (Id: 'b43d17c9-35c0-4c84-ab7e-26a8ec721fe9'). Initiating cancellation.
2018-05-31T02:14:17.451 [Error] Microsoft.Azure.WebJobs.Host: Timeout value of 00:05:00 was exceeded by function: Functions.hello.
2018-05-31T02:14:17.572 [Error] Executed 'Functions.hello' (Failed, Id=b43d17c9-35c0-4c84-ab7e-26a8ec721fe9)
2018-05-31T02:15:50  No new trace in the past 1 min(s).
2018-05-31T02:16:50  No new trace in the past 2 min(s).
2018-05-31T02:17:50  No new trace in the past 3 min(s).
2018-05-31T02:18:50  No new trace in the past 4 min(s).

enter image description here

enter image description here

enter image description here

enter image description here

Также попытался удалить все и добавил CORS *

enter image description here

Хранение:

enter image description here

enter image description here

1 Ответ

0 голосов
/ 13 июня 2018

Кажется, вы встретились Функция Runtime 2.0 Preview Breaking Change .

На портале время выполнения функции было обновлено до 2.0.11857.0 (проверьте панель настроек приложения-функции).В то время как плагин maven не был обновлен, чтобы наверстать упущенное.

Так что код, созданный старым плагином mvn, не совместим с последним временем выполнения.

Обходной путь состоит в том, чтобы привязать время выполнения вашей функции к предыдущему.Перейдите на панель настроек приложения и измените FUNCTIONS_EXTENSION_VERSION с beta на 2.0.11776-alpha.

См. Обсуждение проблемы для получения более подробной информации, скоро появится новый плагин.

Update-6/15

Новый плагин выпущен.См. уведомление для работника языка jave .

  • Создание нового проекта с использованием новейшего архетипа функций Maven Azure

    mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype 
    
  • ОбновлениеВ существующем проекте будет использоваться последняя версия плагина Azure Function mvn

    1. код функции (*. java)

      До

      import com.microsoft.azure.serverless.functions.annotation.*;
      import com.microsoft.azure.serverless.functions.*;
      

      После (удалить без сервера)

      import com.microsoft.azure.functions.annotation.*;
      import com.microsoft.azure.functions.*;
      
    2. pom.xml

      1) До

      <dependency>
          <groupId>com.microsoft.azure</groupId>
          <artifactId>azure-functions-java-core</artifactId>
          <version>1.0.0-beta-2/3</version>
      </dependency>
      

      После

      <dependency>
          <groupId>com.microsoft.azure.functions</groupId>
          <artifactId>azure-functions-java-library</artifactId>
          <version>1.0.0-beta-4</version>
      </dependency>
      

      2) Найти еще одинazure-functions-java-core из excludeArtifactIds, изменить на azure-functions-java-library.

      3) Найти azure-functions-maven-plugin, изменить версию на 1.0.0-beta-2.См. Последнюю версию maven .

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