如何在 AWS Serverless Application Repository 中发布嵌套堆栈

Mic*_* B. 6 amazon-web-services aws-sam

我曾经sam package将本地文件打包为s3.

生成的模板如下所示:

AWSTemplateFormatVersion: "2010-09-09"
Transform: AWS::Serverless-2016-10-31

Metadata:
  AWS::ServerlessRepo::Application:
    Name: test_nested_stack
    # ... other fields ...

Resources:
  TmpApp:
    Type: AWS::Serverless::Application
    Properties:
      Location: https://s3.eu-west-1.amazonaws.com/{{a-bucket-name}}/{{a-file-name}}.template

  # ...
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 发布时sam publish,出现以下错误:

错误:无服务器应用程序规范文档无效。发现的错误数: 1. 错误: ID 为 [TmpApp] 的资源无效。位置属性必须是引用有效 AWS Serverless Application Repository 应用程序的应用程序位置对象。请按照https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-template-publishing-applications.html中的说明进行操作

该说明链接没有说明有关使用 S3 url 作为嵌套应用程序位置的任何内容。

在我的用例中,我之前不能只发布TmpApp到无服务器存储库,因为它被分成多个嵌套模板文件。