Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Warnung
Am 30. Oktober 2020 wurden die Bing Search-APIs von Azure AI-Diensten zu Bing Search Services verschoben. Diese Dokumentation wird nur zur Referenz bereitgestellt. Eine aktualisierte Dokumentation finden Sie in der Dokumentation zu den Bing-Suche-APIs. Anweisungen zum Erstellen neuer Azure-Ressourcen für die Bing-Suche finden Sie unter Erstellen einer Ressource für die Bing-Suche über Azure Marketplace.
Verwenden Sie diese Schnellstartanleitung, um Ihren ersten Aufruf an die Bing Visual Search-API durchzuführen. Diese Java-Anwendung lädt ein Bild in die API hoch und zeigt die zurückgegebenen Informationen an. Obwohl diese Anwendung in Java geschrieben ist, ist die API ein RESTful-Webdienst, der mit den meisten Programmiersprachen kompatibel ist.
Voraussetzungen
Erstellen einer Azure-Ressource
Beginnen Sie mit der Verwendung der API für die visuelle Bing-Suche, indem Sie eine der folgenden Azure-Ressourcen erstellen:
- Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
- Wählen Sie den
S9-Tarif aus.
- Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
- Verwenden Sie denselben Schlüssel und Endpunkt für Ihre Anwendungen in mehreren Azure AI-Diensten.
Erstellen und Initialisieren eines Projekts
Erstellen Sie ein neues Java-Projekt in Ihrer bevorzugten IDE oder Ihrem Bevorzugten Editor, und importieren Sie die folgenden Bibliotheken:
import java.util.*; import java.io.*; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonObject; import com.google.gson.JsonParser; // HttpClient libraries import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder;Erstellen Sie Variablen für Den API-Endpunkt, den Abonnementschlüssel und den Pfad zu Ihrem Bild. Für den
endpointWert können Sie den globalen Endpunkt im folgenden Code verwenden oder die benutzerdefinierte Unterdomäne Endpunkt verwenden, der im Azure-Portal für Ihre Ressource angezeigt wird.static String endpoint = "https://api.cognitive.microsoft.com/bing/v7.0/images/visualsearch"; static String subscriptionKey = "your-key-here"; static String imagePath = "path-to-your-image";Wenn Sie ein lokales Bild hochladen, müssen die Formulardaten die
Content-DispositionKopfzeile enthalten. Legen Sie dennameParameter auf "image" fest, und legen Sie denfilenameParameter auf den Dateinamen des Bilds fest. Der Inhalt des Formulars enthält die Binärdaten des Bilds. Die maximale Bildgröße, die Sie hochladen können, beträgt 1 MB.--boundary_1234-abcd Content-Disposition: form-data; name="image"; filename="myimagefile.jpg" ÿØÿà JFIF ÖÆ68g-¤CWŸþ29ÌÄøÖ‘º«™æ±èuZiÀ)"óÓß°Î= ØJ9á+*G¦... --boundary_1234-abcd--
Erstellen des JSON-Parsers
Erstellen Sie eine Methode, um die JSON-Antwort aus der API besser lesbar zu machen, indem Sie dies verwenden JsonParser.
public static String prettify(String json_text) {
JsonParser parser = new JsonParser();
JsonObject json = parser.parse(json_text).getAsJsonObject();
Gson gson = new GsonBuilder().setPrettyPrinting().create();
return gson.toJson(json);
}
Erstellen der Suchanforderung und -abfrage
Erstellen Sie in der Hauptmethode Ihrer Anwendung einen HTTP-Client mithilfe von
HttpClientBuilder.create().build();.CloseableHttpClient httpClient = HttpClientBuilder.create().build();Erstellen Sie ein
HttpEntityObjekt, um Ihr Bild in die API hochzuladen.HttpEntity entity = MultipartEntityBuilder .create() .addBinaryBody("image", new File(imagePath)) .build();Erstellen Sie ein
httpPostObjekt mit Ihrem Endpunkt, und legen Sie den Header so fest, dass Ihr Abonnementschlüssel verwendet wird.HttpPost httpPost = new HttpPost(endpoint); httpPost.setHeader("Ocp-Apim-Subscription-Key", subscriptionKey); httpPost.setEntity(entity);
Empfangen und Verarbeiten der JSON-Antwort
Verwenden Sie die
HttpClient.execute()Methode, um eine Anforderung an die API zu senden und die Antwort in einemInputStreamObjekt zu speichern.HttpResponse response = httpClient.execute(httpPost); InputStream stream = response.getEntity().getContent();Speichern Sie die JSON-Zeichenfolge, und drucken Sie die Antwort.
String json = new Scanner(stream).useDelimiter("\\A").next(); System.out.println("\nJSON Response:\n"); System.out.println(prettify(json));