Вызов конечной точки AWS Lambda - PullRequest
0 голосов
/ 25 ноября 2018

Я реализовал AWS лямбда-метод, чтобы узнать, что я могу с ним сделать.Что у меня сейчас:

  • Сама AWS лямбда
  • API-шлюз
  • Amazon CloudWatch Logs

В настройках API-шлюза я вижу следующеепараметры:

За этой лямбдой у меня есть Java-код, реализующий com.amazonaws.services.lambda.runtime.RequestStreamHandler и REST-контроллер за ним, что-то вроде этого:

@Path("/tester")
public class TestResource {

    private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());

    private TestRepository testRepository;

    public void setTestRepository(TestRepository testRepository) {
        this.testRepository = testRepository;
    }

    @POST
    @Path("/{identifier}")
    @Produces(MediaType.TEXT_PLAIN)
    @Consumes(MediaType.WILDCARD)
    public Response store(@PathParam("identifier") String identifier, @QueryParam("hashcode") String hashcode) {
        try {
            this.testRepository.store(identifier, hashcode);
        } catch (RuntimeException ex) {
            LOG.error("Failed to store pair {}, {}", identifier, hashcode, ex);
            throw new InternalServerErrorException(ex);
        }
        return Response.noContent().build();
    }
}

Теперь я попытался вызвать этот сервис через Почтальон:

Вариант 1 - вызвать то, что я видел в API Gateway:

Результат: 404 не найден, см. Соответствующие журналы в AWS CloudWatch.

Вариант 2 - вызвать мой метод:

Результат: 403 Запрещено, нет журналов в AWS CloudWatch.

{
    "message": "Missing Authentication Token"
}

Я полностью понимаю, почему Вариант 1 не работал, но что пошло не так с Вариант 2 ?Не могли бы вы помочь мне понять, что я пропустил?

1 Ответ

0 голосов
/ 25 ноября 2018

Это сообщение появляется (чаще всего), когда вы пытаетесь вызвать URL, который не существует.

Пожалуйста, убедитесь, что вы звоните http://api-gateway-name/stage-name/resource-name

Кроме того, убедитесь, что выразвернули ваш API.

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