问题标签 [aws-appsync]

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 回答
873 浏览

swift - 无法使用 swift SDK 对 aws appsync 用户进行身份验证

我正在尝试使用 AWS Swift SDK 从我的 Swift 移动应用程序连接到我的 AWS AppSync 服务,但不断收到以下错误:

我正在使用用户池,并按照 swift 教程设置了所有内容。我的问题是,如何将控制台中生成的 AppSync.json 配置文件合并到我的请求中?这在教程中没有提到,可能是我无法连接的原因。

json 文件如下所示:

目前我正在使用以下配置:

编辑#1

事实证明,该示例使用的是 API 密钥方法而不是用户池。所以现在我将配置更改为:

问题是现在的消息是:

如果我尝试:

错误是:

不确定如何满足配置中的 userPoolsAuthProvider: 参数。

0 投票
2 回答
2025 浏览

ios - 同一视图控制器中的 AWS AppSync 多个订阅不起作用 - iOS Swift

仅供参考,我最初在 AWS AppSync 论坛上发布了这个问题(以防 AWS 将来回答它)。

我一直在尝试制作一个简单的帖子应用程序,如文档中的那个,但我没有找到在一个视图控制器中处理多个订阅的文档或指南。

三个突变:onCreatePost、onUpdatePost、onDeletePost(当然还有对这些突变的三个订阅)

在 Xcode 中,我在 viewDidLoad() 期间调用了三个函数:subscribeToNewPosts()、subscribeToUpdatedPosts()、subscribeToDeletedPosts()

每个订阅函数都工作并创建一个具有正确功能的订阅,并在单独使用时相应地更新表视图。但是,如果一个接一个地调用,只有最后一个订阅才会真正接收数据并更新表视图。在订阅了所有三个突变后,我在 AppSyncMQTTClient.swift 中设置了一个断点来检查 topicSubscribersDictionary

并且所有三个订阅实际上都在字典中......

我是否需要多个 appSyncClient 实例,每个订阅一个?架构设计有问题吗?

架构.graphql

模式.json

突变.graphql

查询.graphql

订阅.graphql

示例用例:简单的聊天应用程序。新对话开始 = OnCreatePostSubscription; 该对话中的新传入消息 = OnUpdatePostSubscription

0 投票
0 回答
342 浏览

amazon-web-services - AppSync 为字段加载不正确的解析器

AppSync 似乎正在为嵌套对象的某些字段加载不正确的解析器模板。此外,它似乎仅在嵌套对象具有与父对象上的字段同名的字段时发生。

我在下面提供了一个示例,因为我认为这可能是解释该问题的最佳方式。如您所见,id嵌套对象的字段未正确解析。

每种类型,Task、User、List 和 Tag,都有其id字段的解析器,因为每个类型的数据在 id 字段上都有一个前缀。例如,Task.id 有一个返回的解析器,$context.source.task_id而 User.id 有一个返回的解析器$context.source.user_id。列表和标签相同。

似乎正在发生的是 AppSync 正在加载id父类型的解析器模板。您可以看到情况就是这样task.owner.id,其中owner是用户,但id被解析为"$context.source.task_id"。列表的task.list.id位置list也是如此。我们可以再次看到这一点task.tags[0].owner.idowner再次是用户,但这次父级是标签,因此task.tags[0].owner.id被解析为"$context.source.tag_id". 这三个示例表明问题不在于特定类型,因为当用户和列表嵌套在任务中时,它们的行为相同。此外,我们可以看到问题不在于任务,因为用户在嵌套在标签中时表现相似。最后,我们可以看到它task.tags[1].owner.id实际上表现正确。这表明该问题仅在首次执行时出现。

在这一点上,我强烈怀疑这是 AppSync 的一个错误,但是,我不是 100% 的。有没有其他人遇到过这个问题?我做错了什么吗?

例子

询问

结果

任务架构

用户模式

列表架构

标记架构

任务数据

用户数据

列出数据

标记数据

示例 id 解析器(用户)

请求映射模板

响应映射模板

其他类型的 id 解析器非常相似

还可能值得注意的是,我为每种类型、任务、用户、列表和标签创建了不同的无数据源。每种类型的 id 解析器都使用它们各自的无数据源。

0 投票
0 回答
163 浏览

ios - 获取 AWS appSync 的订阅用户列表

目前是否有获取订阅用户列表的方法?

我想创建一个聊天室,并通过订阅包含该房间 ID 的突变让人们知道用户何时进入或离开房间。

0 投票
1 回答
1438 浏览

amazon-dynamodb - AWS AppSync IAM DynamoDb 角色

我正在尝试创建一个简单的 IAM 角色以让我的 AppSync 服务连接到我的 DynamoDb 数据库,但由于 AppSync 处于预览阶段,IAM 无法将 AppSync 识别为服务。如何创建 IAM 角色以让 AppSync 拥有对 DynamoDb 的完全访问权限?

0 投票
1 回答
834 浏览

aws-cli - 如何向 aws appsync api 提供 graphql 模式的 blob?

我正在尝试使用 aws appsync api (StartSchemaCreation) 创建具有现有 graphql api 架构的新 graphql api 架构,我使用 aws appsync 的 GetIntrospectionSchema api 转储了该架构。但是 StartSchemaCreation 的 --definition 参数要求我提供一个 graphql 模式的 blob 以在新的 api 中创建。我在 .json 和 .graphql 文件中有我的 graphql 架构,但我不能直接使用它们,因为它会给出错误“无法解析架构文档 - 确保它是有效的 SDL 格式的文档。”

我需要帮助了解如何通过 start-schema-creation 的 --definition 参数传递我的 graphql 模式。

我正在使用 aws-cli StartSchemaCreation。

0 投票
1 回答
624 浏览

aws-appsync - 使用 AppSync 的 GraphQL 类型描述

有没有办法将 GraphQL 类型描述添加到 AppSync 使用的 GraphQL Schema?

ApolloServer 和 graphql-js 通过模式文件中的注释支持这一点(参见此处)。AppSync 是否有类似的东西,所以我可以使用 GraphQL 类型自省来查看字段描述?

0 投票
0 回答
1510 浏览

xamarin - AWS AppSync 是否可用于 Xamarin?

虽然我在这里看到了 SDK

Github: https ://github.com/aws/aws-sdk-net/tree/master/sdk/src/Services/AppSync

Nuget: https ://www.nuget.org/packages/AWSSDK.AppSync

我没有看到任何使用 AppSync 的示例应用程序,Xamarin甚至.NET在 Google 上也没有。这真的可用还是只是一个placeholder Nuget module

如果这是可用的,任何人都可以指出我的示例代码吗?

感谢

0 投票
2 回答
1783 浏览

graphql - 无法将大型 graphql 模式上传到 aws appsync

我正在尝试将我的 graphql 架构上传到 aws appsync。我的 graphql 架构将近 5000 行。我尝试使用 cli 和 gui 上传。

(1.) 使用 cli 时,我不断收到错误“无法解析架构文档 - 确保它是有效的 SDL 格式文档。”

(2.) 使用 gui 时,我的 graphql 架构中所有联合中的管道(例如 union UnionType = Type1 | Type2 | Type3 )被替换为空格,导致语法错误。通过手动替换空格解决此问题后,选项卡变得无响应,需要被杀死。

我尝试从 cli 上传一个带有 union 的小型 graphql 模式,并且成功运行。但是,从 gui 来看,它导致了在联合中用空格替换管道的相同错误。

我需要使用 aws cli 和 aws 控制台帮助理解这种行为。

0 投票
1 回答
465 浏览

java - 生成的 GraphQL 类实现 Query 接口而不是 Subscription 接口

我正在为我的项目使用 AWS AppSync。当使用突变将数据推送到服务器时,它工作正常。但我有订阅问题。

subscribe函数接受实现订阅的输入。但是当我构建我的项目时,生成的代码实现了查询。

生成的类

GraphQL 文件中订阅的具体代码是..

Schema.json 文件

构建文件包含...

我能做些什么呢。当我构建时,生成的 OnEventCreated 类实现了 Subscription 接口而不是 Query 接口