在无服务器框架中的多个文件中声明资源
Declaring resources in multiple files in Serverless framework
有没有办法把serverless框架中的资源定义拆分成多个文件?类似于:
resources:
- ${resources/base.yml}
- ${resources/foo.yml}
我一直在尝试多种组合,但我总是收到有关未找到引用的错误。
请注意,resources
属性 必须是包含 Resources
属性 的对象, 不是 数组资源,例如您在代码段中想要的资源。
因此,要使用外部文件引用,您可以执行类似...
resources
Resources:
UsersTable: ${file(../resources/base.yml):UsersTable}
FooTable: ${file(../resources/foo.yml):FooTable}
尽管 dashmug 的答案是正确的,但我发现我尝试使其工作的方式也非常接近有效的解决方案。如 this github comment 中所述,可以在资源部分引用其他文件:
resources:
- ${file(resources/first-cf-resources.yml)}
- ${file(resources/second-cf-resources.yml)}
前提是每个文件都定义了自己的 "Resources" 键,例如:
---
Resources:
MyCFResource:
Type:.....
我没有做到的是采用混合方法,例如:
resources:
- ${file(resources/first-cf-resources.yml)}
- ${file(resources/second-cf-resources.yml)}
SomeResource:
Type: ...
所以我只有一个 resources/base.yml 来代替。
我无法发表评论,但我想扩展 Jesuspc 的回答。
有一种方法可以实现 'mixed' 方法,在 serverless.yml:
resources:
- ${file(resources/first-cf-resources.yml)}
- ${file(resources/second-cf-resources.yml)}
- Resources:
SomeResource:
Type: ...
在这种情况下,文件 first-cf-resources.yml
和 second-cf-resources.yml
必须具有下一个结构:
Resources:
SomeResourceA:
...
AnotherResourceB:
...
有没有办法把serverless框架中的资源定义拆分成多个文件?类似于:
resources:
- ${resources/base.yml}
- ${resources/foo.yml}
我一直在尝试多种组合,但我总是收到有关未找到引用的错误。
请注意,resources
属性 必须是包含 Resources
属性 的对象, 不是 数组资源,例如您在代码段中想要的资源。
因此,要使用外部文件引用,您可以执行类似...
resources
Resources:
UsersTable: ${file(../resources/base.yml):UsersTable}
FooTable: ${file(../resources/foo.yml):FooTable}
尽管 dashmug 的答案是正确的,但我发现我尝试使其工作的方式也非常接近有效的解决方案。如 this github comment 中所述,可以在资源部分引用其他文件:
resources:
- ${file(resources/first-cf-resources.yml)}
- ${file(resources/second-cf-resources.yml)}
前提是每个文件都定义了自己的 "Resources" 键,例如:
---
Resources:
MyCFResource:
Type:.....
我没有做到的是采用混合方法,例如:
resources:
- ${file(resources/first-cf-resources.yml)}
- ${file(resources/second-cf-resources.yml)}
SomeResource:
Type: ...
所以我只有一个 resources/base.yml 来代替。
我无法发表评论,但我想扩展 Jesuspc 的回答。
有一种方法可以实现 'mixed' 方法,在 serverless.yml:
resources:
- ${file(resources/first-cf-resources.yml)}
- ${file(resources/second-cf-resources.yml)}
- Resources:
SomeResource:
Type: ...
在这种情况下,文件 first-cf-resources.yml
和 second-cf-resources.yml
必须具有下一个结构:
Resources:
SomeResourceA:
...
AnotherResourceB:
...