【发布时间】:2018-12-13 05:46:10
【问题描述】:
我正在使用 Apollo 连接到使用 API 密钥保护的 AWS Appsync API。通过 http 进行查询和突变没有问题,但我在使用 websocket 进行订阅时处于陌生领域。
使用 apollo-link-ws 我有以下内容,但我不知道如何添加 API 密钥。有哪位好心人能给点建议吗?
const ws = new WebSocketLink({
uri: `wss://xxxxx.appsync-api.eu-west-1.amazonaws.com/graphql`,
options: {
reconnect: true
}
});
顺便说一句,我假设 wss 的 url 与 http.... 的 url 相同。
【问题讨论】:
-
这行不通。 GraphQL 将订阅传输留给实现,因此它没有在规范中定义,并且您在上面的代码中定义的 WSS 链接将失败,因为在 AppSync 中授权所需的握手尚未发生。强烈建议您使用 AppSync SDK 或反向工程它的连接握手,因为代码是 OSS。
-
谢谢。我想这就是我要寻找的答案!
标签: websocket apollo apollo-client aws-appsync