У меня следующая сложная структура:
utils:
- utils.go
function1:
pkg1_specific_to_fn1:
-pkg1_specific_to_fn1.go
pkg2_specific_to_fn1:
-pkg2_specific_to_fn1.go
main.go
function2:
pkg1_specific_to_fn1:
-pkg1_specific_to_fn2.go
pkg2_specific_to_fn1:
-pkg2_specific_to_fn2.go
main.go
function3:
pkg1_specific_to_fn1:
-pkg1_specific_to_fn3.go
pkg2_specific_to_fn1:
-pkg2_specific_to_fn3.go
main.go
Как мне создать файл развертывания .YML для всех этих функций в GoLang? Будут ли какие-либо проблемы, если у всех этих функций будет свой основной? Я новичок в GoLang, но, насколько мне известно, пакет может содержать только один файл main.go, и в файле YML для свойства handler
я должен указать исполняемый файл из bin
. Вот что я имел в виду:
service: myService
provider:
name: aws
runtime: go1.x
functions:
function1:
handler: bin/function1/main
description: ..
events: ..
function2:
handler: bin/function2/main
events: ..
function3:
handler: bin/function3/main
Поскольку у меня есть несколько пакетов, представляющих несколько функций Lambda, для меня будет нормально иметь main.go в каждой из них, правильно? Если нет, то каков правильный способ сделать это? Кроме того, если это нормально, как мне указать правильный main
двоичный файл для каждой функции, и действительно ли это соглашение о развертывании нескольких лямбда-выражений с GoLang?
ПРИМЕЧАНИЕ: в каждом main.go есть соответствующий обработчик функции.