다음을 통해 공유


빠른 시작: Azure AI Translator REST API

최신 버전의 Azure AI Translator를 사용해 보세요. 이 빠른 시작에서는 번역기 서비스를 사용하여 선택한 프로그래밍 언어 또는 REST API로 텍스트를 번역하기 시작합니다. 이 프로젝트의 경우 기술을 학습하는 동안 F0(무료 가격 책정 계층)을 사용하고 나중에 프로덕션용 유료 계층으로 업그레이드하는 것이 좋습니다.

필수 조건

활성 상태인 Azure 구독이 필요합니다. Azure 구독이 없는 경우 체험 구독을 만들 수 있습니다.

  • Azure 구독이 있으면 Azure Portal에서 Translator 리소스를 만듭니다.

  • 리소스가 배포된 후 리소스로 이동을 선택하고 키 및 엔드포인트를 찾아옵니다.

    • 만든 리소스의 키와 엔드포인트는 애플리케이션을 Translator 서비스에 연결하는 데 필요합니다. 키와 엔드포인트를 이 빠른 시작의 뒷부분에서 코드에 붙여넣습니다. Azure Portal 키 및 엔드포인트 페이지에서 다음 값을 찾을 수 있습니다.

      스크린샷: Azure Portal 키 및 엔드포인트 페이지.

      참고 항목

      • 이 빠른 시작에서는 Translator Text 단일 서비스 글로벌 리소스를 사용하는 것이 좋습니다.
      • 단일 서비스 글로벌 리소스를 사용하면 REST API 요청과 함께 하나의 권한 부여 헤더(Ocp-Apim-Subscription-key)를 포함하게 됩니다. Ocp-Apim-Subscription-key의 값은 Translator Text 구독에 대한 Azure 비밀 키입니다.
      • Azure AI 다중 서비스 또는 지역 Translator 리소스를 사용하도록 선택하는 경우 두 개의 인증 헤더(Ocp-Api-Subscription-KeyOcp-Apim-Subscription-Region)가 필요합니다. Ocp-Apim-Subscription-Region의 값은 구독과 연결된 지역입니다.
      • Ocp-Apim-Subscription-Region 헤더를 사용하는 방법에 대한 자세한 내용은 텍스트 번역 REST API 헤더참조하세요.

헤더

REST API를 통해 Translator 서비스를 호출하려면 다음 헤더를 각 요청에 포함해야 합니다. 걱정하지 마세요. 각 프로그래밍 언어에 대한 샘플 코드에 헤더를 포함할 것입니다.

Translator 인증 옵션에 대한 자세한 내용은 Translator v3 참조 가이드에서 확인하세요.

헤더 조건
Ocp-Apim-Subscription-Key Azure Portal의 Translator 서비스 키입니다. 필수
Ocp-Apim-Subscription-Region 리소스를 만든 지역입니다. 필수: Azure AI 다중 서비스 또는 지역(지리적) 리소스(예: 미국 서부)를 사용할 경우.
선택 사항: 단일 서비스 전역 Translator 리소스를 사용할 경우
Content-Type 페이로드의 콘텐츠 형식입니다. 허용되는 값은 application/json 또는 charset=UTF-8입니다. 필수
Content-Length 요청의 길이 본문입니다. 선택 사항

Important

완료되면 코드에서 키를 제거하고 공개적으로 게시하지 마세요. 프로덕션의 경우 Azure Key Vault와 같은 자격 증명을 안전하게 저장하고 액세스하는 방법을 사용합니다. 자세한 내용은 Azure AI 서비스 보안 문서를 참조하세요.

텍스트 번역

Translator 서비스의 핵심 작업은 텍스트를 번역하는 것입니다. 이 빠른 시작에서는 원하는 프로그래밍 언어를 사용하여 단일 원본(from)을 사용하고 두 개의 출력(to)을 제공하는 요청을 작성합니다. 그런 다음, 요청과 응답을 모두 조정하는 데 사용할 수 있는 몇 가지 매개 변수를 검토합니다.

Azure AI 번역기 서비스 요청 제한에 대한 자세한 내용은 텍스트 번역 요청 제한참조하세요.

Visual Studio 프로젝트 설정

  1. 현재 버전의 Visual Studio IDE가 있는지 확인합니다.

    Visual Studio를 처음 사용하는 경우 Visual Studio 소개 Learn 모듈을 사용해 보세요.

  2. Visual Studio를 엽니다.

  3. 시작 페이지에서 새 프로젝트 만들기를 선택합니다.

    스크린샷: Visual Studio 시작 창

  4. 새 프로젝트 만들기 페이지의 검색 상자에서 콘솔을 입력합니다. 콘솔 애플리케이션 템플릿을 선택하고, 다음을 선택합니다.

    스크린샷: Visual Studio의 새 프로젝트 만들기 페이지

  5. 새 프로젝트 구성 대화 상자 창의 [프로젝트 이름] 상자에서 translator_quickstart를 입력합니다. "동일한 디렉터리에 솔루션 및 프로젝트 배치" 확인란을 선택 취소한 상태로 두고 다음을 선택합니다.

    스크린샷: Visual Studio의 새 프로젝트 구성 대화 상자 창

  6. 추가 정보 대화 상자 창에서 .NET 6.0(장기 지원)이 선택되어 있는지 확인합니다. "최상위 문 사용 안 함" 확인란을 선택 취소하고 만들기를 선택합니다.

    스크린샷: Visual Studio의 추가 정보 대화 상자 창

NuGet을 사용하여 Newtonsoft.json 패키지 설치

  1. translator_quickstart 프로젝트를 마우스 오른쪽 단추로 클릭하고 NuGet 패키지 관리...를 선택합니다.

    NuGet 패키지 검색 상자의 스크린샷

  2. 찾아보기 탭을 선택하고 Newtonsoft.json을 입력합니다.

    NuGet 패키지 설치 창의 스크린샷

  3. 오른쪽 패키지 관리자 창에서 설치를 선택하여 프로젝트에 패키지를 추가합니다.

    NuGet 패키지 설치 단추의 스크린샷

C# 애플리케이션 빌드

참고 항목

  • .NET 6부터 console 템플릿을 사용하는 새 프로젝트는 이전 버전과 다른 새 프로그램 스타일을 생성합니다.
  • 새 출력에서는 작성해야 하는 코드를 간소화하는 최신 C# 기능을 사용합니다.
  • 최신 버전을 사용하는 경우 Main 메서드 본문을 작성하기만 하면 됩니다. 최상위 문, 전역 using 지시문 또는 암시적 using 지시문을 포함할 필요가 없습니다.
  • 자세한 내용은 최상위 문을 생성하는 새 C# 템플릿참조하세요.
  1. Program.cs 파일을 엽니다.

  2. Console.WriteLine("Hello World!") 줄을 포함하여 기존 코드를 삭제합니다. 코드 샘플을 복사하여 애플리케이션의 Program.cs 파일에 붙여넣습니다. 키 변수를 Azure Portal Translator 인스턴스의 값으로 업데이트해야 합니다.

using System.Text;
using Newtonsoft.Json;

class Program
{
    private static readonly string key = "<your-translator-key>";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com";

    // location, also known as region.
    // required if you're using a multi-service or regional (not global) resource. It can be found in the Azure portal on the Keys and Endpoint page.
    private static readonly string location = "<YOUR-RESOURCE-LOCATION>";

    static async Task Main(string[] args)
    {
        // Input and output languages are defined as parameters.
        string route = "/translate?api-version=3.0&from=en&to=fr&to=zu";
        string textToTranslate = "I would really like to drive your car around the block a few times!";
        object[] body = new object[] { new { Text = textToTranslate } };
        var requestBody = JsonConvert.SerializeObject(body);

        using (var client = new HttpClient())
        using (var request = new HttpRequestMessage())
        {
            // Build the request.
            request.Method = HttpMethod.Post;
            request.RequestUri = new Uri(endpoint + route);
            request.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
            request.Headers.Add("Ocp-Apim-Subscription-Key", key);
            // location required if you're using a multi-service or regional (not global) resource.
            request.Headers.Add("Ocp-Apim-Subscription-Region", location);

            // Send the request and get response.
            HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false);
            // Read response as a string.
            string result = await response.Content.ReadAsStringAsync();
            Console.WriteLine(result);
        }
    }
}

C# 애플리케이션 실행

애플리케이션에 코드 샘플을 추가한 후 formRecognizer_quickstart 옆에 있는 녹색 시작 단추를 선택하여 프로그램을 빌드하고 실행하거나 F5를 누릅니다.

Visual Studio의 프로그램 실행 단추 스크린샷

번역 출력:

성공적으로 호출되면 다음과 같은 응답이 표시됩니다.

[
    {
        "detectedLanguage": {
            "language": "en",
            "score": 1.0
        },
        "translations": [
            {
                "text": "J'aimerais vraiment conduire votre voiture autour du pâté de maisons plusieurs fois!",
                "to": "fr"
            },
            {
                "text": "Ngingathanda ngempela ukushayela imoto yakho endaweni evimbelayo izikhathi ezimbalwa!",
                "to": "zu"
            }
        ]
    }
]

다음 단계

완료되었습니다. 축하합니다! Translator 서비스를 사용하여 텍스트를 번역하는 방법을 알아보았습니다.

방법 설명서를 살펴보고 Translation 서비스 기능에 대해 자세히 알아봅니다.