

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# AWS SAM 搭配使用 AWS Serverless Application Repository
<a name="using-aws-sam"></a>

 AWS Serverless Application Model (AWS SAM) 是一个开源框架，可用于在其上 AWS构建[无服务器应用程序](https://aws.amazon.com/serverless/)。有关使用构建无服务器应用程序 AWS SAM 的更多信息，请参阅《[https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/)。

在构建将发布到的应用程序时 AWS Serverless Application Repository，必须考虑一组可用的受支持 AWS 资源和策略模板。以下各节将更详细地介绍这些主题。

## 中支持的 AWS 资源 AWS Serverless Application Repository
<a name="supported-resources-for-serverlessrepo"></a>

 AWS Serverless Application Repository 支持由许多 AWS SAM CloudFormation 资源组成的无服务器应用程序。要查看支持的 AWS 资源的完整列表 AWS Serverless Application Repository，请参阅[支持的 AWS 资源清单](list-supported-resources.md)。

如果您想请求支持以获取其他 AWS 资源，请联系 Suppor [AWS t](https://console.aws.amazon.com/support/home#/)。

**重要**  
如果您的应用程序模板包含以下任一自定义 IAM 角色或资源策略，则默认情况下，您的应用程序不会显示在搜索结果中。另外，客户需要确认应用程序的自定义 IAM 角色或资源策略，然后才能部署应用程序。有关更多信息，请参阅[确认应用程序功能](acknowledging-application-capabilities.md)。  
这适用于的资源列表是：  
**IAM 角色：[AWS::IAM::Group[AWS::IAM::InstanceProfile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html)**、[AWS::IAM::Policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html)、和[AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)。
**资源策略：AWS::Lambda::LayerVersion**[权限](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html)、[AWS::Events::EventBus策略[AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html)、[AWS:: iam: Policy、、[AWS::ApplicationAutoScaling::ScalingPolicy[AWS::S3::BucketPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html)、[AWS::SQS::QueuePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html)和 AWS::](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html) SN [S](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html):。TopicPolicy
如果您的应用程序包含[AWS::Serverless::Application](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-template.html#serverless-sam-template-application)资源，则客户需要先确认该应用程序包含**嵌套应用程序**，然后才能部署该应用程序。有关嵌套应用程序的更多信息，请参阅《*AWS Serverless Application Model 开发人员指南》*中的[嵌套应用程序](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-template-nested-applications.html)。有关确认功能的更多信息，请参阅[确认应用程序功能](acknowledging-application-capabilities.md)。

## 策略模板
<a name="policy-templates-for-serverlessrepo"></a>

AWS SAM 为您提供了策略模板列表，用于将 Lambda 函数的权限范围限定为应用程序所使用的资源。使用策略模板不需要额外的客户确认，即可搜索、浏览或部署应用程序。

有关标准 AWS SAM 策略模板的列表，请参阅《*[AWS Serverless Application Model 开发人员指南](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/)*》中的[AWS SAM 策略模板](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-policy-templates.html)。