При использовании AWS SAM CLI для создания безсерверного приложения он волшебным образом обнаруживает зависимости и устанавливает их все как этап «сборки». Например, используя приложение NodeJS:
$> sam build
Building resource 'HelloWorldFunction'
Running NodejsNpmBuilder:NpmPack
Running NodejsNpmBuilder:CopyNpmrc
Running NodejsNpmBuilder:CopySource
Running NodejsNpmBuilder:NpmInstall
Running NodejsNpmBuilder:CleanUpNpmrc
Build Succeeded
Built Artifacts : .aws-sam/build
Built Template : .aws-sam/build/template.yaml
Commands you can use next
=========================
[*] Invoke Function: sam local invoke
[*] Deploy: sam deploy --guided
$>
Глядя на официальную документацию , они счастливы просто относиться к нему как к волшебникам c, говоря, что оно:
перебирает функции в вашем приложении, ищет файл манифеста (например, requirements.txt
), который содержит зависимости, и автоматически создает артефакты развертывания, которые вы можете развернуть в Lambda
Но что, если у меня есть зависимость помимо тех, которые указаны в файле манифеста? Что если мой код зависит от скомпилированного двоичного файла или файла данных stati c?
Я хотел бы добавить дополнительные этапы сборки, чтобы при запуске sam build
он компилировал эти файлы или копировал их соответствующим образом , Есть ли способ сделать это?