我正试图创建一个到AWS AppSync的Websocket连接,但连接后我收到错误
payload
:
{errors: [{errorType: "com.amazon.coral.service.http#HttpNotFoundException", errorCode: 400}]}
type
:
"connection_error"
let ws = undefined;
const url = 'wss://XXXX.appsync-realtime-api.YYYY.amazonaws.com/graphql';
const apikey = 'ZZZZ';
const api_header = {
host: 'XXXX.appsync-realtime-api.YYYY.amazonaws.com',
'x-api-key': apikey,
};
const payload = {}; // payload should be an empty JSON object
const base64_api_header = btoa(JSON.stringify(api_header));
const base64_payload = btoa(JSON.stringify(payload));
const appsync_url = url + '?header=' + base64_api_header + '&payload=' + base64_payload;
ws = new WebSocket(appsync_url, ['graphql-ws']);
api_header中的主机错误。应该是
host: 'XXXX.appsync-api.YYYY.amazonaws.com',
注:appsync-api
,不是appsync-realtime-api
。