簡體   English   中英

如何有選擇地應用環境配置?

[英]How to optionally apply environment configuration?

我想根據是否設置了環境變量來選擇性地應用 VPC 配置。

像這樣:

custom:
  vpc:
    securityGroupIds:
      - ...
    subnetIds:
      - ...

functions:
  main:
    ...
    vpc: !If
      - ${env:USE_VPC}
      - ${self:custom.vpc}
      - ~

我也想對警報(可選擇添加電子郵件以接收警報)和其他字段做類似的事情。

如何才能做到這一點?

我已經嘗試了上述配置和其他各種配置,但只收到各種不同的錯誤

例如:

Configuration error: 
     at 'functions.main.vpc': must have required property 'securityGroupIds'
     at 'functions.main.vpc': must have required property 'subnetIds'
     at 'functions.main.vpc': unrecognized property 'Fn::If'

目前,實現這種行為的最佳方法是使用基於 JS/TS 的配置而不是 YAML。使用 TS/JS,您可以獲得編程語言的全部功能來根據需要調整配置,包括使用此類條件檢查來排除配置的某些部分。 它沒有很好地記錄,但您可以以此為起點: https://github.com/serverless/examples/tree/v3/legacy/aws-nodejs-typescript

通常,您可以為所欲為,只要您使用無服務器配置導出有效的 object(或解析為有效對象的 promise)即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM