问题标签 [aws-amplify-cli]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
876 浏览

amazon-web-services - 如何在本地测试 aws-amplify 的后端代码?

我正在制作一个带有amplify的 react-native 应用程序。

后端由 aws lambda、api 网关、使用 Amplify-cli 的 dynamodb 组成。

所以我有这样的放大目录。

我写了这样的前端代码。

它运行良好,

但是虽然那不是确认的代码,我必须做放大推送来测试它们

我想在推送它们之前测试本地代码(在放大/后端)。

你有什么解决办法吗?

0 投票
6 回答
6502 浏览

amazon-web-services - 使用 Amplify 集成构建 AWS Amplify React 应用程序时总是缺少 aws-exports.js

我的 React 应用程序使用 GraphQL API、存储、身份验证、函数、托管——所有有趣的东西——所以我必须有一个aws-exports.js可用的文件。使用 Amplify Backend 资源放大 React 前端。

回购基本上设置为:

ls在每个目录中执行一个显示没有aws-exports.js生成文件的构建。

使用许多不同的配置,我遇到了:

当我签入amplify.yml.yml在 Web 控制台中配置时就是这样。

我已经尝试过amplify push;,但正如预期的那样遇到了

也在尝试:amplify pull;Executing command: amplify pull --appId abc123abc123 --envName dev

它只是挂起并期待输入。我不认为像这样手动输入信用是解决这个问题的方法。

aws-exports.js考虑到所有后端集成,似乎 amplify 应该自己处理这一代。ls不同时。有很多关于这方面的问题都是最新的,但没有真正的答案。谢谢你的时间

0 投票
1 回答
1250 浏览

aws-amplify - 是否可以在没有 Cognito 用户池的情况下使用 AWS Amplify Analytics?

我正在尝试通过 Amplify SDK 将 Pinpoint Analytics 实施到现有的 React Native 应用程序中。我们有一个现有的用户群和我们自己的 authN 和 authZ 实现,所以我们不需要(更重要的是,买不起)Cognito 用户池。

一方面,Pinpoint API 在记录事件时不需要与 Cognito 进行任何集成,但在使用时amplify 文档似乎需要auth插件analytics,并且在配置 Amplify 时需要一个auth参数。

有没有办法analytics通过 Amplify 使用而不生成用户池?我试过检查 AWS 移动 SDK,但它们显然已被弃用,现在大多数文档都指向 Amplify。我们可以直接使用 Pinpoint API,但这种实现似乎有点多余。

0 投票
1 回答
1123 浏览

android-studio - Android Studio 中的 AWS Amplify GraphQL 未知指令

我一直在尝试使用 AWS Amplify 来生成 GraphQL API 和后端。我可以使用引导模式创建来创建工作后端。我选择了 Todo 示例。我可以从 Android Studio 中内置的应用程序调用它。查询和突变工作正常。每当我使用 Android Studio 查看 amplify/backend/api/project/ 中的 schema.graphql(其中 project 是项目的名称)时,我都会收到有关尝试重新定义 Todo 和使用未声明的指令 @model 的错误。我确定我遗漏了一些明显的东西。所以任何帮助将不胜感激。

Android Studio 3.6.3 / Gradle 5.6.4 / Gradle Plugin 3.6.3 / JS Graph QL 2.4.0 / Java Language / Amplify CLI 4.18.1 / npm 6.14.4 / node 12.16.2

尝试以这种方式使用此 graphql 插件是不是我错了?

重现:

在 Android Studio 中创建一个带有空 Activity 的项目。从项目根运行:

接受默认值。跑:

选择 GraphQL,引导模式并选择 Todo 示例。否则采用默认值。跑:

amplify/backend/api/project 中的 graphql.schema 将包含待办事项模式

其中 ... 是默认字段。

这会产生错误

试图使用未声明的指令“模型”

并且还会产生 3 个错误实例

试图重新定义现有的“待办事项”类型

我可以看到 amplify 已将相同的 json 模式放入 #current-cloud-backend 和项目构建目录中。

我接受了默认的 .graphqlconfig.yml 文件。

快速更新:

我确实发现我可以通过执行以下操作来消除错误,但似乎是不必要的黑客攻击。虽然如果那是正确的就足够公平了。

  1. 我编辑了 .yml 以排除架构的 #current-cloud-backend 副本并排除架构的构建版本。

  2. 我从 Amplify 网页上的指令手动将指令 SDL 粘贴到 graphql 文件中,并将其包含在 yml 中。

这消除了关于@model 的错误。

我还按照本文中的建议处理了有关 @aws_subscribe 未定义的错误。

但是我仍然在 amplify/backend/api/project 中生成的 schema.graphql 中遇到多个重新声明错误

0 投票
1 回答
427 浏览

ansible - 如何在 Ansible 剧本中运行 AWS `amplify init`?

我正在使用 Ansible 自动创建我的 Angular/Amplify 项目。我被困amplify init在 Ansible 中运行。amplify init需要使用向上箭头和向下箭头键来导航其菜单。

我可以使用 Ansibleexpect接受默认值并为某些答案指定文字字符串,但需要箭头键来指定配置文件等内容。

0 投票
1 回答
1476 浏览

amazon-web-services - 如何将使用 AWS Amplify 作为后端的前端部署到生产环境

我的用例相当简单:我想将前端部署到使用 Amplify 后端的生产环境,而不暴露 API 密钥等敏感配置。

我有一个使用 Github Actions 进行 CI 和 CD 并部署到 Zeit Now 的前端(因为它是 Next.js 项目并且需要 SSR 支持,而 Amplify 目前不提供)。目前它没有连接后端,因此它可以毫无问题地部署到生产环境中。

在同一个项目中,我为后端设置了 AWS Amplify 并将其连接到前端。这一切都按本地环境的预期成功运行。

现在我想将前端部署到生产环境,但是用于将其连接到后端的 AWS 配置保存在一个名为的自动生成文件aws-exports.js中,其中包含 GraphQL 端点及其 API 密钥等内容。此文件已添加.gitignoreAmplify CLI.

如果我aws-exports.js从 中删除文件.gitignore并将其提交到存储库,我认为一旦部署到生产环境中它可能会起作用,但是我认为这不是一个好主意,因为我会暴露敏感的配置数据。

我不想使用 AWS 来部署我的前端,这是我阅读过的文档中建议的解决方案。有没有推荐的方法来保持前端和后端环境分开?(意味着前端仍在部署到 Zeit Now,它将使用部署在 AWS 中的后端)。

0 投票
2 回答
1253 浏览

amazon-web-services - 在 AWS Amplify 上部署

我有一个 Web 应用程序,我想在 AWS amplify 上部署它。我对此很陌生,按照程序,我总是收到构建错误(未找到命令 ng build)

我的应用程序在本地机器上完美构建,所有文件都传输到 GIT 存储库。

该应用程序也使用 AppSync 和 Aurora。

任何帮助将非常感激。

0 投票
2 回答
2335 浏览

graphql - 如何使用 Amplify 为 GraphQL API (AWS AppSync) 生成类

我在 AWS AppSync 上有一个由另一个人推送的 GraphQL API,我想连接到它并在我的 Android 应用程序中获取数据。根据 AWS 文档,要将 API 与我的应用程序集成,我应该执行以下 3 个命令:

之后,我需要基于 graphql 模式生成 Java 类。我执行amplify codegen models但收到错误“未配置 AppSync API。请添加 API ”。如果执行amplify add api,我会得到“您的项目中已经有一个 AppSync API。使用“amplify update api”命令更新您现有的 AppSync API。

为什么我不能生成类?

aws-放大/cli v4.18.1

0 投票
1 回答
1710 浏览

amazon-cloudformation - 将手动创建的 Cognito 用户池与放大项目一起使用

在将 AWS Amplify 添加到 React 项目时,我正在尝试使用我现有的 Cognito 用户池。

因此,我想在我手动创建的 Cognito 用户池中为现有用户使用 Amplify Datastore 功能。此外,我喜欢用于管理 API 的 GraphQL 模式的 Amplify CLI 功能,因此,这意味着我需要在我的 react 项目中初始化 amplify 项目。

我从本章开始https://docs.amplify.aws/lib/datastore/getting-started/q/platform/js。但本章使用 API Key 认证。

我知道,我可以通过 将身份验证添加到放大项目amplify auth add,但它没有使用现有用户池的选项。

我可以使用我的用户池,而无需amplify init通过手动组合来初始化放大项目aws-exports.json。但正如我所指出的,我还需要为 API 添加放大项目。

我会结合配置,例如Amplify.configure({...aws_config_by_amplify, ...my_aws_config}),但仍然不清楚如何使用我的用户池管理放大 api 身份验证。

理想情况下,使用一些命令来放大现有用户池的项目配置会很棒,但我还没有找到。

另外,我认为可以在放大项目的 cloudformation 模板/参数中进行一些手动更改,并用它来更新堆栈,但不幸的是,我在 CloudFormation 的使用方面不太好。

如何解决这个问题?

0 投票
0 回答
307 浏览

graphql - 放大 GraphQL 将嵌套输入添加到连接

我创建了以下架构,直到昨天它都会Input使用@connection引用生成ID。我创建了一个新的 API,它现在正在创建一个Input实际嵌套的 API,type作为Input某些类型的一部分。例如:

将创建输入类型:

Appsync 模式也显示了这一点,所以我的机器上已经编译了主要的 GraphQL 模式并推送了它。真的很吓人,不同的机器可以编译不同的!

有没有人知道我在架构或 Amplify CLI 配置中所做的更改或遗漏或指定的内容?