一起使用 Amplify 和 SAM?

Cal*_*leb 11 amazon-web-services aws-cloudformation aws-amplify aws-sam

我在这里有些困惑,想看看是否有人能让我直截了当。

我正在将 Amplify 用于 Vue 应用程序。它调用调用 Lambda 的 API 网关,所有这些都是手动设置的,但我想使用 IaaS 的强大功能并使用 SAM 来完成。

Amplify CLI 包括添加 API/函数的能力,进而创建 CloudFormation 模板和堆栈,这很好。然而,这似乎并没有创建 Amplify 应用程序本身,除了创建一个连接到没有存储库的空应用程序,当然 CLI 只延伸到这么多服务。

我发现可以在 CloudFormation 中配置 Amplify 应用程序。SAM 附带的命令行工具也很有用。设置所有这些的正确方法是什么?

我能否为 Amplify 创建创建一个 SAM 模板,该模板与 Amplify 创建的堆栈配合使用以创建 API/函数,而不是在没有自动生成帮助的情况下手动构建 SAM 模板?然后,如果我稍后添加不支持 Amplify 的服务,我也可以将它们添加到 SAM。

我有时间尝试导航 SAM/CF/CDK/Amplify 哈哈

pet*_*tey 15

我希望这有帮助。让我们从更简单的问题开始:

我有时间尝试导航 SAM/CF/CDK/Amplify 哈哈

是的。

AWS CF (Cloudformation)是 aws 提供一种使用模板引擎创建(/rud)AWS 资源的方法。它相当庞大。而且很奇怪。这是用户指南中的示例

如果上面提出了诸如为什么两个模板不同的问题?你不是一个人。总体而言,CF 庞大但非常简洁,因为它可以让您创建/处理 AWS 资源

AWS SAM(无服务器应用程序模型)IMO 是更简单/更容易的 CF 版本。在这里,您可以 CRUD AWS 资源并将它们组织在一个堆栈中。注意:SAM 在幕后使用 CF。

Amplify是一个与 cognito (login) 、aws js sdks 等一起工作的框架。它可以为您的 vue/react 应用程序添加服务,例如 api、身份验证和文档 (dynamodb)。对于节点应用程序,它将配置信息存储在名为“aws-exports.js”的文件中。Amplify 还可以帮助您部署和存储代码库。

如果您使用 amplify cli 创建任何资源,它会在幕后使用 CF。我相信所有文件都存储在名为“.amplify”的文件夹中。IMO,这并不有趣,因为稍后使用 Amplify CLI 或 AWS 控制台很难管理。

我能否为 Amplify 创建创建一个 SAM 模板,该模板与 Amplify 创建的堆栈配合使用以创建 API/函数,而不是在没有自动生成帮助的情况下手动构建 SAM 模板?

是的。继续使用 Amplify CLI。一旦不再有趣,请使用 AWS 控制台。

然后,如果我稍后添加不支持 Amplify 的服务,我也可以将它们添加到 SAM。

也是。您可以随时使用 lambda、用户池等创建新的 SAM 堆栈,然后它们会通过您的 Amplify 应用程序新发现的 AWS 开发工具包连接到它们。

以我有限的经验:

  • 试一试 AWS SAM。它比CF更简单更容易获得
  • 我不再使用 Amplify CLI。一开始它很整洁,但我已经超出了它,因为与 SAM 模板定义相比,运行这些命令让我很头疼