Schnellstart: Einholen von Bildeinblicken mit der Bing Visual Search-REST-API und Node.js

Warnung

Am 30. Oktober 2020 wurden die Bing Search-APIs von Azure AI-Diensten zu Bing Search Services verschoben. Diese Dokumentation wird nur zur Referenz bereitgestellt. Aktualisierte Dokumentation finden Sie in der Bing-Such-API-Dokumentation. Anweisungen zum Erstellen neuer Azure-Ressourcen für die Bing-Suche finden Sie unter Erstellen einer Bing Search-Ressource über den Azure Marketplace.

Verwenden Sie diese Schnellstartanleitung, um Ihren ersten Aufruf an die Bing Visual Search-API durchzuführen. Diese einfache JavaScript-Anwendung lädt ein Bild in die API hoch und zeigt die zurückgegebenen Informationen an. Obwohl diese Anwendung in JavaScript geschrieben ist, ist die API ein RESTful-Webdienst, der mit den meisten Programmiersprachen kompatibel ist.

Voraussetzungen

  • Node.js
  • Das Anforderungsmodul für JavaScript. Sie können den Befehl zum Installieren des Moduls verwenden npm install request .
  • Das Formulardatenmodul. Sie können den npm install form-data Befehl verwenden, um das Modul zu installieren.

Erstellen einer Azure-Ressource

Beginnen Sie mit der Verwendung der API für die visuelle Bing-Suche, indem Sie eine der folgenden Azure-Ressourcen erstellen:

Bing Search v7-Ressource

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Wählen Sie den S9-Tarif aus.

Mehrzweckressource

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie denselben Schlüssel und Endpunkt für Ihre Anwendungen in mehreren Azure AI-Diensten.

Initialisieren der Anwendung

  1. Erstellen Sie eine JavaScript-Datei in Ihrer bevorzugten IDE oder Ihrem Bevorzugten Editor, und legen Sie die folgenden Anforderungen fest:

    var request = require('request');
    var FormData = require('form-data');
    var fs = require('fs');
    
  2. Erstellen Sie Variablen für Den API-Endpunkt, den Abonnementschlüssel und den Pfad zu Ihrem Bild. Für den baseUri Wert können Sie den globalen Endpunkt im folgenden Code verwenden oder den benutzerdefinierten Unterdomänenendpunkt verwenden, der im Azure-Portal für Ihre Ressource angezeigt wird.

    var baseUri = 'https://api.cognitive.microsoft.com/bing/v7.0/images/visualsearch';
    var subscriptionKey = 'your-api-key';
    var imagePath = "path-to-your-image";
    
  3. Erstellen Sie eine Funktion, die benannt ist requestCallback() , um die Antwort aus der API zu drucken.

    function requestCallback(err, res, body) {
        console.log(JSON.stringify(JSON.parse(body), null, '  '))
    }
    

Erstellen und Senden der Suchanforderung

  1. Wenn Sie ein lokales Bild hochladen, müssen die Formulardaten die Content-Disposition Kopfzeile enthalten. Legen Sie den name Parameter auf "image" fest, und legen Sie den filename Parameter auf den Dateinamen Ihres Bilds fest. Der Inhalt des Formulars enthält die Binärdaten des Bilds. Die maximale Bildgröße, die Sie hochladen können, beträgt 1 MB.

    --boundary_1234-abcd
    Content-Disposition: form-data; name="image"; filename="myimagefile.jpg"
    
    ÿØÿà JFIF ÖÆ68g-¤CWŸþ29ÌÄøÖ‘º«™æ±èuZiÀ)"óÓß°Î= ØJ9á+*G¦...
    
    --boundary_1234-abcd--
    
  2. Erstellen Sie ein neues FormData Objekt mit FormData() und hängen Sie den Bildpfad mithilfe von fs.createReadStream() daran an.

    var form = new FormData();
    form.append("image", fs.createReadStream(imagePath));
    
  3. Verwenden Sie die Anforderungsbibliothek, um das Bild hochzuladen, und rufen Sie requestCallback() auf, um die Antwort zu drucken. Fügen Sie Ihren Abonnementschlüssel zum Anforderungsheader hinzu.

    form.getLength(function(err, length){
      if (err) {
        return requestCallback(err);
      }
      var r = request.post(baseUri, requestCallback);
      r._form = form; 
      r.setHeader('Ocp-Apim-Subscription-Key', subscriptionKey);
    });
    

Nächste Schritte