빠른 시작: Bing Image Search 클라이언트 라이브러리 사용
경고
2020년 10월 30일에 Bing Search API가 Azure AI 서비스에서 Bing Search Services로 이동되었습니다. 이 문서는 참조용으로만 제공됩니다. 업데이트된 문서는 Bing search API 문서를 참조하세요. Bing 검색을 위한 새 Azure 리소스 만들기에 대한 지침은 Azure Marketplace를 통해 Bing Search 리소스 만들기를 참조하세요.
이 빠른 시작을 통해 Bing Image Search 클라이언트 라이브러리를 사용하여 첫 번째 이미지 검색을 수행합니다.
클라이언트 검색 라이브러리는 REST API에 대한 래퍼로, 동일한 기능을 포함합니다.
C# 애플리케이션을 만들어 이미지 검색 쿼리를 보내고, JSON 응답을 구문 분석하고, 반환된 첫 번째 이미지의 URL을 표시합니다.
사전 요구 사항
- Windows를 사용하는 경우 Visual Studio 2017 이상의 모든 버전
- macOS 또는 Linux를 사용하는 경우 .NET Core가 설치된VS Code
- 평가판 Azure 구독
Azure AI 서비스 가격 책정 - Bing Search API도 참조하세요.
콘솔 프로젝트 만들기
먼저 새 C# 콘솔 애플리케이션을 만듭니다.
Visual Studio에서 BingImageSearch라는 새 콘솔 솔루션을 만듭니다.
Cognitive Image Search NuGet 패키지 추가
- 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭합니다.
- NuGet 패키지 관리를 선택합니다.
- Microsoft.Azure.CognitiveServices.Search.ImageSearch를 검색하여 선택한 다음, 패키지를 설치합니다.
애플리케이션 초기화
Program.cs의 모든
using
문을 다음 코드로 바꿉니다.using System; using System.Linq; using Microsoft.Azure.CognitiveServices.Search.ImageSearch; using Microsoft.Azure.CognitiveServices.Search.ImageSearch.Models;
프로젝트의
Main
메서드에서 유효한 구독 키에 대한 변수, Bing에서 반환할 이미지 및 검색어를 만듭니다. 그런 다음, 키를 사용하여 이미지 검색 클라이언트를 인스턴스화합니다.static async Task Main(string[] args) { //IMPORTANT: replace this variable with your Cognitive Services subscription key string subscriptionKey = "ENTER YOUR KEY HERE"; //stores the image results returned by Bing Images imageResults = null; // the image search term to be used in the query string searchTerm = "canadian rockies"; //initialize the client //NOTE: If you're using version 1.2.0 or below for the Bing Image Search client library, // use ImageSearchAPI() instead of ImageSearchClient() to initialize your search client. var client = new ImageSearchClient(new ApiKeyServiceClientCredentials(subscriptionKey)); }
클라이언트를 사용하여 검색 쿼리 보내기
여전히 Main
메서드에서 클라이언트를 사용하여 쿼리 텍스트를 검색합니다.
// make the search request to the Bing Image API, and get the results"
imageResults = await client.Images.SearchAsync(query: searchTerm).Result; //search query
첫 번째 이미지 결과 구문 분석 및 보기
응답에서 반환된 이미지 결과를 구문 분석합니다.
응답에 검색 결과가 포함된 경우 첫 번째 결과를 저장하고 세부 정보 중 일부를 출력합니다.
if (imageResults != null)
{
//display the details for the first image result.
var firstImageResult = imageResults.Value.First();
Console.WriteLine($"\nTotal number of returned images: {imageResults.Value.Count}\n");
Console.WriteLine($"Copy the following URLs to view these images on your browser.\n");
Console.WriteLine($"URL to the first image:\n\n {firstImageResult.ContentUrl}\n");
Console.WriteLine($"Thumbnail URL for the first image:\n\n {firstImageResult.ThumbnailUrl}");
Console.WriteLine("Press any key to exit ...");
Console.ReadKey();
}
다음 단계
참고 항목
이 빠른 시작을 통해 API에 대한 래퍼이며 동일한 기능을 포함하는 Bing Image Search 클라이언트 라이브러리를 사용하여 첫 번째 이미지 검색을 수행합니다. 이 간단한 Java 애플리케이션은 이미지 검색 쿼리를 보내고 JSON 응답을 구문 분석하고 반환된 첫 번째 이미지의 URL을 표시합니다.
필수 구성 요소
JDK(Java Development Kit)의 최신 버전
Maven, Gradle 또는 기타 종속성 관리 시스템을 사용하여 Bing Image Search 클라이언트 라이브러리 종속성을 설치합니다. Maven POM 파일에는 다음 선언이 필요합니다.
<dependencies>
<dependency>
<groupId>com.microsoft.azure.cognitiveservices</groupId>
<artifactId>azure-cognitiveservices-imagesearch</artifactId>
<version>1.0.1</version>
</dependency>
</dependencies>
애플리케이션 만들기 및 초기화
즐겨찾는 IDE 또는 편집기에서 새 Java 프로젝트를 만들고 다음 가져오기를 클래스 구현에 추가합니다.
import com.microsoft.azure.cognitiveservices.search.imagesearch.BingImageSearchAPI; import com.microsoft.azure.cognitiveservices.search.imagesearch.BingImageSearchManager; import com.microsoft.azure.cognitiveservices.search.imagesearch.models.ImageObject; import com.microsoft.azure.cognitiveservices.search.imagesearch.models.ImagesModel;
주 메서드에서 구독 키 및 검색 용어에 대한 변수를 만듭니다. 그런 다음, Bing Image Search 클라이언트를 인스턴스화합니다.
final String subscriptionKey = "COPY_YOUR_KEY_HERE"; String searchTerm = "canadian rockies"; //Image search client BingImageSearchAPI client = BingImageSearchManager.authenticate(subscriptionKey);
API에 검색 요청 보내기
bingImages().search()
를 사용하여 검색 쿼리를 포함하는 HTTP 요청을 보냅니다. 응답을ImagesModel
로 저장합니다.ImagesModel imageResults = client.bingImages().search() .withQuery(searchTerm) .withMarket("en-us") .execute();
결과 구문 분석 및 보기
응답에서 반환된 이미지 결과를 구문 분석합니다. 응답에 검색 결과가 포함된 경우 첫 번째 결과를 저장하고 반환된 총 이미지 수와 함께 썸네일 URL, 원래 URL과 같은 세부 정보를 출력합니다.
if (imageResults != null && imageResults.value().size() > 0) {
// Image results
ImageObject firstImageResult = imageResults.value().get(0);
System.out.println(String.format("Total number of images found: %d", imageResults.value().size()));
System.out.println(String.format("First image thumbnail url: %s", firstImageResult.thumbnailUrl()));
System.out.println(String.format("First image content url: %s", firstImageResult.contentUrl()));
}
else {
System.out.println("Couldn't find image results!");
}
다음 단계
참고 항목
이 빠른 시작을 통해 API에 대한 래퍼이며 동일한 기능을 포함하는 Bing Image Search 클라이언트 라이브러리를 사용하여 첫 번째 이미지 검색을 수행합니다. 이 간단한 JavaScript 애플리케이션은 이미지 검색 쿼리를 보내고 JSON 응답을 구문 분석하고 반환된 첫 번째 이미지의 URL을 표시합니다.
필수 구성 요소
- 최신 버전의 Node.js.
-
JavaScript용 Bing Image Search SDK
- 설치하려면
npm install @azure/cognitiveservices-imagesearch
를 실행합니다.
- 설치하려면
- 클라이언트를 인증하는
@azure/ms-rest-azure-js
패키지의CognitiveServicesCredentials
클래스입니다.- 설치하려면
npm install @azure/ms-rest-azure-js
를 실행합니다.
- 설치하려면
애플리케이션 만들기 및 초기화
즐겨 찾는 IDE 또는 편집기에서 새 JavaScript 파일을 만들고 엄격성, https 및 기타 요구 사항을 설정합니다.
'use strict'; const ImageSearchAPIClient = require('@azure/cognitiveservices-imagesearch'); const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials;
프로젝트의 주요 메서드에서 유효한 구독 키에 대한 변수, Bing에서 반환할 이미지 및 검색어를 만듭니다. 그런 다음, 키를 사용하여 이미지 검색 클라이언트를 인스턴스화합니다.
//replace this value with your valid subscription key. let serviceKey = "ENTER YOUR KEY HERE"; //the search term for the request let searchTerm = "canadian rockies"; //instantiate the image search client let credentials = new CognitiveServicesCredentials(serviceKey); let imageSearchApiClient = new ImageSearchAPIClient(credentials);
비동기 도우미 함수 만들기
클라이언트를 비동기적으로 호출할 함수를 만들고 Bing Image Search 서비스에서 응답을 반환합니다.
// a helper function to perform an async call to the Bing Image Search API const sendQuery = async () => { return await imageSearchApiClient.imagesOperations.search(searchTerm); };
쿼리 보내기 및 응답 처리
도우미 함수를 호출하고 해당
promise
를 처리하여 응답에서 반환되는 이미지 결과를 구문 분석합니다.응답에 검색 결과가 포함된 경우 첫 번째 결과를 저장하고 반환된 총 이미지 수와 함께 썸네일 URL, 원래 URL과 같은 세부 정보를 출력합니다.
sendQuery().then(imageResults => { if (imageResults == null) { console.log("No image results were found."); } else { console.log(`Total number of images returned: ${imageResults.value.length}`); let firstImageResult = imageResults.value[0]; //display the details for the first image result. After running the application, //you can copy the resulting URLs from the console into your browser to view the image. console.log(`Total number of images found: ${imageResults.value.length}`); console.log(`Copy these URLs to view the first image returned:`); console.log(`First image thumbnail url: ${firstImageResult.thumbnailUrl}`); console.log(`First image content url: ${firstImageResult.contentUrl}`); } }) .catch(err => console.error(err))
다음 단계
참고 항목
이 빠른 시작을 통해 API에 대한 래퍼이며 동일한 기능을 포함하는 Bing Image Search 클라이언트 라이브러리를 사용하여 첫 번째 이미지 검색을 수행합니다. 이 간단한 Python 애플리케이션은 이미지 검색 쿼리를 보내고 JSON 응답을 구문 분석하고 반환된 첫 번째 이미지의 URL을 표시합니다.
필수 구성 요소
Python용 Azure Image Search 클라이언트 라이브러리
-
pip install azure-cognitiveservices-search-imagesearch
를 사용하여 설치
-
애플리케이션 만들기 및 초기화
즐겨 찾는 IDE 또는 편집기에서 새 Python 스크립트를 만들고 다음 가져오기를 만듭니다.
from azure.cognitiveservices.search.imagesearch import ImageSearchClient from msrest.authentication import CognitiveServicesCredentials
구독 키 및 검색 용어에 대한 변수를 만듭니다.
subscription_key = "Enter your key here" subscription_endpoint = "Enter your endpoint here" search_term = "canadian rockies"
이미지 검색 클라이언트 만들기
CognitiveServicesCredentials
인스턴스를 만들고 이 인스턴스를 사용하여 클라이언트를 인스턴스화합니다.client = ImageSearchClient(endpoint=subscription_endpoint, credentials=CognitiveServicesCredentials(subscription_key))
검색 쿼리를 Bing Image Search API에 보냅니다.
image_results = client.images.search(query=search_term)
결과 처리 및 보기
응답에서 반환된 이미지 결과를 구문 분석합니다.
응답에 검색 결과가 포함된 경우 첫 번째 결과를 저장하고 반환된 총 이미지 수와 함께 썸네일 URL, 원래 URL과 같은 세부 정보를 출력합니다.
if image_results.value:
first_image_result = image_results.value[0]
print("Total number of images returned: {}".format(len(image_results.value)))
print("First image thumbnail url: {}".format(
first_image_result.thumbnail_url))
print("First image content url: {}".format(first_image_result.content_url))
else:
print("No image results returned!")