Я разработал набор функций Lambda в Golang и пытаюсь развернуть эти функции и шлюз API с помощью SAM.
Я создаю исполняемые файлы локально, создаю zip-файл для каждой из этих лямбда-функций и загружаю эти zip-файлы в корзину s3.
Я даю ссылку на эту корзину S3 в файле шаблона SAM.
Мой файл шаблона SAM выглядит следующим образом
myfunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: s3://<<my-bucket>>/bin/handlers/myfunction.zip
Handler: myfunction
Role: !GetAtt CFLambdaExecutionRole.Arn
Events:
Getcfdemoapi:
Type: Api
Properties:
Path: /myfunction
Method: get
CreateCustomer:
Type: Api
Properties:
Path: /myfunction
Method: post
UpdateCustomer:
Type: Api
Properties:
Path: /customer
Method: put
DeleteCustomer:
Type: Api
Properties:
Path: /myfunction
Method: delete
Развертывание прошло успешно.
Я вызвал лямбда-функцию через шлюз API.
Я проверил журнал часов Cloud и увидел ошибку ниже -
Ошибка fork / exec / var / task / myfunction: нет такого файла или каталога: PathError
Что-то не так в шаблоне SAM, связанном с CodeUri и обработчиком?
Я создаю сборку на MacOS и использую следующую команду для сборки -
GOOS=linux GOARCH=amd64 go build
myfunction.zip
? - person Marcin   schedule 30.11.2020