Inicio rápido: Obtención de conclusiones de imágenes mediante Bing Visual Search API y Node.js
Advertencia
El 30 de octubre de 2020, las API de Bing Search se trasladaron de los servicios de Azure AI a los servicios de Bing Search. Esta documentación se proporciona solo como referencia. Para obtener documentación actualizada, consulte la documentación de Bing Search API. Para obtener instrucciones sobre cómo crear nuevos recursos de Azure para Bing Search, consulte el artículo sobre la creación de un recurso de Bing Search a través de Azure Marketplace.
Use este inicio rápido para realizar la primera llamada a la API Bing Visual Search. Esta sencilla aplicación de JavaScript carga una imagen en la API y muestra la información que se devuelve sobre ella. Aunque esta aplicación está escrita en JavaScript, la API es un servicio web RESTful compatible con la mayoría de los lenguajes de programación.
Prerrequisitos
- Node.js
- El módulo de solicitud para JavaScript. Puede usar el comando
npm install request
para instalar el módulo. - El módulo de datos de formulario. Puede usar el comando
npm install form-data
para instalar el módulo.
Creación de un recurso de Azure
Comience a usar la API Bing Visual Search mediante la creación de uno de los recursos de Azure que se indican a continuación:
- Disponible en Azure Portal hasta que lo elimine.
- Seleccione el plan de tarifa
S9
.
- Disponible en Azure Portal hasta que lo elimine.
- Utilice la misma clave y el mismo punto de conexión para sus aplicaciones en varios servicios de Azure AI.
Inicialización de la aplicación
Cree un archivo de JavaScript en el editor o el IDE que prefiera y establezca los siguientes requisitos:
var request = require('request'); var FormData = require('form-data'); var fs = require('fs');
Cree variables para el punto de conexión de API, la clave de suscripción y la ruta de acceso a la imagen. Para el valor
baseUri
puede usar el punto de conexión global en el código siguiente, o el punto de conexión del subdominio personalizado que se muestra en Azure Portal para el recurso.var baseUri = 'https://api.cognitive.microsoft.com/bing/v7.0/images/visualsearch'; var subscriptionKey = 'your-api-key'; var imagePath = "path-to-your-image";
Cree una función denominada
requestCallback()
para imprimir la respuesta de la API.function requestCallback(err, res, body) { console.log(JSON.stringify(JSON.parse(body), null, ' ')) }
Construcción y envío de la solicitud de búsqueda
Al cargar una imagen local, los datos del formulario deben incluir el encabezado
Content-Disposition
. Establezca su parámetroname
en "image", y el parámetrofilename
en el nombre de archivo de la imagen. El contenido del formulario incluye los datos binarios de la imagen. El tamaño de imagen máximo que puede cargar es 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--
Cree un objeto
FormData
conFormData()
, y anexe a él la ruta de acceso a la imagen mediantefs.createReadStream()
.var form = new FormData(); form.append("image", fs.createReadStream(imagePath));
Use la biblioteca de solicitudes para cargar la imagen y llame a
requestCallback()
para imprimir la respuesta. Agregue la clave de suscripción al encabezado de solicitud.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); });