Cloud Translation 커넥터를 사용하여 일괄 번역 실행

이 튜토리얼에서는 Cloud Translation API 커넥터를 사용하여 비동기 배치 모드에서 파일을 다른 언어로 번역하는 워크플로를 만드는 방법을 보여줍니다. 이는 입력이 처리되는 동안 실시간 출력을 제공합니다.

입력 Cloud Storage 버킷 및 파일 만들기

Cloud Storage를 사용하여 객체를 저장할 수 있습니다. 객체는 모든 형식의 파일로 구성된 변경할 수 없는 데이터 조각이며 버킷이라고 하는 컨테이너에 저장됩니다.

  1. 번역할 파일을 저장할 Cloud Storage 버킷을 만듭니다.

    BUCKET_INPUT=${GOOGLE_CLOUD_PROJECT}-input-files
    gcloud storage buckets create gs://${BUCKET_INPUT}
  2. 영어로 파일 2개를 만들어 입력 버킷에 업로드합니다.

    echo "Hello World!" > file1.txt
    gcloud storage cp file1.txt gs://${BUCKET_INPUT}
    echo "Workflows connectors simplify calling services." > file2.txt
    gcloud storage cp file2.txt gs://${BUCKET_INPUT}

워크플로 배포 및 실행

워크플로 정의는 YAML 또는 JSON 형식으로 작성할 수 있는 Workflows 문법을 사용하여 기술되는 일련의 단계들로 구성됩니다. 이것이 워크플로의 정의입니다. 워크플로를 만든 후 실행에 사용할 수 있도록 워크플로를 배포합니다.

  1. 다음 콘텐츠가 포함된 파일 이름이 workflow.yaml인 텍스트 파일을 만듭니다.

    main:
      steps:
      - init:
          assign:
          - projectId: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
          - location: ${sys.get_env("GOOGLE_CLOUD_LOCATION")}
          - inputBucketName: ${projectId + "-input-files"}
          - outputBucketName: ${projectId + "-output-files-" + string(int(sys.now()))}
      - createOutputBucket:
            call: googleapis.storage.v1.buckets.insert
            args:
              project: ${projectId}
              body:
                name: ${outputBucketName}
      - batchTranslateText:
          call: googleapis.translate.v3beta1.projects.locations.batchTranslateText
          args:
              parent: ${"projects/" + projectId + "/locations/" + location}
              body:
                  inputConfigs:
                    gcsSource:
                      inputUri: ${"gs://" + inputBucketName + "/*"}
                  outputConfig:
                      gcsDestination:
                        outputUriPrefix: ${"gs://" + outputBucketName + "/"}
                  sourceLanguageCode: "en"
                  targetLanguageCodes: ["es", "fr"]
          result: batchTranslateTextResult

    이 워크플로는 변수를 할당하고 출력 버킷을 만든 다음 파일 번역을 시작하여 결과를 출력 버킷에 저장합니다.

  2. 워크플로를 만든 후 배포합니다.

    gcloud workflows deploy batch-translation --source=workflow.yaml
  3. 워크플로를 실행합니다.

    gcloud workflows execute batch-translation
  4. 워크플로 상태를 보려면 반환된 명령어를 실행하면 됩니다. 예를 들면 다음과 같습니다.

    gcloud workflows executions describe eb4a6239-cffa-4672-81d8-d4caef7d8424 /
      --workflow batch-translation /
      --location us-central1

    워크플로는 ACTIVE여야 합니다. 몇 분 후 번역된 파일(프랑스어 및 스페인어)이 출력 버킷에 업로드됩니다.

출력 버킷의 객체 나열

출력 버킷의 객체를 나열하여 워크플로가 예상대로 작동하는지 확인할 수 있습니다.

  1. 출력 버킷 이름을 검색합니다.

    gcloud storage ls

    출력은 다음과 비슷합니다.

    gs://PROJECT_ID-input-files/
    gs://PROJECT_ID-output-files-TIMESTAMP/

  2. 출력 버킷의 객체 나열

    gcloud storage ls gs://PROJECT_ID-output-files-TIMESTAMP/** --recursive

    몇 분 후 프랑스어와 스페인어로 번역된 파일 두 개가 나열됩니다.