Rövid útmutató: Képelemzések lekérése a Bing Visual Search REST API és Node.js használatával
Figyelmeztetés
2020. október 30-án a Bing Search API-k átkerültek a Cognitive Servicesből Bing Search Servicesbe. Ez a dokumentáció csak referenciaként érhető el. A frissített dokumentációért tekintse meg a Bing search API dokumentációját. 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.
Ezzel a rövid útmutatóval kezdeményezheti az első hívást a Bing Visual Search API-hoz. Ez az egyszerű JavaScript-alkalmazás feltölt egy képet az API-ba, és megjeleníti a visszaadott információkat. Bár ez az alkalmazás JavaScript nyelven van megírva, az API egy RESTful-webszolgáltatás, amely kompatibilis a legtöbb programozási nyelvvel.
Előfeltételek
- Node.js
- A JavaScript kérés modulja. A modul telepítéséhez használhatja
npm install requesta parancsot. - Az űrlap-adatok modul. A parancs használatával
npm install form-datatelepí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 nem törli az erőforrást.
- Válassza ki a tarifacsomagot
S9.
- A Azure Portal keresztül érhető el, amíg nem törli az erőforrást.
- Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Cognitive Services-szolgáltatásban.
Az alkalmazás inicializálása
Hozzon létre egy JavaScript-fájlt a kedvenc IDE-környezeté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ői azonosítóhoz és a rendszerkép elérési útjához.
baseUriAz é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ő 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 függvényt
requestCallback()az API válaszának nyomtatásához.function requestCallback(err, res, body) { console.log(JSON.stringify(JSON.parse(body), null, ' ')) }
A keresési kérelem összeállítá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 afilenameparamétert a kép fájlnevére. Az űrlap tartalma tartalmazza a kép bináris adatait. A maximális feltölthető képméret 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
FormDataobjektumot a következővelFormData(), és fűzze hozzá a kép elérési útját a használatávalfs.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
requestCallback()a választ. Adja hozzá az előfizetői azonosítót 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); });