

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

# 发布应用程序
<a name="serverlessrepo-publishing-applications"></a>

当您将无服务器应用程序发布到时 AWS Serverless Application Repository，您可以将其提供给其他人查找和部署。

您首先使用 *AWS Serverless Application Model (AWS SAM) 模板*定义您的应用程序。定义应用程序时，必须考虑是否要求应用程序的使用者确认应用程序的功能。有关使用 AWS SAM 和确认权能的更多信息，请参阅[AWS SAM 与 AWS Serverless Application Repository](using-aws-sam.md)。

您可以使用 AWS 管理控制台、 AWS SAM 命令行界面 (AWS SAM CLI) 或 AWS SDK 发布无服务器应用程序。要了解有关向发布应用程序的过程的更多信息 AWS Serverless Application Repository，请参阅[如何发布应用程序](serverlessrepo-how-to-publish.md)。

当你发布应用程序时，它最初设置为*私*有，这意味着只有创建它的 AWS 账户才能使用它。要与他人共享您的应用程序，您必须将其设置为*私下共享*（仅与一组特定的 AWS 账户共享）或*公开共享*（与所有人共享）。

当您将应用程序发布到 AWS Serverless Application Repository 并将其设置为公共时，该服务将向所有区域的消费者提供该应用程序。当消费者将公共应用程序部署到除首次发布该应用程序的区域之外的区域时，该用户会将该应用程序的部署项目 AWS Serverless Application Repository 复制到目标区域的 Amazon S3 存储桶中。它会更新 AWS SAM 模板中使用这些项目的所有资源，以改为引用目标区域的 Amazon S3 存储桶中的文件。部署工件可以包括 Lambda 函数代码、API 定义文件等。

**注意**  
*私*有和*私有共享*的应用程序仅在创建它们 AWS 所在的地区可用。所有 AWS 地区都提供@@ *公开共享*的应用程序。要了解有关共享应用程序的更多信息，请参阅[AWS Serverless Application Repository 应用程序策略示例](security_iam_resource-based-policy-examples.md)。

**Topics**
+ [AWS SAM 与 AWS Serverless Application Repository](using-aws-sam.md)
+ [如何发布应用程序](serverlessrepo-how-to-publish.md)
+ [经过验证的作者徽章](serverlessrepo-verified-author.md)
+ [共享 Lambda 图层](sharing-lambda-layers.md)