Sto tentando di caricare un'immagine su S3 ma quando chiamo s3.putObject (params, callback), la mia callback non viene mai chiamata e non vengono registrati errori.S3.putObject - la richiamata non viene mai chiamata
Ecco il codice rilevante:
var params = {
Key: key,
Body: imageData,
ContentLength: imageData.byteCount,
ContentType: contentType,
};
this.s3.putObject(params, function(err, data) {
console.log('here');
if (err) {
callback(err);
return;
}
callback(null, key);
});
Dove params è { Key: 'e2f99bf3a321282cc7dfaef69fe8ca62.jpg', Body: {imageData parsed from request using node-multiparty}, ContentLength: 27802, ContentType: 'image/jpeg', }
Ho verificato che this.s3 sia valido e typeof this.s3.putObject è la funzione come previsto.
È possibile ottenere alcune informazioni installando e richiedendo il modulo 'nock' da npm che stamperà esattamente quale URL viene richiesto. Se il programma si blocca in attesa della richiamata, forse un firewall sta ignorando il tentativo di connessione TCP. Hai lasciato il programma bloccato per diversi minuti per vedere se alla fine si verifica il timeout e viene richiamata la richiamata? –
Il programma termina l'esecuzione prima che l'evento asincrono possa restituire un valore? Guarda un argomento simile con AWS Lambda: https://stackoverflow.com/questions/28449363/why-is-this-http-request-not-working-on-aws-lambda –