2017-08-03 3 views
1

Ich habe ein Skript, das CosmosDB zu einigen Operationen verbindet, CosmoDB als GraphDB verwendet, jedoch ein Knotenmodul namens Gremlin-Secure, die Verbindung zu CosmosDB über Web-Sockets verwendet jedoch In letzter Zeit konnte ich nicht auf die Datenbank wie unten Fehler verbindenVerbindung mit Azure Cosmosdb fehlgeschlagen mit Web-Socket

events.js:160 throw er; // Unhandled 'error' event ^

Error: unexpected server response (200) at ClientRequest._req.on (/Users/abshahin/dev/azure-cosmos-db-graph-nodejs-getting-started/node_modules/ws/lib/WebSocket.js:656:26) at emitOne (events.js:96:13) at ClientRequest.emit (events.js:188:7) at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:473:21) at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23) at TLSSocket.socketOnData (_http_client.js:362:20) at emitOne (events.js:96:13) at TLSSocket.emit (events.js:188:7) at readableAddChunk (_stream_readable.js:176:18) at TLSSocket.Readable.push (_stream_readable.js:134:10)

mein Code wie dieser

"use strict"; 

var Gremlin = require('gremlin-secure'); 
var config = require("./config"); 

const client = Gremlin.createClient(
    443, 
    config.endpoint, 
    { 
     "session": false, 
     "ssl": true, 
     "user": `/dbs/${config.database}/colls/${config.collection}`, 
     "password": config.primaryKey 
    }); 

client.execute("g.addV('employee').property('id', 'abshahin')", { }, (err, results) => { 
    if (err) return console.error(err); 
    console.log(JSON.stringify(results)); 

    }); 

sieht, und das ist meine Config

var config = {} 

config.endpoint = "xxxxxxxx.graphs.azure.com"; 
config.primaryKey = "super secret key"; 
config.database = "dbname" 
config.collection = "collectionName" 

module.exports = config; 

Ich kontaktierte Microsoft und sie empfohlen, hier, jede Hilfe zu posten.

+0

ich Ihren Code nahm und reproduzieren kann nicht Ihr Problem auf meiner Seite. Können Sie uns sagen, welche Version von 'Gremlin-Secure' Sie verwenden? –

+0

@AaronChen es scheint, es war ein Problem in Azure Ende, es funktioniert auch für mich, danke trotzdem, um zu helfen, obwohl. –

Antwort

0

Überprüfen Sie, ob die URL der Datenbank wie xxx.graphs.azure.com aussieht. Die im azurblauen Portal angezeigte URL war in meinem Fall nicht korrekt.

0

Das sieht ein wenig ähnlich zu a problem I faced recently. Achten Sie darauf, neueste OpenSSL Version

openssl version -a 

Azure CosmosDB erzwingt SSL/TLS 1.2 haben, die nicht mit älteren Versionen von OpenSSL unterstützt wird

Verwandte Themen