【问题标题】:AWS Amplify & Serverless-StackAWS Amplify 和无服务器堆栈
【发布时间】:2019-11-15 21:03:51
【问题描述】:

我目前正在研究AWS Amplify 以及正在阅读Serverless Stack。我的目标是创建一个简单的 ToDo 列表应用程序。 “入门”/文档似乎都有相同的目标。但是,AWS Amplify 指南似乎比设置更容易。

这就是我感到困惑的地方。据我了解,AWS Amplify 还使用 DynamoDB 并通过 GraphQL 获取数据。但是这两个文档的区别在哪里呢?

【问题讨论】:

  • @JC - serverless-stack.com 有一个非常详细的教程,介绍了以传统 REST API 的形式构建无服务器 API 并使用 AWS Cognito 进行身份验证。而 AWS-Amplify 正在使用 API kes 身份验证构建 GraphQL API。相同的概念 - 有点不同的实现。

标签: amazon-web-services serverless aws-amplify


【解决方案1】:

无服务器堆栈是一种资源,提供有关如何使用 AWS 创建无服务器应用程序的指导。它是由一家名为 Anomaly Innovations 的公司创建的。

AWS Amplify 是由 AWS 维护的开源框架,可帮助开发人员将其应用程序与 AWS 资源集成。

【讨论】:

    【解决方案2】:

    AWS Amplify 是一项非常令人困惑的服务,由许多组件组成。我会分类如下。

    1. AWS Amplify 控制台
    2. AWS Amplify CLI
    3. 可集成到您的移动设备或网络的 AWS 开发工具包和库
    4. AWS Appsync 转换器

    AWS Amplify 控制台使您能够轻松地为您的 Amplify 项目设置持续部署。 Amplify 控制台与 AWS Amplify CLI 一起使用,让您管理不同的环境。
    假设您要启动 Todo 应用程序。您从本地开始使用 Amplify CLI 并创建 API Gateway/Lambda/DynamoDB 堆栈。
    Amplify CLI 让您可以轻松创建整个堆栈并将其推送到 AWS 以部署整个堆栈。然后,您可以基于相同的堆栈创建不同的环境,假设您需要开发环境、QA 环境和生产环境。
    Amplify CLI 为您提供了实现此目的所需的所有命令,然后如果您想在有人将代码推送到您的 Git 存储库时将更改自动部署到 AWS,您可以使用 Amplify 控制台进行准确设置。
    Amplify 控制台还与 AWS 域集成,因此您可以轻松地将自己的域指向任何环境。
    除此之外,Amplify 还提供了 GraphQL Transformer,您可以轻松地以 Amplify 格式定义 GraphQL 架构,并将其转换并部署到 AWS Appsync。还有一个移动 SDK,您可以在 AppSync 和您的移动设备之间同步数据,并提供一些 UI。

    我们使用了我们的一个 Web 项目,我们喜欢它用于 Amplify 的 Continues Deployment 方面,但我们不喜欢 Amplify 的 AppSync(GraphQL) 方面,因为 b/c 实现分层解析器并不容易。

    另外,请记住,Amplify CLI/SDK/Transformer 属于一个项目,并且仍然非常脆弱。您可以查看https://www.npmjs.com/package/@aws-amplify/cli 的版本历史记录,您会在一个月内看到很少的版本更新。我们遇到了许多明显的错误,甚至在 AWS 控制台上也是如此。

    我还没有使用过Serverless,但据我所知,Serverless 为Amplify 的No1 和No2 提供了更高的稳定性。

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 2021-05-24
      • 2020-08-14
      • 2021-04-17
      • 2020-03-09
      • 2020-12-11
      • 1970-01-01
      • 1970-01-01
      • 2018-12-11
      相关资源
      最近更新 更多