2

Nach eingehender Recherche entschied ich mich, Bluemix zum Klassifizieren und Erkennen von Bildern zu verwenden.Bilder mit Bluemix klassifizieren

Ich habe eine Starterfrage, wie Sie mit der node.js Runtime programmieren beginnen.

Ich habe versucht, this Tutorial zu folgen. Das sind jedoch nur Codeschnipsel. Wie führen Sie sie und sehen, wie es in der Bluemix-Umgebung funktioniert?

Mein Fortschritt:
-Ich startete die Startanwendung node.js in Bluemix.
-I hinzugefügt, um den folgenden Code und die app.js sieht wie folgt aus:

/*eslint-env node*/ 

//-------------------------------------------------------------------------- 
// node.js starter application for Bluemix 
//-------------------------------------------------------------------------- 

// This application uses express as its web server 
// for more info, see: http://expressjs.com 
var express = require('express'); 

// cfenv provides access to your Cloud Foundry environment 
// for more info, see: https://www.npmjs.com/package/cfenv 
var cfenv = require('cfenv'); 

// create a new express server 
var app = express(); 

// serve the files out of ./public as our main files 
app.use(express.static(__dirname + '/public')); 

// get the app environment from Cloud Foundry 
var appEnv = cfenv.getAppEnv(); 

// start server on the specified port and binding host 
app.listen(appEnv.port, '0.0.0.0', function() { 
    // print a message when the server starts listening 
    console.log("server starting on " + appEnv.url); 
}); 

var watson = require('watson-developer-cloud'); 
var fs = require('fs'); 

/*var visual_recognition = watson.visual_recognition({ 
    username: '<username>', 
    password: '<password>', 
    version: 'v2-beta', 
    version_date: '2015-12-02' 
});*/ 

var visualRecognition = watson.visual_recognition({ 
    version: 'v3', 
    api_key: process.env.API_KEY || 'my api key', 
    version_date: '2015-05-19' 
}); 

var params = { 
    images_file: fs.createReadStream('./resources/car.png') 
}; 

visualRecognition.classify(params, function(err, res) { 
    if (err) 
    console.log(err); 
    else 
    console.log(JSON.stringify(res, null, 2)); 
}); 

Ich versuche, den Code in der Bluemix Umgebung (live Bearbeitungsmodus) und nicht lokal ausgeführt werden. Wenn ich den Code ausführe, wird die Bereitstellung gestoppt, und ich kann nicht einmal herausfinden, welche Codezeile dies bewirkt. Wenn ich die Webseite besuchen bekomme ich folgende Fehlermeldung:

404 Not Found: Requested route ('myvisualapp.mybluemix.net') does not exist.

Ich verstehe nicht, was falsch ist und wie Sie den Code debuggen.

Autor Ebene: Anfänger

+0

Könnten Sie bitte lassen Sie mich wissen, wo ist der "Run code" Knopf, den Sie erwähnt haben? –

Antwort

1
  1. Sie müssen 'Weg' (oder zumindest Intercept) die Client-Anfragen in Eil. Im Moment hat die Anfrage keinen Handler. Verwenden Sie zu diesem Zweck den Aufruf app.get().
  2. Ihre Watson-Serviceanrufe sind momentan auf eine Benutzeranfrage beschränkt. Sie müssen es durch eine Benutzeranfrage leiten.

Zum Beispiel:

app.get('/', function(req, res) { 

// invoke watson services 
// get the result. 
// write back the result through the response object, res 

} 
1

Sie auf dem Demo-Code bei https://github.com/watson-developer-cloud/visual-recognition-nodejs aussehen können und einen guten Ort, um bekommen.

auch von der Befehlszeile Sie die Protokolle Ihrer Anwendung in Bluemix eingesetzt sehen

$ cf logs YOURAPPNAME --recent

mit dem YOURAPPNAME der Name der Anwendung ist es, Ihnen zu Bluemix geschoben. Sie können den Namen

$ cf apps

mit, wenn man den Namen vergessen Sie verwendet (was mir die ganze Zeit passiert).

Verwandte Themen