2016-04-21 14 views
0

Gibt es eine Möglichkeit, die Region eines apigateway-Endpunkts zu suchen und diese zu verwenden, um Ihre Anforderungen mit sigv4 zu signieren?AWS Sig v4 Signieren für API-Gateway

ich die aws sdk bin mit wie die Unterzeichnung zu tun, so

let req = new AWS.HttpRequest(endpoint); 
req.method = 'POST'; 
req.path = endpoint.path; 
req.region = QueryApi.getBaseUrlRegion(this._baseUrl); 
req.body = JSON.stringify(body); 

req.headers[ 'Host' ]    = endpoint.host 
req.headers[ 'presigned-expires' ] = false 
req.headers[ 'Content-Type' ]  = 'application/json' 

let signer = new AWS.Signers.V4(req, 'execute-api') 
signer.addAuthorization(this._awsCreds, new Date()) 

Im Moment bin ich Parse die Region von den internen aws execute-api-URL, aber dies wird nicht mit einem benutzerdefinierten dns arbeiten Name.

Sind die einzigen Optionen, die eine Config verwenden oder eine DNS-Suche durchführen?

Antwort

1

Leider gibt es derzeit keine Möglichkeit, die Region nachzuschlagen, wenn Sie einen benutzerdefinierten Domänennamen verwenden. Die Verwendung der DNS-Suche funktioniert nicht so gut, da API Gateway von CloudFront-Distributionen unterstützt wird.

Verwandte Themen