Rövid útmutató: Képelemzések lekérése a Bing Visual Search REST API-val és Node.js
Figyelmeztetés
2020. október 30-án a Bing Search API-k átkerültek az Azure AI-szolgáltatásokból a Bing Search-szolgáltatásokba. Ez a dokumentáció csak referenciaként érhető el. A frissített dokumentációt a Bing search API dokumentációjában találja. Az új Azure-erőforrások Bing-kereséshez való létrehozásával kapcsolatos utasításokért lásd: Bing Search-erőforrás létrehozása a Azure Marketplace keresztül.
Ezzel a rövid útmutatóval kezdeményezheti első hívását a Bing Visual Search API-hoz. Ez az egyszerű JavaScript-alkalmazás feltölt egy képet az API-ba, és megjeleníti a róla visszaadott információkat. Bár ez az alkalmazás JavaScriptben van megírva, az API egy RESTful webszolgáltatás, amely a legtöbb programozási nyelvvel kompatibilis.
Előfeltételek
- Node.js
- A JavaScript Kérés modulja. A modul telepítéséhez használhatja
npm install request
a parancsot. - Az űrlap-adatok modul.
npm install form-data
Az paranccsal telepítheti a modult.
Azure-erőforrás létrehozása
Kezdje el használni a Bing Visual Search API-t az alábbi Azure-erőforrások egyikének létrehozásával:
- A Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Válassza ki a tarifacsomagot
S9
.
- A Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.
Az alkalmazás inicializálása
Hozzon létre egy JavaScript-fájlt a kedvenc IDE-jében vagy szerkesztőjében, és állítsa be a következő követelményeket:
var request = require('request'); var FormData = require('form-data'); var fs = require('fs');
Hozzon létre változókat az API-végponthoz, az előfizetési kulcshoz és a rendszerkép elérési útjához.
baseUri
Az értékhez használhatja a globális végpontot a következő kódban, vagy használhatja az erőforráshoz tartozó Azure Portal megjelenített egyéni altartományvégpontot.var baseUri = 'https://api.cognitive.microsoft.com/bing/v7.0/images/visualsearch'; var subscriptionKey = 'your-api-key'; var imagePath = "path-to-your-image";
Hozzon létre egy nevű
requestCallback()
függvényt, amely kinyomtatja a választ az API-ból.function requestCallback(err, res, body) { console.log(JSON.stringify(JSON.parse(body), null, ' ')) }
A keresési kérelem létrehozása és elküldése
Helyi kép feltöltésekor az űrlapadatoknak tartalmazniuk kell a fejlécet
Content-Disposition
. Állítsa a paramétertname
"image" értékre, és állítsa afilename
paramétert a kép fájlnevére. Az űrlap tartalma tartalmazza a kép bináris adatait. A feltölthető képek maximális mérete 1 MB.--boundary_1234-abcd Content-Disposition: form-data; name="image"; filename="myimagefile.jpg" ÿØÿà JFIF ÖÆ68g-¤CWŸþ29ÌÄøÖ‘º«™æ±èuZiÀ)"óÓß°Î= ØJ9á+*G¦... --boundary_1234-abcd--
Hozzon létre egy új
FormData
objektumot a paranccsalFormData()
, és fűzze hozzá a kép elérési útját a paranccsalfs.createReadStream()
.var form = new FormData(); form.append("image", fs.createReadStream(imagePath));
A kérelemtár használatával töltse fel a képet, és hívja meg a hívást
requestCallback()
a válasz nyomtatásához. Adja hozzá az előfizetési kulcsot a kérelem fejlécéhez.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); });