Share via


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:

Bing Arama v7 kaynağı

  • Kaynağı silene kadar Azure portal aracılığıyla kullanılabilir.
  • Fiyatlandırma katmanını S9 seçin.

Çok hizmetli kaynak

  • 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

  1. 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');
    
  2. 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";
    
  3. 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

  1. Yerel bir görüntüyü karşıya yüklediğinizde, form verilerinin üst bilgiyi içermesi Content-Disposition gerekir. parametresini name "image" olarak, parametresini filename 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--
    
  2. ile FormData()yeni FormData bir nesne oluşturun ve kullanarak fs.createReadStream()görüntü yolunuzu buna ekleyin.

    var form = new FormData();
    form.append("image", fs.createReadStream(imagePath));
    
  3. 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);
    });
    

Sonraki adımlar