Rychlý start: Získání přehledů o obrázku pomocí rozhraní REST API pro vizuální vyhledávání Bingu a Node.js
Upozornění
30. října 2020 se rozhraní API Vyhledávání Bingu přesunula ze služeb Azure AI na Vyhledávání Bingu Services. Tato dokumentace je k dispozici pouze pro referenci. Aktualizovanou dokumentaci najdete v dokumentaci k rozhraní API Bingu pro vyhledávání. Pokyny k vytváření nových prostředků Azure pro vyhledávání Bingu najdete v tématu Vytvoření prostředku Vyhledávání Bingu prostřednictvím Azure Marketplace.
Pomocí tohoto rychlého startu můžete provést první volání rozhraní API pro vizuální vyhledávání Bingu. Tato jednoduchá javascriptová aplikace nahraje do rozhraní API obrázek a zobrazí o něm vrácené informace. I když je tato aplikace napsaná v JavaScriptu, rozhraní API je webová služba RESTful kompatibilní s většinou programovacích jazyků.
Požadavky
- Node.js
- Modul Request (Žádost) pro JavaScript. K instalaci modulu můžete použít
npm install request
příkaz . - Modul form-data. K instalaci modulu můžete použít
npm install form-data
příkaz .
Vytvoření prostředku Azure
Začněte používat rozhraní API pro vizuální vyhledávání Bingu vytvořením jednoho z následujících prostředků Azure:
prostředek Vyhledávání Bingu v7
- K dispozici prostřednictvím Azure Portal, dokud prostředek neodstraníte.
- Vyberte cenovou
S9
úroveň.
- K dispozici prostřednictvím Azure Portal, dokud prostředek neodstraníte.
- Pro své aplikace použijte stejný klíč a koncový bod napříč několika službami Azure AI.
Inicializace aplikace
Ve svém oblíbeném integrovaném vývojovém prostředí nebo editoru vytvořte soubor JavaScriptu a nastavte následující požadavky:
var request = require('request'); var FormData = require('form-data'); var fs = require('fs');
Vytvořte proměnné pro koncový bod rozhraní API, klíč předplatného a cestu k imagi.
baseUri
Jako hodnotu můžete použít globální koncový bod v následujícím kódu nebo vlastní koncový bod subdomény zobrazený v Azure Portal pro váš prostředek.var baseUri = 'https://api.cognitive.microsoft.com/bing/v7.0/images/visualsearch'; var subscriptionKey = 'your-api-key'; var imagePath = "path-to-your-image";
Vytvořte funkci s názvem
requestCallback()
, která vytiskne odpověď z rozhraní API.function requestCallback(err, res, body) { console.log(JSON.stringify(JSON.parse(body), null, ' ')) }
Vytvoření a odeslání požadavku hledání
Když nahrajete místní obrázek, musí data formuláře obsahovat
Content-Disposition
záhlaví. Nastavte jehoname
parametr na image a parametrfilename
nastavte na název souboru image. Obsah formuláře zahrnuje binární data obrázku. Maximální velikost obrázku, kterou můžete nahrát, je 1 MB.--boundary_1234-abcd Content-Disposition: form-data; name="image"; filename="myimagefile.jpg" ÿØÿà JFIF ÖÆ68g-¤CWŸþ29ÌÄøÖ‘º«™æ±èuZiÀ)"óÓß°Î= ØJ9á+*G¦... --boundary_1234-abcd--
Vytvořte nový
FormData
objekt pomocíFormData()
a připojte k němu cestu k obrázku pomocífs.createReadStream()
příkazu .var form = new FormData(); form.append("image", fs.createReadStream(imagePath));
Použijte knihovnu žádostí k nahrání obrázku a voláním vytiskněte
requestCallback()
odpověď. Přidejte klíč předplatného do hlavičky požadavku.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); });