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 Risposta
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;  

}

con risposta 3 anni fa

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande