Próbuję więc przekonwertować istniejącą aplikację sprężyny do Lambda i za pomocą Sam.

Próbuję użyć AWS-SAM-CLI, aby spróbować Lambda lokalnie, jednak dzięki moim SAM Setup otrzymuję: Template does not have any APIs connected to Lambda functions

Kiedy robię: sam local start-api

Mój template.yml:

AWSTemplateFormatVersion : '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: foo
Resources:
  MailFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: bar.LambdaHandler::handleRequest
      Runtime: java8
      CodeUri: target/foo-bar-1.0.jar
      Timeout: 300
      MemorySize: 1024
      Events:
        Timer:
          Type: Schedule
          Properties:
            Schedule: rate(1 day)

Jakiś pomysł, co robię źle? Wygląda poprawne, o ile mogę powiedzieć z HTTPS: // Blog.Couchbase.com/aws-Serverless-Lambda-Scheduled-Events-tweets-Couchbase/ + https://docs.aws.Amazon.com/lambda/latest/dg/Tutorial-scheduled-Events-schedule-expressions.html

8
Kristof Plennings 4 czerwiec 2018, 15:04

4 odpowiedzi

Najlepsza odpowiedź

Nie dodałeś żadnych wydarzeń bramy API do swojej funkcji. I start-api odradzaj lokalną bramę API.

Musisz dodać co najmniej jeden {x0}} zdarzenia do sekcji Events.

Events:
  [...]
  Api:
    Type: Api
    Properties:
      Path: /myresource
      Method: get

Jeśli masz zdarzenie Schedule, spróbuj użyć generate-event, aby utworzyć taki wydarzenie.

sam local generate-event schedule ...

I funkcja wywołania np. sam local invoke function-name -e event_file.json (patrz)

8
H6. 4 czerwiec 2018, 12:53

Ten komunikat o błędzie wyświetla się również, jeśli próbujesz przetestować API WebsCocket Locally. Niestety, lokalne testy tworzyw bazfr nie jest obecnie obsługiwane - patrz HTTPS: // GitHub. COM / AWSLIBS / AWS-SAM-CLI / problemy / 896.

1
Evan Pon 19 wrzesień 2019, 04:43

Pobiegłem do tego błędu, nawet gdy i zrobiłem mieć zdarzenie Api zdefiniowane w moim szablonie SAM. Problem polegał na tym, że miałem poprzedni szablon w moim katalogu {X1}}, który nie miał zdarzenia API zdefiniowane (z poprzedniego biegu sam build). Czyszczenie katalogu budowy naprawiono go.

0
leeor 4 kwiecień 2019, 17:12

Dostałem ten błąd, kiedy miałem błąd białe znaki w moim AWS :: Serverless :: Definicja funkcji, specjalnie Environment potrzebna do bycia dzieckiem Properties, ale był na tym samym poziomie. Korygowanie białego znaku spowodowało, że ten błąd zniknął. Nodejs 10.15.

0
cyrf 18 lipiec 2019, 05:17