Szybki start: uzyskiwanie szczegółowych informacji o obrazach przy użyciu interfejsu API REST wyszukiwania wizualnego Bing i Node.js
Ostrzeżenie
30 października 2020 r. interfejsy API Wyszukiwanie Bing zostały przeniesione z usług Azure AI do usług Wyszukiwanie Bing Services. Ta dokumentacja jest udostępniana tylko do celów referencyjnych. Aby uzyskać zaktualizowaną dokumentację, zobacz dokumentację interfejsu API wyszukiwania Bing. Aby uzyskać instrukcje dotyczące tworzenia nowych zasobów platformy Azure na potrzeby wyszukiwania Bing, zobacz Tworzenie zasobu Wyszukiwanie Bing za pośrednictwem Azure Marketplace.
Użyj tego przewodnika Szybki start, aby wykonać pierwsze wywołanie interfejsu API wyszukiwania wizualnego Bing. Ta prosta aplikacja JavaScript przekazuje obraz do interfejsu API i wyświetla zwrócone informacje na jego temat. Mimo że ta aplikacja jest napisana w języku JavaScript, interfejs API jest usługą internetową zgodną ze standardem RESTful z większością języków programowania.
Wymagania wstępne
- Node.js
- Moduł Request dla języka JavaScript. Aby zainstalować moduł, możesz użyć
npm install request
polecenia . - Moduł form-data. Aby zainstalować moduł, możesz użyć
npm install form-data
polecenia .
Tworzenie zasobu platformy Azure
Zacznij korzystać z interfejsu API wyszukiwania wizualnego Bing, tworząc jeden z następujących zasobów platformy Azure:
zasób Wyszukiwanie Bing w wersji 7
- Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
- Wybierz warstwę cenową
S9
.
- Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
- Użyj tego samego klucza i punktu końcowego dla aplikacji w wielu usługach azure AI.
Inicjowanie aplikacji
Utwórz plik JavaScript w ulubionym środowisku IDE lub edytorze i ustaw następujące wymagania:
var request = require('request'); var FormData = require('form-data'); var fs = require('fs');
Utwórz zmienne dla punktu końcowego interfejsu API, klucz subskrypcji oraz ścieżkę obrazu.
baseUri
Dla wartości można użyć globalnego punktu końcowego w poniższym kodzie lub użyć niestandardowego punktu końcowego poddomeny wyświetlanego w Azure Portal dla zasobu.var baseUri = 'https://api.cognitive.microsoft.com/bing/v7.0/images/visualsearch'; var subscriptionKey = 'your-api-key'; var imagePath = "path-to-your-image";
Utwórz funkcję o nazwie
requestCallback()
, aby wydrukować odpowiedź z interfejsu API.function requestCallback(err, res, body) { console.log(JSON.stringify(JSON.parse(body), null, ' ')) }
Tworzenie i wysyłanie żądania wyszukiwania
Podczas przekazywania obrazu lokalnego dane formularza muszą zawierać
Content-Disposition
nagłówek. Ustaw parametrname
na wartość "image" i ustawfilename
parametr na nazwę pliku obrazu. Zawartość formularza zawiera dane binarne obrazu. Maksymalny rozmiar obrazu, który można przekazać, wynosi 1 MB.--boundary_1234-abcd Content-Disposition: form-data; name="image"; filename="myimagefile.jpg" ÿØÿà JFIF ÖÆ68g-¤CWŸþ29ÌÄøÖ‘º«™æ±èuZiÀ)"óÓß°Î= ØJ9á+*G¦... --boundary_1234-abcd--
Utwórz nowy
FormData
obiekt z elementemFormData()
i dołącz do niego ścieżkę obrazu przy użyciu poleceniafs.createReadStream()
.var form = new FormData(); form.append("image", fs.createReadStream(imagePath));
Użyj biblioteki żądań, aby przekazać obraz, i wywołaj metodę
requestCallback()
, aby wydrukować odpowiedź. Dodaj klucz subskrypcji do nagłówka żądania.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); });