Partilhar via


Início Rápido: Obter informações de imagens com a API REST da Pesquisa Visual do Bing e Node.js

Aviso

A 30 de outubro de 2020, as APIs de Pesquisa do Bing passaram dos serviços de IA do Azure para os Serviços Pesquisa do Bing. Esta documentação é fornecida apenas para referência. Para obter documentação atualizada, veja a documentação da API de pesquisa do Bing. Para obter instruções sobre como criar novos recursos do Azure para a pesquisa do Bing, veja Criar um recurso de Pesquisa do Bing através do Azure Marketplace.

Utilize este início rápido para fazer a sua primeira chamada à API de Pesquisa Visual do Bing. Esta aplicação JavaScript simples carrega uma imagem para a API e apresenta as informações devolvidas sobre a mesma. Embora esta aplicação esteja escrita em JavaScript, a API é um serviço Web RESTful compatível com a maioria das linguagens de programação.

Pré-requisitos

  • Node.js
  • O módulo Request para JavaScript. Pode utilizar npm install request o comando para instalar o módulo.
  • O módulo form-data. Pode utilizar o npm install form-data comando para instalar o módulo.

Criar um recurso do Azure

Comece a utilizar a API de Pesquisa Visual do Bing ao criar um dos seguintes recursos do Azure:

Pesquisa do Bing recurso v7

  • Disponível através do portal do Azure até eliminar o recurso.
  • Selecione o S9 escalão de preço.

Recurso de vários serviços

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize a mesma chave e ponto final para as suas aplicações, em vários serviços de IA do Azure.

Inicializar a aplicação

  1. Crie um ficheiro JavaScript no seu IDE ou editor favorito e defina os seguintes requisitos:

    var request = require('request');
    var FormData = require('form-data');
    var fs = require('fs');
    
  2. Crie variáveis para o ponto final da API, a chave de subscrição e o caminho para a sua imagem. Para o baseUri valor, pode utilizar o ponto final global no seguinte código ou utilizar o ponto final de subdomínio personalizado apresentado no portal do Azure do recurso.

    var baseUri = 'https://api.cognitive.microsoft.com/bing/v7.0/images/visualsearch';
    var subscriptionKey = 'your-api-key';
    var imagePath = "path-to-your-image";
    
  3. Crie uma função com o nome requestCallback() para imprimir a resposta a partir da API.

    function requestCallback(err, res, body) {
        console.log(JSON.stringify(JSON.parse(body), null, '  '))
    }
    

Construir e enviar o pedido de pesquisa

  1. Quando carrega uma imagem local, os dados do formulário têm de incluir o Content-Disposition cabeçalho. Defina o respetivo name parâmetro como "imagem" e defina o filename parâmetro para o nome de ficheiro da sua imagem. Os conteúdos do formulário incluem os dados binários da imagem. O tamanho máximo da imagem que pode carregar é de 1 MB.

    --boundary_1234-abcd
    Content-Disposition: form-data; name="image"; filename="myimagefile.jpg"
    
    ÿØÿà JFIF ÖÆ68g-¤CWŸþ29ÌÄøÖ‘º«™æ±èuZiÀ)"óÓß°Î= ØJ9á+*G¦...
    
    --boundary_1234-abcd--
    
  2. Crie um novo FormData objeto com FormData()e acrescente o caminho da imagem ao mesmo com fs.createReadStream().

    var form = new FormData();
    form.append("image", fs.createReadStream(imagePath));
    
  3. Utilize a biblioteca de pedidos para carregar a imagem e chame requestCallback() para imprimir a resposta. Adicione a chave de subscrição ao cabeçalho do pedido.

    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);
    });
    

Passos seguintes