Dela via


Snabbstart: Hämta bildinsikter med rest-API:et för visuell sökning i Bing och Node.js

Varning

Den 30 oktober 2020 flyttades Bing-sökning-API:erna från Azure AI-tjänster till Bing-sökning Services. Den här dokumentationen tillhandahålls endast som referens. Uppdaterad dokumentation finns i dokumentationen för API:et för Bing-sökning. Anvisningar om hur du skapar nya Azure-resurser för Bing-sökning finns i Skapa en Bing-sökning resurs via Azure Marketplace.

Använd den här snabbstarten för att göra ditt första anrop till API:et för visuell sökning i Bing. Det här enkla JavaScript-programmet laddar upp en bild till API:et och visar den information som returneras om den. Även om det här programmet är skrivet i JavaScript är API:et en RESTful-webbtjänst som är kompatibel med de flesta programmeringsspråk.

Förutsättningar

  • Node.js
  • Modulen Request för JavaScript. Du kan använda npm install request kommandot för att installera modulen.
  • Modulen form-data. Du kan använda npm install form-data kommandot för att installera modulen.

Skapa en Azure-resurs

Börja använda API:et för visuell sökning i Bing genom att skapa någon av följande Azure-resurser:

Bing-sökning v7-resurs

  • Tillgänglig via Azure Portal tills du tar bort resursen.
  • S9 Välj prisnivå.

Resurs för flera tjänster

  • Tillgänglig via Azure Portal tills du tar bort resursen.
  • Använd samma nyckel och slutpunkt för dina program i flera Azure AI-tjänster.

Initiera programmet

  1. Skapa en JavaScript-fil i valfri IDE eller redigeringsprogram och ange följande krav:

    var request = require('request');
    var FormData = require('form-data');
    var fs = require('fs');
    
  2. Skapa variabler för din API-slutpunkt, prenumerationsnyckel och sökvägen till din bild. För värdet baseUri kan du använda den globala slutpunkten i följande kod eller använda den anpassade underdomänslutpunkten som visas i Azure Portal för din resurs.

    var baseUri = 'https://api.cognitive.microsoft.com/bing/v7.0/images/visualsearch';
    var subscriptionKey = 'your-api-key';
    var imagePath = "path-to-your-image";
    
  3. Skapa en funktion med namnet requestCallback() för att skriva ut svaret från API:et.

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

Skapa och skicka sökbegäran

  1. När du laddar upp en lokal bild måste formulärdata innehålla Content-Disposition rubriken. Ställ in parametern name på "image" och ange parametern filename till filnamnet på bilden. Innehållet i formuläret innehåller bildens binära data. Den maximala bildstorleken som du kan ladda upp är 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. Skapa ett nytt FormData objekt med FormData()och lägg till bildsökvägen i det med hjälp fs.createReadStream()av .

    var form = new FormData();
    form.append("image", fs.createReadStream(imagePath));
    
  3. Använd begärandebiblioteket för att ladda upp bilden och anropa requestCallback() för att skriva ut svaret. Lägg till din prenumerationsnyckel i begärandehuvudet.

    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ästa steg