一般性问题
问:什么是 AWS Amplify?
AWS Amplify 包含一组工具(开源框架、可视化开发环境、控制台)和服务(Web 应用程序和静态网站托管),可加速 AWS 上的移动应用程序和 Web 应用程序的开发进程。
Amplify 的开源框架包含一系列固定的库、UI 组件和一个命令行界面 (CLI),用于构建应用程序后端并将其与您的 iOS、Android、Web 和 React Native 应用程序集成。该框架利用一套核心的 AWS 云服务来提供离线数据、身份验证、分析、推送通知和大规模机器人等功能。
通过与 Amplify CLI 无缝配合的点击式可视化体验,Amplify Studio 可进一步简化后端的配置和前端 UI。Amplify Studio 还包括用于管理应用程序内容和用户的功能。
AWS Amplify 还提供完全托管的 Web 应用程序和静态网站托管服务,以托管前端 Web 应用程序、创建/删除后端环境、在前端和后端设置 CI/CD。
最后,作为更广泛的前端 Web 和移动开发工具和服务集的一部分,您可以使用 AWS Device Farm 在真正的 iOS 设备、Android 设备和 Web 浏览器上测试应用程序。
问:使用 AWS Amplify 如何付费?
使用 Amplify 的开源框架(库、UI 组件、CLI)或 Amplify Studio 时,您只需为使用的基本 AWS 服务付费。使用这些工具不会产生额外费用。要了解有关 AWS Amplify 托管、Amplify 完全托管 Web 应用程序和静态网站托管服务定价的信息,请访问 AWS Amplify 定价页面。要了解 AWS Device Farm 的定价,请访问 AWS Device Farm 定价页面。
问:AWS Amplify 托管与 Amplify 开源框架有何关联?
AWS Amplify 包含工具(开源框架和可视化开发环境)和完全托管 Web 托管服务。框架(库、UI 组件、CLI)中的工具、Amplify Studio、控制台和静态 Web 托管服务可以一起使用或单独使用。
例如,您可以通过 AWS 控制台前往 AWS Amplify 部署和托管单页面应用 (SPA) 前端和静态网站,不论它们是否使用 Amplify 库。
如果使用 Amplify CLI 为您的应用程序配置后端资源,则 AWS Amplify 的静态 Web 托管服务可提供额外的功能。每次签入时,AWS Amplify 会在部署前端之前预置或更新这些后端资源。支持各种配置,例如每个分支上隔离的后端部署或各分支间共享的后端部署(使用 AWS Amplify 的 Web 托管服务时)。
问:我在哪里能找到有关 AWS Amplify 的最新新闻?
工具和功能
问:如何使用 Amplify 库、CLI 和 Amplify Studio?
使用 Amplify 库,您只需编写几行代码,就可以快速向您的应用程序添加功能,例如离线数据、多因素身份验证、分析等。您可以直接通过 Amplify CLI 或 Amplify Studio 使用直观的指导工作流配置基础云服务,例如 AWS AppSync、Amazon Cognito、Amazon Pinpoint、AWS Lambda、Amazon S3 或 Amazon Lex,最大程度地缩短设置和管理后端服务所需的时间。
问:Amplify 库支持哪些语言和平台?
Amplify 库支持 iOS、Android、Web、Flutter 和 React Native 应用程序。对于 Web 应用程序,与 React、Ionic、Angular 和 Vue.js 深度集成。
问:即使不使用 CLI 也可以使用 Amplify 库吗?
可以。这些库可用于访问在未使用 Amplify CLI 的情况下创建的后端资源。
问:Amplify 功能如何与 AWS 云服务搭配使用?
Amplify 功能是基于您需要与应用程序集成的使用案例进行组织的,例如离线数据、多因素身份验证、分析等。当您使用 Amplify CLI 或 Amplify Studio 配置这些功能时,系统会为您预置必要的 AWS 云服务。配置一直保留在 CloudFormation 模板中,这些模板可嵌入源控制,并与其他开发人员进行共享。当您通过 Amplify 库将这些功能添加到您的应用程序时,该库会对 AWS 服务执行必要的调用。例如,“amplify add analytics”将配置 Amazon Pinpoint。然后,当您在应用程序中使用来自 Amplify 库的 Analytics API 时,会对 Pinpoint 执行必要的调用。
问:AWS Amplify 如何关联至适用于 iOS 和 Android 的 AWS 移动开发工具包?
Amplify iOS 和 Amplify Android 是构建利用 AWS 服务的 iOS 和 Android 应用程序的推荐方式,无论您是否使用 Amplify CLI 对它们进行了配置。点击此处开始使用。如果您的应用程序已经使用以前的适用于 iOS 和 Android 的 AWS 移动开发工具包进行了构建,则可参阅此处的文档。
问:什么是 Amplify Studio?
Amplify Studio 是一个可视化界面,用于在 AWS 控制台外配置和维护应用程序后端并创建前端 UI。在启动应用程序后,开发人员和非开发人员都能够使用 Amplify Studio 来管理应用程序内容和用户。
问:为何 Amplify Studio 在 AWS 控制台外部?
Amplify Studio 可从 AWS 控制台外部访问,帮助不熟悉 AWS 的前端开发人员快速高效地使用 AWS 工具。Amplify Studio 可提供构建云连接 Web 或移动应用程序所需功能的简化视图(包括后端和前端 UI)。Amplify Studio 还可为非开发人员(QA 测试人员、PM)提供轻松访问权限,以管理应用程序内容和用户,而无需开发人员确定正确的 IAM 角色和策略。
问:什么是 Amplify 控制台,它与管理 Amplify Studio 有何不同?
Amplify 控制台是 AWS 管理控制台内应用程序的控制中心。AWS Amplify 控制台为您显示应用程序的所有前端环境和后端环境,而 Amplify Studio 具有与每个单独后端环境相关联的唯一实例。
通过 Amplify 控制台,您可以访问 AWS Amplify 的完全托管 Web 托管服务,以设置 Web 托管、全栈 CI/CD、添加自定义域、克隆/删除多个后端环境,并导航至基础 AWS 服务控制台。另一方面,Amplify Studio 用于配置和维护应用程序后端 – 添加功能,如身份验证、数据、函数。启动应用程序后,Amplify Studio 还可为非开发人员(QA、PM)提供一种管理应用程序内容和用户的方法。
问:什么是 AWS Amplify 的 Web 托管服务?
除了 AWS Amplify 的开发工具和功能外,AWS Amplify 还提供完全托管的 Web 应用程序和静态网站托管服务,该服务可直接从 AWS 控制台访问。AWS Amplify 的静态 Web 托管服务提供构建、部署和托管具有无服务器后端的单页面 Web 应用程序或静态网站的完整工作流程。持续部署允许开发人员在将每个代码提交到 Git 存储库时部署 Web 应用程序更新。构建成功后,应用程序将部署并托管在 amplifyapp.com 子域中。开发人员可以连接他们的自定义域来开始接收生产流量。
问:我可以构建和部署什么类型的 Web 应用程序?
除了 AWS Amplify 的开发工具和功能外,AWS Amplify 还为 Web 应用程序和静态网站提供完全托管的静态 Web 托管服务,该服务可直接从 AWS 控制台访问。AWS Amplify 的静态 Web 托管服务提供构建、部署和托管具有无服务器后端的单页面 Web 应用程序或静态网站的完整工作流程。持续部署允许开发人员在将每个代码提交到 Git 存储库时部署 Web 应用程序更新。构建成功后,应用程序将部署并托管在 amplifyapp.com 子域中。开发人员可以连接他们的自定义域来开始接收生产流量。
问:如何开始使用 AWS Amplify 的 Web 托管服务?
要开始使用,请在 AWS 控制台中转到 AWS Amplify 并连接源存储库。AWS Amplify 可自动确定所使用的前端框架,然后构建应用程序并将其部署到全球可用的内容分发网络 (CDN)。Amplify 可检测使用 Amplify CLI 或 Amplify Studio 添加的后端功能,并可以在与前端相同的部署中部署必要的 AWS 资源。AWS Amplify 将快速构建和部署 Web 应用程序,并将 Web 应用程序托管在具有友好 URL 的全球可用内容分发网络 (CDN) 上(例如:https://master.appname.amplifyapp.com)。要开始使用,请在 AWS 控制台上转到 AWS Amplify。
问:什么是 AWS Amplify“应用程序”?
AWS Amplify“应用程序”是项目容器。每个应用程序项目都包含从源存储库连接的分支列表。可以连接其他功能分支、自定义域,或者从应用程序项目访问生成日志。
问:什么是持续部署?
持续部署是一种针对软件版本的 DevOps 策略,其中提交到存储库的每个代码都会自动发布到生产环境或临时环境中。通过确保托管的 Web 应用程序始终反映存储库中的最新代码,此做法可以缩短上市时间。
问:AWS Amplify 静态 Web 托管服务支持哪些 Git 源代码提供商?
您可以从 GitHub、BitBucket、GitLab 和 AWS CodeCommit 连接私有和公共存储库。
问:AWS Amplify 的 Web 托管服务是否存储我的 Git 访问令牌?
AWS Amplify 从不存储来自存储库的访问令牌。一旦您授权 AWS Amplify,我们将从源提供商那里获取访问令牌。我们只需将令牌传递到控制台,之后,与 GitHub API 的所有通信都将直接从浏览器进行。配置持续部署之后,令牌将被永久丢弃。
问:AWS Amplify 的 Web 托管服务支持私有 Git 服务器吗?
我们目前不支持私有 Git 服务器。
问:什么是环境变量? 如何使用?
环境变量是应用程序在运行时需要的配置。这些配置可能包括数据库连接详细信息、第三方 API 密钥、不同的自定义参数和密钥。公开这些配置的最佳方式是使用环境变量。可以在创建应用程序时添加环境变量,也可以通过进入应用程序设置来完成。所有环境变量都经过加密,以防止恶意访问。在键和值文本框中添加所有应用程序环境变量。默认情况下,AWS Amplify 跨所有分支应用环境变量,因此您在连接新分支时不必重新输入变量。输入所有变量后,单击“保存”。
问:构建任务运行时会发生什么?
AWS Amplify 将创建一个临时计算容器(4 vCPU、7GB RAM),下载源代码,运行项目中配置的命令,将生成的构件部署到 Web 托管环境中,然后销毁计算容器。在构建期间,AWS Amplify 会将构建输出流式传输到服务控制台。
问:如何利用 AWS Amplify 的 Web 托管服务同时使用多个环境?
每次开发人员将代码推送到新分支时,AWS Amplify 都会利用 Git 的分支模型创建新环境。在典型的开发团队中,开发人员将他们的“主”分支部署到生产环境中,将“开发”分支保留为暂存,并在开发新功能时创建功能分支。AWS Amplify Console 可以创建链接到每个连接分支的前端和后端环境。这允许开发人员在沙盒环境中工作,并使用“Git”作为合并代码和解决冲突的机制。更改一旦合并到主(或生产)分支中,就会自动推送到生产环境中。
问:什么是原子部署?
每个部署都是原子部署,这意味着部署完成后便可以查看站点。通过确保仅在整个部署过程完成后更新 Web 应用程序,原子部署消除了维护时段。然后,最终用户可以立即使用新版本的 Web 应用程序,而无需开发人员使 CDN 缓存失效。
问:托管新式 Web 应用程序与托管传统 Web 应用程序有何不同?
托管新式 Web 应用程序不需要 Web 服务器,并且可以使用内容分发网络来存储静态内容(HTML、CSS 和 JavaScript 文件)。AWS Amplify 利用 Amazon CloudFront 全球边缘网络在全球分发 Web 应用程序。
问:如何连接我的自定义域?
连接自定义域很简单。如果您的域是在 Route53 上注册的,只需从下拉菜单中选择它,AWS Amplify 将自动配置 DNS 记录,以指向您网站的顶点和“www”子域。此外,我们自动为所有连接的分支创建子域。例如,连接“dev”分支将在 https://dev.appname.amplifyapp.com 上创建部署。作为自定义域设置的一部分,我们将生成一个免费的 HTTPS 证书,以确保到站点的流量是安全的。
问:AWS Amplify 的 Web 托管服务支持哪些域名注册商?
通过所有域名注册商购买的域可以通过定义自定义域连接到应用程序。对于使用 Amazon Route53 作为注册商的开发人员,AWS Amplify 会自动更新 DNS 记录,以指向他们部署的应用程序。对于第三方注册商,AWS Amplify 提供如何更新 DNS 记录的说明。
问:所有 Web 流量都通过 HTTPS 提供吗?
AWS Amplify 的 Web 托管服务在所有站点上生成一个免费的 HTTPS,并在所有 Route53 托管域上自动启用它。SSL 证书由 Amazon Certificate Manager 生成,并具有通配符域支持。ACM 处理为基于 AWS 的网站和应用程序创建和管理公共 SSL/TLS 证书的复杂性。使用通配符选项,主域和所有子域可以由一个证书覆盖。
问:我的密码可以保护我的 Web 部署吗?
可以使用基本访问身份验证对所有 Web 部署进行密码保护。开发新功能时,开发人员可以通过为分支部署设置用户名和密码与内部利益相关者共享更新。
问:什么是重定向和重写? 如何使用?
重定向是指客户端请求将 Web 浏览器转到另一个 URL。这意味着您在浏览器中看到的 URL 将更新为新的 URL。重写指的是 URL 的服务器端重写。这不会改变您在浏览器中看到的内容,因为这些更改对用户是隐藏的。反向代理是跨源重写。在 AWS Amplify 控制台设置中,开发人员可以指定重新导向、HTTP 响应代码、自定义 404 和外部服务代理。
问:使用 AWS Amplify 托管服务时如何收费?
AWS Amplify 的 Web 托管服务的定价分为两种功能:构建和部署以及 Web 托管。对于构建和部署功能,每分钟构建时间的价格是 0.01 USD。对于托管功能,提供的每 GB 价格为 0.15 USD,存储的每 GB 价格为 0.023 USD。借助 AWS 免费使用套餐,您可以免费开始使用。注册之后,新 AWS 客户可以在构建和部署功能方面每个月获得 1000 分钟的构建时间,在托管功能方面,每个月可以获得 15 GB 的服务空间和 5 GB 的数据存储空间。
问:你们的价格含税吗?
除非另行说明,否则我们的价格不包含适用的税费和关税(包括增值税和适用销售税)。使用日本账单地址的客户若要使用 AWS,则需缴纳日本消费税。了解更多。
问:每个地区的价格都不同吗?
所有区域的价格都是一样的。