Mon application Node.js basée sur AWS Lambda génère occasionnellement une erreur similaire à la suivante en cas de connexion à une table Amazon DynamoDB :

Error { [NetworkingError: write EPROTO

cause:

{ [NetworkingError: write EPROTO]

message: 'write EPROTO',

code: 'NetworkingError',

errno: 'EPROTO',

syscall: 'write',

address: undefined,

region: 'us-east-1',

hostname: 'dynamodb.us-east-1.amazonaws.com',

retryable: true,

time: Mon July 11 2016 06:08:49 GMT+0000 (UTC) }

Cette erreur peut survenir si l'application Node.js basée sur Lambda utilise AWS Lambda 4.3 avec Node.js 4.x.

La connexion d'une application Node.js 4.x basée sur Lambda avec un serveur TLS 1.2 ne peut pas être stockée, puis réutilisée lorsque vous vous connectez à un serveur TLS 1.0. Ce problème peut survenir lorsqu'une application Node.js 4.x basée sur Lambda initie une connexion SSL avec un point de terminaison où les serveurs prennent en charge des connexions TLS 1.0 ou TLS 1.2.

Pour résoudre ce problème, suivez l'une des étapes ci-dessous :

  • Installez Node.js 5.6 ou version ultérieure. La dernière version de Node.js est disponible sous https://nodejs.org/en/
  • Spécifiez un paramètre secureProtocol de la méthode TLSv1_pour le client DynamoDB httpOptions :

var dynamodb = new AWS.DynamoDB({

    httpOptions: {

        agent: new https.Agent({

            secureProtocol: "TLSv1_method",

            ciphers: "ALL"})

}})

EPROTO, DynamoDB, node.js, NetworkingError, Lambda, TLS, point de terminaison, OpenSSL, httpOptions


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 03/08/2016