Quickstart: Afbeeldingsinzichten krijgen met behulp van de Bing Visual Search REST-API en Node.js
Waarschuwing
Op 30 oktober 2020 zijn de Zoeken in Bing API's verplaatst van Azure AI-services naar Zoeken in Bing Services. Deze documentatie is alleen bedoeld ter referentie. Zie de bing-documentatie voor zoeken-API voor bijgewerkte documentatie. Zie Een Zoeken in Bing-resource maken via de Azure Marketplace voor instructies over het maken van nieuwe Azure-resources voor Bing Search.
Gebruik deze quickstart om uw eerste aanroep naar de Bing Visual Search-API te maken. Met deze eenvoudige JavaScript-toepassing wordt er een afbeelding naar de API geüpload, waarna de geretourneerde gegevens van de afbeelding worden weergegeven. Hoewel deze toepassing in JavaScript is geschreven, is de API een RESTful-webservice die compatibel is met vrijwel elke programmeertaal.
Vereisten
- Node.js
- De Request-module voor JavaScript. U kunt de opdracht
npm install request
gebruiken om de module te installeren. - The module form-data. U kunt de opdracht
npm install form-data
gebruiken om de module te installeren.
Een Azure-resource maken
Begin met het gebruik van de Bing Visual Search-API door een van de volgende Azure-resources te maken:
- Beschikbaar via de Azure-portal totdat u de resource verwijdert.
- Controleer de prijscategorie
S9
.
Resource met meerdere services
- Beschikbaar via de Azure-portal totdat u de resource verwijdert.
- Gebruik dezelfde sleutel en hetzelfde eindpunt voor uw toepassingen, in meerdere Azure AI-services.
De toepassing initialiseren
Maak een JavaScript-bestand in uw favoriete IDE of editor en stel de volgende vereisten in:
var request = require('request'); var FormData = require('form-data'); var fs = require('fs');
Maak variabelen voor uw API-eindpunt, abonnementssleutel en het pad naar uw afbeelding. Voor de
baseUri
-waarde kunt u het globale eindpunt in de volgende code gebruiken of het eindpunt voor het aangepaste subdomein gebruiken dat voor uw resource wordt weergegeven in de Azure-portal.var baseUri = 'https://api.cognitive.microsoft.com/bing/v7.0/images/visualsearch'; var subscriptionKey = 'your-api-key'; var imagePath = "path-to-your-image";
Maak een functie met de naam
requestCallback()
om het antwoord van de API weer te geven.function requestCallback(err, res, body) { console.log(JSON.stringify(JSON.parse(body), null, ' ')) }
De zoekaanvraag samenstellen en verzenden
Wanneer u een lokale afbeelding uploadt, moeten de formuliergegevens de header
Content-Disposition
bevatten. Stel de parametername
in op 'afbeelding' en stel de parameterfilename
in op de bestandsnaam van de afbeelding. De inhoud van het formulier bevat de binaire gegevens van de afbeelding. De maximale afbeeldingsgrootte die u kunt uploaden is 1 MB.--boundary_1234-abcd Content-Disposition: form-data; name="image"; filename="myimagefile.jpg" ÿØÿà JFIF ÖÆ68g-¤CWŸþ29ÌÄøÖ‘º«™æ±èuZiÀ)"óÓß°Î= ØJ9á+*G¦... --boundary_1234-abcd--
Maak een nieuw
FormData
-object metFormData()
en voeg het afbeeldingspad hieraan toe met behulp vanfs.createReadStream()
.var form = new FormData(); form.append("image", fs.createReadStream(imagePath));
Gebruik de aanvragenbibliotheek om de afbeelding te uploaden en roep
requestCallback()
aan om het antwoord weer te geven. Voeg de abonnementssleutel toen aan de aanvraagheader.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); });