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:
- Tillgänglig via Azure Portal tills du tar bort resursen.
-
S9
Välj prisnivå.
- 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
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');
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";
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
När du laddar upp en lokal bild måste formulärdata innehålla
Content-Disposition
rubriken. Ställ in parameternname
på "image" och ange parameternfilename
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--
Skapa ett nytt
FormData
objekt medFormData()
och lägg till bildsökvägen i det med hjälpfs.createReadStream()
av .var form = new FormData(); form.append("image", fs.createReadStream(imagePath));
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); });