跳至主要内容

Amazon Serverless Application Repository

  • 首页
  • 产品
  • Amazon Serverless Application Repository

Amazon Serverless Application Repository 常见问题

一般性问题

全部打开

使用无服务器应用程序,您无需预置、部署或管理服务器或其他基础设施。它们具有内置的高可用性,并且可以持续自动扩展。您可以使用众多完全托管的亚马逊云科技服务之一来构建和运行无服务器应用程序,包括用于计算的 Amazon Lambda、用于 API 的 Amazon API Gateway 和用于数据库的 Amazon DynamoDB

Amazon Serverless Application Repository 将亚马逊云科技以及其他亚马逊云科技合作伙伴和开发人员发布的越来越多的无服务器应用程序集合在一起。使用 Serverless Application Repository,您可以轻松地为常见使用案例(例如 Web 和移动后端、流处理、机器学习等)部署应用程序,以便快速开始使用亚马逊云科技无服务器平台。

其目前已在以下区域推出:由光环新网运营的亚马逊云科技中国(北京)区域、由西云数据运营的亚马逊云科技中国(宁夏)区域、亚太地区(孟买、新加坡、悉尼、东京、中国香港)、加拿大(中部)、欧洲(法兰克福、爱尔兰、伦敦、巴黎)、南美洲(圣保罗)、美国西部(加利福尼亚北部、俄勒冈)、美国东部(弗吉尼亚北部、俄亥俄)、中东(巴林)和 Amazon Web Services GovCloud 区域。

Amazon Serverless Application Repository 包括适用于 Alexa 技能、聊天机器人、数据处理、物联网、实时流式处理、Web 和移动后端、社交媒体趋势分析和图像大小调整的应用程序以及由发布者在亚马逊云科技发布的更多应用程序。

在 Amazon Serverless Application Repository 中浏览应用程序、部署应用程序或发布应用程序不收取任何费用。标准亚马逊云科技费用适用于您所部署应用程序使用的资源。

亚马逊云科技提供的应用程序需获得 MIT 开源许可证,而其他方公开提供的应用程序可能需要获得一个或多个经开放源代码促进会(OSI)批准的开源许可证。您可以导航到亚马逊云科技网站上某个应用程序的许可选项卡,以查看许可详细信息。

亚马逊云科技发布的所有应用程序都需经过许可证遵从性和代码质量审查。对于第三方发布的应用程序,需验证其是否正确使用权限,以确保使用者了解应用程序可以修改或访问哪些资源。使用应用程序之前,您可以查看上述详细信息以及亚马逊云科技客户部署该应用程序的次数。

可以。使用 Amazon Serverless Application Repository,开发人员能够发布在 GitHub 存储库中开发的无服务器应用程序。通过使用 Amazon CodePipeline(仅在全球区域可用)将 GitHub 源与 Amazon Serverless Application Repository 相关联,可简化发布过程,在几分钟内即可完成该过程。

部署应用程序

全部打开

无服务器应用程序作为 Amazon CloudFormation 堆栈进行部署,这让您可以轻松地将应用程序作为一个单元进行管理。每个资源都使用应用程序的唯一可识别 Amazon 资源名称(ARN)进行标记,这有助于您使用亚马逊云科技标签编辑器控制台查找资源。您还可以使用现有的亚马逊云科技和第三方工具,以单独管理每个资源。

发布应用程序

全部打开

要发布无服务器应用程序,请先使用 Amazon Serverless Application Model(SAM)格式描述应用程序,再使用 Amazon CLI 打包应用程序,最后使用亚马逊云科技管理控制台、Amazon CLI 或 Amazon SDK 发布应用程序。您必须具备有效的亚马逊云科技账户,还需要提供应用程序的名称、描述、源代码链接和 LICENSE.txt。有关更多信息,请点击此处

发布者可控制哪些人能在 Repository 中查找和部署自己的应用程序。您可以限制对团队(同一亚马逊云科技账户下的群组)的访问,与其他账户共享应用程序,或将其公开提供给任何亚马逊云科技客户。要详细了解您发布的应用程序的权限和可见性,请查看“基于资源的策略”文档

如果您想收取无服务器应用程序的使用费用,可以将 Amazon Lambda 集成到 Amazon API Gateway 后端,然后通过 Amazon Web Services Marketplace 将 API 作为 SaaS 产品出售。要了解更多信息,请查看 Amazon Web Services Marketplace 上列出的步骤,以及如何使用 API Gateway 通过 API 获利。

嵌套应用程序

全部打开

嵌套无服务器应用程序是一种组件,可作为其他无服务器应用程序的一部分进行部署。随着无服务器架构的发展,会出现一些在多个应用程序模板中定义相同组件的通用模式。现在,您可以将通用模式分离为专用应用程序,然后将它们嵌套为新的或现有应用程序模板的一部分。

嵌套应用程序作为 Amazon CloudFormation 嵌套堆栈进行部署。

使用 AWS:Serverless:Application 资源类型添加您已在本地开发的应用程序或其他人通过 Serverless Application Repository 与您共享的应用程序。您可以使用简单的 Amazon Web Services SAM 语法定义嵌套应用程序的输入或参考输出。有关更多详细信息,请参阅我们的文档

为 SAM 模板中的每个嵌套应用程序指定唯一名称。嵌套应用程序创建的资源将只能使用应用程序的唯一名称。

使用 SAM CLI sam package 命令打包您的嵌套应用程序。使用 API 或 Amazon SDK 将打包的应用程序发布到 Serverless Application Repository。您可以使用 SAM CLI sam deploy 命令立即部署应用程序。

可以。SAM CLI sam package 命令将递归打包嵌套应用程序的层次结构。您最多可以在一个顶级应用程序模板中嵌套 199 个应用程序。

使用嵌套应用程序

全部打开

无服务器应用程序作为 Amazon CloudFormation 堆栈进行部署,这让您可以轻松地将应用程序作为一个单元进行管理。每个资源都使用应用程序的唯一可识别 Amazon 资源名称(ARN)进行标记,这有助于您使用亚马逊云科技标签编辑器控制台查找资源。您还可以使用现有的亚马逊云科技和第三方工具,以单独管理每个资源。

使用应用程序 ARN 和应用程序所需的任何必要输入参数配置 AWS:Serverless:Application SAM 资源。有关更多详细信息,请参阅我们的文档

Serverless Application Repository 中的嵌套应用程序已经打包,可随时供您使用。在将应用程序部署到您的账户之前,您可以使用现有的 SAM CLI sam package 命令来确保这些应用程序仍可供使用。

如果您嵌套的应用程序被删除或您不再具有对这些应用程序的访问权限,这不会影响对应用程序的现有部署。如果您尝试使用不再存在的依赖项部署应用程序,则需要更新应用程序。

包含一个或多个嵌套应用程序的应用程序会使用 CAPABILITY_AUTO_EXPAND。

可以。您可以将嵌套应用程序发布到 Serverless Application Repository,就像现在发布独立应用程序一样。使用亚马逊云科技管理控制台、Amazon CLI、SAM CLI 或 Serverless Application Repository API 发布嵌套应用程序。

无服务器应用程序遵循 Lambda 函数目前使用的相同模型。可使用基于 Amazon IAM 资源的策略,以控制对 Serverless Application Repository 中无服务器应用程序的访问。您可以使用策略,将应用程序保密、授予跨账户访问权限或将其设为公开。

如果存在嵌套应用程序层次结构,每个嵌套应用程序必须可供您与之共享顶级应用程序的亚马逊云科技账户使用。

用户条款

全部打开

1.作为亚马逊云科技客户的发布者,可以提交其亚马逊云科技无服务器应用程序和组件(以下简称“亚马逊云科技无服务器应用程序”),以将这些应用程序通过 Amazon Serverless Application Repository(以下简称“Repository”)私下提供、跨指定亚马逊云科技账户提供,或向根据 Repository 控制台发布流程使用 Repository 的所有亚马逊云科技客户提供。  私下或跨指定亚马逊云科技账户提供的亚马逊云科技无服务器应用程序可采用二进制或源代码形式;向所有亚马逊云科技客户提供的亚马逊云科技无服务器应用程序可采用二进制或源代码形式,且必须包含足够的详细信息以使用户能够访问相关源代码。

2.发布者必须具备所有许可证和必要的权限或权利,才可将其亚马逊云科技无服务器应用程序提交到 Repository。发布者将亚马逊云科技无服务器应用程序提交到 Repository 时,必须同时提交亚马逊云科技无服务器应用程序的许可条款,其中包括任何开源许可的归属要求。在将任何亚马逊云科技无服务器应用程序提交到 Repository 之前,发布者负责对其进行审查、评估和测试。

3.发布者特此授予亚马逊云科技中国(北京)区域的运营商光环新网和亚马逊云科技中国(宁夏)区域的运营商西云数据复制、分销、公开展示或在特定亚马逊云科技账户(如适用)内展示、执行、传输和使用 Repository 中的亚马逊云科技无服务器应用程序以及通过数字化方式(通过在线和电子分销等各种方式)提供亚马逊云科技无服务器应用程序的权利。

4.发布者声明且保证其完全有权将亚马逊云科技无服务器应用程序提交到 Repository,完全有权允许其他人从 Repository 中下载亚马逊云科技无服务器应用程序,并且已提供所有必要归属。发布者不会提交带有意在蓄意伤害他人的恶意程序、恶意内容或其他有害内容的亚马逊云科技无服务器应用程序。光环新网和西云数据可根据此原因或其他原因自行决定是否删除和下架任何亚马逊云科技无服务器应用程序。

5.  对于所下载的任何亚马逊云科技无服务器应用程序,亚马逊云科技客户都需遵守许可条款(包括任何归属要求或其他要求)。

6.在创建任何亚马逊云科技无服务器应用程序的衍生产品时,任何亚马逊云科技客户均需负责确定其是否具备亚马逊云科技无服务器应用程序许可规定的相应权利,并且必须遵守任何归属要求或其他要求。

7.任何发布者的亚马逊云科技无服务器应用程序许可或其他协议均仅存在于发布者和亚马逊云科技客户之间。光环新网或西云数据及其各自的任何附属公司均不是该许可或其他协议的当事方,因此不承担该许可或其他协议所规定的任何责任或义务。光环新网或西云数据不负责也没有责任确保发布者或亚马逊云科技客户遵守许可条款(包括归属要求)或其他要求。

8.  亚马逊云科技无服务器应用程序和 Repository 中提供的任何其他第三方资料均属于“Repository 内容”。 “Repository 内容”按“原样”提供,不给予任何明示或暗示的保证,包括但不限于对适销性、特定用途的适用性和非侵权性的保证。在任何情况下,发布者、版权持有人、光环新网、西云数据或其各自的附属公司均不对履约行为、侵权行为,或者与 Repository 内容相关的或在使用或交易 Repository 内容时产生的任何索赔、损害或其他责任负责。

9.发布者和亚马逊云科技客户承诺在使用 Repository 时遵守以上所有条款,光环新网和西云数据可能会分别不时更新这些条款。

预期用途和限制

使用本服务需遵循亚马逊云科技客户协议