Hızlı Başlangıç: Bing Görsel Arama REST API'sini ve Node.js kullanarak görüntü içgörüleri alma
Uyarı
30 Ekim 2020'de Bing Arama API'leri Azure yapay zeka hizmetlerinden Bing Arama Hizmetlerine taşındı. Bu belgeler yalnızca başvuru için sağlanır. Güncelleştirilmiş belgeler için Bing arama API'sinin belgelerine bakın. Bing araması için yeni Azure kaynakları oluşturma yönergeleri için bkz. Azure Market aracılığıyla Bing Arama kaynağı oluşturma.
Bing Görsel Arama API'sine ilk çağrınızı yapmak için bu hızlı başlangıcı kullanın. Bu basit JavaScript uygulaması API'ye bir görüntü yükler ve bu uygulama hakkında döndürülen bilgileri görüntüler. Bu uygulama JavaScript ile yazılmış olsa da, API çoğu programlama diliyle uyumlu bir RESTful Web hizmetidir.
Önkoşullar
- Node.js
- JavaScript için İstek modülü. Modülü yüklemek için komutunu kullanabilirsiniz
npm install request
. - Form verileri modülü. modülünü
npm install form-data
yüklemek için komutunu kullanabilirsiniz.
Azure kaynağı oluşturma
Aşağıdaki Azure kaynaklarından birini oluşturarak Bing Görsel Arama API'sini kullanmaya başlayın:
- Kaynağı silene kadar Azure portal aracılığıyla kullanılabilir.
- Fiyatlandırma katmanını
S9
seçin.
- Kaynağı silene kadar Azure portal aracılığıyla kullanılabilir.
- Birden çok Azure AI hizmeti genelinde uygulamalarınız için aynı anahtarı ve uç noktayı kullanın.
Uygulamayı başlatma
Sık kullandığınız IDE veya düzenleyicide bir JavaScript dosyası oluşturun ve aşağıdaki gereksinimleri ayarlayın:
var request = require('request'); var FormData = require('form-data'); var fs = require('fs');
API uç noktanız, abonelik anahtarınız ve görüntünüzün yolu için değişkenler oluşturun. Değeri için
baseUri
aşağıdaki kodda genel uç noktayı veya kaynağınızın Azure portal görüntülenen özel alt etki alanı uç noktasını kullanabilirsiniz.var baseUri = 'https://api.cognitive.microsoft.com/bing/v7.0/images/visualsearch'; var subscriptionKey = 'your-api-key'; var imagePath = "path-to-your-image";
API'den yanıtı yazdırmak için adlı
requestCallback()
bir işlev oluşturun.function requestCallback(err, res, body) { console.log(JSON.stringify(JSON.parse(body), null, ' ')) }
Arama isteğini oluşturma ve gönderme
Yerel bir görüntüyü karşıya yüklediğinizde, form verilerinin üst bilgiyi içermesi
Content-Disposition
gerekir. parametresininame
"image" olarak, parametresinifilename
ise görüntünüzün dosya adına ayarlayın. Formun içeriği görüntünün ikili verilerini içerir. Karşıya yükleyebileceğiniz en büyük görüntü boyutu 1 MB'tır.--boundary_1234-abcd Content-Disposition: form-data; name="image"; filename="myimagefile.jpg" ÿØÿà JFIF ÖÆ68g-¤CWŸþ29ÌÄøÖ‘º«™æ±èuZiÀ)"óÓß°Î= ØJ9á+*G¦... --boundary_1234-abcd--
ile
FormData()
yeniFormData
bir nesne oluşturun ve kullanarakfs.createReadStream()
görüntü yolunuzu buna ekleyin.var form = new FormData(); form.append("image", fs.createReadStream(imagePath));
Görüntüyü karşıya yüklemek için istek kitaplığını kullanın ve yanıtı yazdırmak için çağrısında
requestCallback()
bulunabilirsiniz. abonelik anahtarınızı istek üst bilgisine ekleyin.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); });