问题标签 [aws-amplify-sdk-js]
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.
amazon-web-services - 模拟和测试由 Amplify @model 创建的 DynamoDB 表
我使用@model 注释创建了一个表和一个函数,该函数将该表中的一个条目作为 PostAuthentication 触发器添加到用户池。当我将它推送到 AWS 时它工作正常。但在本地测试时面临一些问题。
MockData 在 amplify/mock-data/dynamodb/fake_us-fake-1.db
在函数/function_name/index.js
local_url 与运行放大模拟 api的 url 相同。将 dynamodb 的端口更改为 62224。
放大模拟函数function_name
它抛出错误:NetworkingError:连接 ECONNREFUSED 错误。
amazon-web-services - CognitoIdentityCredentials 无权执行:apigateway:GET 资源:arn:aws:apigateway:eu-west-1::/restapis
当我尝试使用 AWS Amplify Javascript SDK 访问 AWS apigateway 资源时,有人可以帮助指出问题可能是什么。
当用户登录平台(我正在构建的门户)时 - AuthRole 承担的角色能够根据权限加载 API 目录,以允许对所有 apigateway 资源进行读取访问。政策如下所示:
上述策略与 authRole(用户通过身份验证时的角色)相关联,并且与以下代码一起按预期工作:
当我需要在没有未经身份验证的用户的情况下从 AWS 提取资源时,问题就出现了——我在身份池上启用了未经身份验证的访问,并将上述策略附加到 unauthRole。运行以下代码时,我收到了一个 AWS.ICredentials 的实例......虽然当我运行应用程序时,我收到拒绝访问错误......下面是未经身份验证的访问的片段:
附上图像上控制台错误的文本内容:
错误 错误:“未捕获(承诺中):AccessDeniedException:用户:arn:aws:sts::XXXX:assumed-role/amplify-XXXX-unauthRole/CognitoIdentityCredentials 无权执行:apigateway:GET 资源:arn:aws: apigateway:eu-west-1::/restapis
请查看来自 Cloudtrail 的以下错误事件(Auth 和 unauth): Auth:
未经授权:
graphql - 使用 AWS Amplify 嵌套 GraphQL 突变
我正在努力为我使用 GraphQL 客户端作为 AWS Amplify API 构建的 React Native 应用程序编写嵌套的 GraphQL 突变。这是我的类型定义文件
这是我尝试创建突变以创建新游戏
这是我得到的错误
node.js - AWS Amplify 教程无法启动客户端应用程序
我正在尝试按照 AWS Amplify 教程创建示例 webapp。 https://docs.amplify.aws/start/getting-started/installation/q/integration/react
当我完成在本地运行客户端前端的步骤时,我得到了一长串错误。
我在 WSL 上使用 npm 3.5.2。
我已经安装了 aws-amplify/cli、aws-amplify、@aws-amplify/ui-react。
您认为我错过了任何软件包或工具吗?谢谢。
aws-amplify - 在 Dynamo DB 中使用项目表达式
我有一个 DynamoDB 表,我试图从表中获取一列。更具体地说,我只想要列中的不同值。
我正在使用 AWS Amplify 并设置了一个 API 来查询 DynamoDB 表。
API中的get方法如下。在哪里
- tableName - 是一个包含表名的变量。
- Listing_Location 是我要从表中检索的列。
我从前端 React 应用程序发出以下获取请求,其中 apiName 是具有 API 名称的变量。path 是发出 get 请求的 api 端点。我正在导入这样的 API
你能帮我理解我做错了什么吗?
aws-lambda - 在身份验证后 lambda 触发器中获取 AWS cognito 身份验证用户
我使用 Amplify 和 Cognito 后端来验证我的用户,本质上是作为 LDAP 实现。这一切都已配置并且工作正常。用户在用户池中设置,并正确验证。(注意:我使用的是默认的 Amplify 控件,因此它按预期工作)。
但是,现在我希望能够提取经过身份验证的用户及其所有数据(包括用户属性),以便我可以更新用户。作为第一步,我试图将经过身份验证的用户登录到控制台。最终,我将使用这个钩子通过从数据库中提取一些数据进行更新来更新用户属性。
这是我正在尝试使用的代码片段
这是输出的几个片段......
和
我收到的错误是:
reactjs - 将自定义 Apollo 客户端与 AWS AppSync 结合使用
背景
在我正在进行的一个新项目中,我们正在研究将 AppSync 用于我们的 GraphQL 服务器(使用 Amplify)。但是,由于它依赖于旧版本的 Apollo Client (2.4.6),并且 Apollo Client 在 3.0 版本中引入了重大更改,因此使用 AwsAppSyncClient 并不是最佳选择。我们也不能等待 AppSync 迁移到 Apollo Client 3.0,所以我想知道现在是否最好使用带有 Apollo Client 3.0 的自定义客户端,并在他们的 Apollo 依赖项迁移到 3.0 后迁移到 AwsAppSyncClient。这是一个好主意吗?可以在下面找到当前的实现。然而,这提出了一些新问题。
(这是我关于 Stack Overflow 的第一个问题,所以希望这不是一次太多!)
我已经做了一些研究,但对 GraphQL、Apollo、AppSync 和 Amplify 的主题还是很陌生,所以我认为最好问问那里的专家!
问题
- 如何最好地将 Apollo Client 3.0 与 AppSync 结合起来(参见下面的实现)?不使用 AwsAppSyncClient 会失去什么?
- 使用带有 AppSync 的自定义 Apollo 客户端,是否可以在同一个查询中同时查询本地和远程数据(例如使用 @client 标签)?
- 有没有办法使用 AwsAppSyncClient 处理本地状态管理,就像使用 ApolloClient 使用反应变量一样?
关于使用 AppSync 的其他问题:
(不知道我是否应该为此创建一个单独的问题?)
- 在设计来自客户端的查询方面,使用 AppSync 进行查询实际上是如何工作的?据我对 GraphQL 的理解,重点是结合多个 REST 调用,同时也只询问实际相关的字段。然而,使用 AppSync 和 codegen,
queries.js
和mutations.js
文件会自动生成,每个模型只有“基本”查询,包括所有字段;很像 REST 调用。为什么要这样做,以及如何从客户端使用它?
将 AppSync 与自定义客户端一起使用 (Apollo Client 3.0)
reactjs - AWS 放大数据存储不会与服务器同步
所以我试图让 AWS Amplify 的数据存储库与我正在构建的 reactJS Web 应用程序一起工作。我手动使用 graphql 突变将数据发送到 api 和从 api 发送数据,然后我尝试按照本教程设置 DataStore 。带有索引数据库的客户端一切正常,但我无法让数据与 api 同步。我在控制台中收到以下错误:
我仔细检查了一遍,我肯定将我的 AWS 导出包括在内:
生成的内容./aws-exports.js
如下:
我已经仔细检查了凭据,aws_appsync_graphqlEndpoint
并且aws_appsync_apiKey
它们与amplify status
cli 中返回的值相匹配。我也跑amplify push
了,我的 Api 的状态为No Change
. 在设置 api 时,我确保也启用了冲突解决,如教程中所述。
有趣的是,我在设置放大时也尝试了以下方法:
这解决了DataStore - Data won't be synchronised
错误,但我得到了以下错误,并且数据仍然没有被发送到 api。
这是否意味着我的 API 配置不正确?我将如何解决它?
reactjs - 在使用 @aws-amplify 和 react 时从自定义组件更改身份验证状态
我正在尝试将 Amplify Auth 与 React 应用程序集成。
我正在使用 @aws-amplify/ui-react 包中的 AmplifyAuthenticator 来自定义身份验证流程。
虽然我可以使用 AmplifySignIn 组件并对其进行自定义,但我想创建一个完全自定义的而不是 AmplifySignIn。
以下是我的自定义组件的样子:
以下是我尝试管理身份验证状态的方式:
问题是,当用户单击登录页面上的“创建帐户”按钮时,我如何将用户带到注册页面?