Are API Gateway Websocket Connection Ids Region-Specific?

0

We are building a multi-region application that uses websockets. It looks like we need to store the region the users connect from and use that when posting a message back to the websockets? Is that correct?

1 Antwort
1

Hopefully helping someone else out here - storing the region, stage, and apiId from the connection and using that - we were able to get cross-region chat to work.

Example:

export interface ConnectionRecord {
connectionId: string;
userId: string;
connectedAt: string;
apiId: string;
stage: string;
region: string;
}

function getGatewayAPI(connection: ConnectionRecord) {
if (GATEWAY_APIS[connection.region]) {
return GATEWAY_APIS[connection.region];
}

const endPoint = `https://${connection.apiId}.execute-api.${connection.region}.amazonaws.com/${connection.stage}`;  

const apiGatewayManagement = new AWS.ApiGatewayManagementApi({  
    apiVersion: '2018-11-29',  
    endpoint: endPoint,  
    region: connection.region  
});  

GATEWAY_APIS\[connection.region] = apiGatewayManagement;  

return apiGatewayManagement;  

}

beantwortet vor 3 Jahren

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen