Я написал сервис, используя функции шага AWS. Я хотел бы интегрировать это в наши приложения существующего процесса разработки Elastic Beanstalk, в котором у нас есть различные приложения для разработки, подготовки и производства. На каждом из этих этапов есть переменные среды, специфичные для приложения, которые я хотел бы также включить в свои функции Lambda.
В настоящее время я не использую SAM, но при необходимости могу портировать через него.
Ниже приведена упрощенная конфигурация, отражающая мой файл serverless.yml.
service:
name: small-service
plugins:
- serverless-webpack
- serverless-step-functions
- serverless-pseudo-parameters
provider:
name: aws
runtime: nodejs8.10
stage: dev
region: us-east-2
iamRoleStatements:
- Effect: "Allow"
Action:
- "s3:*"
Resource: { "Fn::Join": ["", ["arn:aws:s3:::S3-bucket-name", "/*" ] ] }
functions:
connect:
handler: handler.connect
stepFunctions:
stateMachines:
smallService:
name: small-service-${self:provider.stage}
definition:
Comment: Service that connects to things
StartAt: Connect
States:
Connect:
Type: Task
Resource: arn:aws:lambda:#{AWS::Region}:#{AWS::AccountId}:function:${self:service}-${self:provider.stage}-connect
End: true
Как динамически развернуть пошаговые функции в различных приложениях beanstalk? Как получить доступ к свойствам среды ElasticBeanstalk из пошаговых функций?
Есть ли лучший способ динамического импорта переменных среды .env
в приложение без сервера за пределами EB? Мы интегрируем сервис в более крупный рабочий процесс разработки приложений AWS, есть ли более «безсерверный» способ сделать это?