Google 제공 스트리밍 템플릿

Google은 오픈소스 Cloud Dataflow 템플릿 모음을 제공합니다. 템플릿에 대한 일반 정보는 개요 페이지를 참조하세요. 모든 Google 제공 템플릿 목록은 Google 제공 템플릿 시작 페이지를 참조하세요.

이 페이지는 스트리밍 템플릿을 다룹니다.

Cloud Pub/Sub Subscription to BigQuery

Cloud Pub/Sub Subscription to BigQuery 템플릿은 Cloud Pub/Sub 구독에서 JSON 형식의 메시지를 읽고 BigQuery 테이블에 쓰는 스트리밍 파이프라인입니다. 이 템플릿은 Cloud Pub/Sub 데이터를 BigQuery로 이동하는 간편한 솔루션으로 사용할 수 있습니다. 이 템플릿은 Cloud Pub/Sub에서 JSON 형식의 메시지를 읽고 BigQuery 요소로 변환합니다.

파이프라인 요구사항

  • Cloud Pub/Sub 메시지가 여기에 설명된 대로 JSON 형식이어야 합니다. 예를 들어 {"k1":"v1", "k2":"v2"} 형식으로 된 메시지는 k1k2라는 두 개의 열 그리고 문자열 데이터 유형으로 BigQuery 테이블에 삽입될 수 있습니다.
  • 파이프라인을 실행하기 전에 출력 테이블이 있어야 합니다.

템플릿 매개변수

매개변수 설명
inputSubscription 읽을 Cloud Pub/Sub 입력 구독으로, projects/<project>/subscriptions/<subscription> 형식입니다.
outputTableSpec BigQuery 출력 테이블 위치로, <my-project>:<my-dataset>.<my-table> 형식입니다.

Cloud Pub/Sub Subscription to BigQuery 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 the Cloud Pub/Sub Subscription to BigQuery template을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 있어야 합니다.

이 템플릿을 실행할 때 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/PubSub_Subscription_to_BigQuery

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_SUBSCRIPTION_NAME을 Cloud Pub/Sub 구독 이름으로 바꿉니다.
  • YOUR_DATASET를 BigQuery 데이터세트로 바꾸고 YOUR_TABLE_NAME을 BigQuery 테이블 이름으로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/PubSub_Subscription_to_BigQuery \
    --parameters \
inputSubscription=projects/YOUR_PROJECT_ID/subscriptions/YOUR_SUBSCRIPTION_NAME,\
outputTableSpec=YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME

API

REST API에서 실행

이 템플릿을 실행할 때 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/PubSub_Subscription_to_BigQuery

REST API 요청으로 이 템플릿을 실행하려면 프로젝트 ID와 함께 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_SUBSCRIPTION_NAME을 Cloud Pub/Sub 구독 이름으로 바꿉니다.
  • YOUR_DATASET를 BigQuery 데이터세트로 바꾸고 YOUR_TABLE_NAME을 BigQuery 테이블 이름으로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/PubSub_Subscription_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputSubscription": "projects/YOUR_PROJECT_ID/subscriptions/YOUR_SUBSCRIPTION_NAME",
       "outputTableSpec": "YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Pub/Sub Topic to BigQuery

Cloud Pub/Sub Topic to BigQuery 템플릿은 Cloud Pub/Sub 주제에서 JSON 형식의 메시지를 읽고 BigQuery 테이블에 쓰는 스트리밍 파이프라인입니다. 이 템플릿은 Cloud Pub/Sub 데이터를 BigQuery로 이동하는 간편한 솔루션으로 사용할 수 있습니다. 이 템플릿은 Cloud Pub/Sub에서 JSON 형식의 메시지를 읽고 BigQuery 요소로 변환합니다.

파이프라인 요구사항

  • Cloud Pub/Sub 메시지가 여기에 설명된 대로 JSON 형식이어야 합니다. 예를 들어 {"k1":"v1", "k2":"v2"} 형식으로 된 메시지는 k1k2라는 두 개의 열 그리고 문자열 데이터 유형으로 BigQuery 테이블에 삽입될 수 있습니다.
  • 파이프라인을 실행하기 전에 출력 테이블이 있어야 합니다.

템플릿 매개변수

매개변수 설명
inputTopic 읽을 Cloud Pub/Sub 입력 주제로, projects/<project>/topics/<topic> 형식입니다.
outputTableSpec BigQuery 출력 테이블 위치로, <my-project>:<my-dataset>.<my-table> 형식입니다.

Cloud Pub/Sub Topic to BigQuery 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 the Cloud Pub/Sub Topic to BigQuery template을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 있어야 합니다.

이 템플릿을 실행할 때 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/PubSub_to_BigQuery

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_DATASET를 BigQuery 데이터세트로 바꾸고 YOUR_TABLE_NAME을 BigQuery 테이블 이름으로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/PubSub_to_BigQuery \
    --parameters \
inputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME,\
outputTableSpec=YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME

API

REST API에서 실행

이 템플릿을 실행할 때 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/PubSub_to_BigQuery

REST API 요청으로 이 템플릿을 실행하려면 프로젝트 ID와 함께 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_DATASET를 BigQuery 데이터세트로 바꾸고 YOUR_TABLE_NAME을 BigQuery 테이블 이름으로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/PubSub_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME",
       "outputTableSpec": "YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Pub/Sub to Cloud Pub/Sub

Cloud Pub/Sub to Cloud Pub/Sub 템플릿은 Cloud Pub/Sub 구독에서 메시지를 읽고 다른 Cloud Pub/Sub 주제에 해당 메시지를 쓰는 스트리밍 파이프라인입니다. 이 파이프라인은 선택적 메시지 속성 키 및 Cloud Pub/Sub 주제에 써야 하는 메시지를 필터링하는 데 사용할 수 있는 값을 허용합니다. 이 템플릿을 사용하면 선택적 메시지 필터를 사용하여 Cloud Pub/Sub 구독에서 다른 Cloud Pub/Sub 주제로 메시지를 복사할 수 있습니다.

이 파이프라인의 요구사항:

  • 실행하기 전에 소스 Cloud Pub/Sub 구독이 있어야 합니다.
  • 실행하기 전에 대상 Cloud Pub/Sub 주제가 있어야 합니다.

템플릿 매개변수

매개변수 설명
inputSubscription 입력을 읽을 Cloud Pub/Sub 구독입니다. 예를 들면 projects/<project-id>/subscriptions/<subscription-name>입니다.
outputTopic 출력을 작성할 Cloud Pub/Sub 주제입니다. 예를 들면 projects/<project-id>/topics/<topic-name>입니다.
filterKey [선택사항] 속성 키를 기반으로 하는 필터 이벤트입니다. filterKey가 지정되지 않은 경우 필터가 적용되지 않습니다.
filterValue [선택사항] filterKey가 제공된 경우에 사용하는 필터 속성 값입니다. 기본적으로 null인 filterValue가 사용됩니다.

Cloud Pub/Sub to Cloud Pub/Sub 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Pub/Sub to Cloud Pub/Sub 템플릿을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 있어야 합니다.

이 템플릿을 실행할 때 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_PubSub_to_Cloud_PubSub

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_SUBSCRIPTION_NAME을 Cloud Pub/Sub 구독 이름으로 바꿉니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • FILTER_KEY를 메시지를 필터링할 속성 키 이름으로 바꿉니다.
  • FILTER_VALUE를 속성 값으로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cloud_PubSub_to_Cloud_PubSub \
    --parameters \
inputSubscription=projects/YOUR_PROJECT_ID/subscriptions/YOUR_SUBSCRIPTION_NAME,\
outputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME,\
filterKey=FILTER_KEY,\
filterValue=FILTER_VALUE

API

REST API에서 실행

이 템플릿을 실행할 때 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_PubSub_to_Cloud_PubSub

REST API 요청으로 이 템플릿을 실행하려면 프로젝트 ID와 함께 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_SUBSCRIPTION_NAME을 Cloud Pub/Sub 구독 이름으로 바꿉니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • FILTER_KEY를 메시지를 필터링할 속성 키 이름으로 바꿉니다.
  • FILTER_VALUE를 속성 값으로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_PubSub_to_Cloud_PubSub
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputSubscription": "projects/YOUR_PROJECT_ID/subscriptions/YOUR_SUBSCRIPTION_NAME",
       "outputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME",
       "filterKey": "FILTER_KEY",
       "filterValue": "FILTER_VALUE"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Pub/Sub to Cloud Storage Avro

Cloud Pub/Sub to Cloud Storage Avro 템플릿은 Cloud Pub/Sub 주제에서 데이터를 읽고 Avro 파일을 지정된 Cloud Storage 버킷에 쓰는 스트리밍 파이프라인입니다. 이 파이프라인은 기간이 설정된 쓰기를 수행하는 데 사용하도록 선택적으로 사용자가 제공한 윈도우 기간을 지원합니다.

이 파이프라인의 요구사항:

  • 파이프라인을 실행하기 전에 입력 Cloud Pub/Sub 주제가 있어야 합니다.

템플릿 매개변수

매개변수 설명
inputTopic 메시지 소비를 위해 구독할 Cloud Pub/Sub 주제입니다. 주제 이름은 projects/<project-id>/topics/<topic-name> 형식이어야 합니다.
outputDirectory 출력 Avro 파일이 보관처리되는 출력 디렉토리입니다. 마지막에 /를 추가하세요. 예를 들면 gs://example-bucket/example-directory/입니다.
avroTempDirectory 임시 Avro 파일의 디렉토리입니다. 마지막에 /를 추가하세요. 예를 들면 gs://example-bucket/example-directory/입니다.
outputFilenamePrefix [선택사항] Avro 파일의 출력 파일 이름 프리픽스입니다.
outputFilenameSuffix [선택사항] Avro 파일의 출력 파일 이름 서픽스입니다.
outputShardTemplate [선택사항] 출력 파일의 분할 템플릿입니다. 문자 'S' 또는 'N'의 반복 시퀀스로 지정됩니다(예: SSS-NNN). 이는 각각 분할 번호 또는 분할 개수로 바뀝니다. 이 매개변수가 지정되지 않은 경우 기본 템플릿 형식은 'W-P-SS-of-NN'입니다.
numShards [선택사항] 쓰는 동안 생성된 출력 분할의 최대 개수입니다.기본 최대 분할 개수는 1입니다.
windowDuration [선택사항] 데이터를 쓸 윈도우 기간입니다. 기본값은 5m입니다. 허용된 형식은 Ns(초, 예: 5s), Nm(분, 예: 12m), Nh(시,예: 2h)입니다.

Cloud Pub/Sub to Cloud Storage Avro 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Pub/Sub to Cloud Storage Avro 템플릿을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 있어야 합니다.

이 템플릿을 실행할 때 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_PubSub_to_Avro

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
  • FILENAME_PREFIX를 선호하는 출력 파일 이름 프리픽스로 바꿉니다.
  • FILENAME_SUFFIX를 선호하는 출력 파일 이름 서픽스로 바꿉니다.
  • SHARD_TEMPLATE을 선호하는 출력 공유 템플릿으로 바꿉니다.
  • NUM_SHARDS를 출력 분할 개수로 바꿉니다.
  • WINDOW_DURATION을 출력 윈도우 기간으로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cloud_PubSub_to_Avro \
    --parameters \
inputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME,\
outputDirectory=gs://YOUR_BUCKET_NAME/output/,\
avroTempDirectory=gs://YOUR_BUCKET_NAME/temp/,\
outputFilenamePrefix=FILENAME_PREFIX,\
outputFilenameSuffix=FILENAME_SUFFIX,\
outputShardTemplate=SHARD_TEMPLATE,\
numShards=NUM_SHARDS,\
windowDuration=WINDOW_DURATION

API

REST API에서 실행

이 템플릿을 실행할 때 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_PubSub_to_Avro

REST API 요청으로 이 템플릿을 실행하려면 프로젝트 ID와 함께 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
  • FILENAME_PREFIX를 선호하는 출력 파일 이름 프리픽스로 바꿉니다.
  • FILENAME_SUFFIX를 선호하는 출력 파일 이름 서픽스로 바꿉니다.
  • SHARD_TEMPLATE을 선호하는 출력 공유 템플릿으로 바꿉니다.
  • NUM_SHARDS를 출력 분할 개수로 바꿉니다.
  • WINDOW_DURATION을 출력 윈도우 기간으로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_PubSub_to_Avro
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME",
       "outputDirectory": "gs://YOUR_BUCKET_NAME/output/",
       "avroTempDirectory": "gs://YOUR_BUCKET_NAME/temp/",
       "outputFilenamePrefix": "FILENAME_PREFIX",
       "outputFilenameSuffix": "FILENAME_SUFFIX",
       "outputShardTemplate": "SHARD_TEMPLATE",
       "numShards": "NUM_SHARDS",
       "windowDuration": "WINDOW_DURATION"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Pub/Sub to Cloud Storage Text

Cloud Pub/Sub to Cloud Storage Text 템플릿은 Cloud Pub/Sub에서 레코드를 읽고 텍스트 형식으로 된 일련의 Cloud Storage 파일로 저장하는 스트리밍 파이프라인입니다. 나중에 사용하기 위해 Cloud Pub/Sub에 데이터를 빠르게 저장하는 수단으로 템플릿을 사용할 수 있습니다. 기본적으로 템플릿은 5분마다 새 파일을 생성합니다.

파이프라인 요구사항

  • 실행하기 전에 Cloud Pub/Sub 주제가 있어야 합니다.
  • 주제에 게시되는 메시지는 텍스트 형식이어야 합니다.
  • 주제에 게시되는 메시지에는 줄바꿈을 사용할 수 없습니다. 각 Cloud Pub/Sub 메시지는 출력 파일에 한 줄로 저장됩니다.

템플릿 매개변수

매개변수 설명
inputTopic 이 Cloud Pub/Sub 주제로부터 입력을 읽습니다. 주제 이름은 projects/<project-id>/topics/<topic-name> 형식이어야 합니다.
outputDirectory 출력 파일을 쓰기 위한 경로 및 파일 이름 프리픽스입니다. 예를 들면 gs://bucket-name/path/입니다. 이 값은 슬래시로 끝나야 합니다.
outputFilenamePrefix 윈도우 설정된 각 파일에 넣을 프리픽스입니다. 예를 들면 output-입니다.
outputFilenameSuffix 윈도우 설정된 각 파일에 넣을 서픽스입니다. 일반적으로 .txt 또는 .csv와 같은 파일 확장자입니다.
outputShardTemplate 분할 템플릿은 윈도우 설정된 각 파일의 동적 부분을 정의합니다. 기본적으로, 파이프라인은 각 윈도우 내에서 단일 분할을 사용하여 파일 시스템에 출력합니다. 따라서 모든 파일이 윈도우별로 한 파일 안에 들어갑니다. outputShardTemplate의 기본값은 W-P-SS-of-NN입니다. 여기서 W는 윈도우 날짜 범위, P는 창 정보, S는 분할 번호, N은 분할 개수입니다. 단일 파일의 경우에는 outputShardTemplateSS-of-NN 부분이 00-of-01이 됩니다.

Cloud Pub/Sub to Cloud Storage Text 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Pub/Sub to Cloud Storage Text 템플릿을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 있어야 합니다.

이 템플릿을 실행할 때 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_PubSub_to_GCS_Text

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cloud_PubSub_to_GCS_Text \
    --parameters \
inputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME,\
outputDirectory=gs://YOUR_BUCKET_NAME/output/,\
outputFilenamePrefix=output-,\
outputFilenameSuffix=.txt

API

REST API에서 실행

이 템플릿을 실행할 때 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_PubSub_to_GCS_Text

REST API 요청으로 이 템플릿을 실행하려면 프로젝트 ID와 함께 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_PubSub_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME"
       "outputDirectory": "gs://YOUR_BUCKET_NAME/output/",
       "outputFilenamePrefix": "output-",
       "outputFilenameSuffix": ".txt",
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Text to BigQuery(스트리밍)

Cloud Storage Text to BigQuery(스트리밍) 파이프라인은 Cloud Storage에 저장된 텍스트 파일을 스트리밍하고, 제공된 자바스크립트 사용자 정의 함수(UDF)를 사용하여 변환하고, 결과를 BigQuery에 출력할 수 있게 해주는 파이프라인입니다.

파이프라인 요구사항

  • 출력 테이블을 설명하는 JSON 형식의 BigQuery 스키마 파일을 만듭니다.
    {
        'fields': [{
            'name': 'location',
            'type': 'STRING'
        }, {
            'name': 'name',
            'type': 'STRING'
        }, {
            'name': 'age',
            'type': 'STRING',
        }, {
            'name': 'color',
            'type': 'STRING'
        }, {
            'name': 'coffee',
            'type': 'STRING',
            'mode': 'REQUIRED'
        }, {
            'name': 'cost',
            'type': 'NUMERIC',
            'mode': 'REQUIRED'
        }]
    }
    
  • 텍스트 줄을 변환하는 논리를 제공하는 UDF 함수를 사용하여 자바스크립트(.js) 파일을 만듭니다. 함수는 JSON 문자열을 반환해야 합니다.

    예를 들어 이 함수는 CSV 파일의 각 줄을 분할하고, 값을 변환한 후에 JSON 문자열을 반환합니다.

    function transform(line) {
    var values = line.split(',');
    
    var obj = new Object();
    obj.location = values[0];
    obj.name = values[1];
    obj.age = values[2];
    obj.color = values[3];
    obj.coffee = values[4];
    var jsonString = JSON.stringify(obj);
    
    return jsonString;
    }
    

템플릿 매개변수

매개변수 설명
javascriptTextTransformGcsPath 자바스크립트 UDF의 Cloud Storage 위치입니다. 예를 들면 gs://my_bucket/my_function.js입니다.
JSONPath JSON으로 설명된 BigQuery 스키마 파일의 Cloud Storage 위치입니다. 예를 들면 gs://path/to/my/schema.json입니다.
javascriptTextTransformFunctionName UDF로 호출할 자바스크립트 함수의 이름입니다. 예를 들면 transform입니다.
outputTable 정규화된 BigQuery 테이블입니다. 예를 들면 my-project:dataset.table입니다.
inputFilePattern 처리하려는 텍스트의 Cloud Storage 위치입니다. 예를 들면 gs://my-bucket/my-files/text.txt입니다.
bigQueryLoadingTemporaryDirectory BigQuery 로딩 프로세스를 위한 임시 디렉토리입니다. 예를 들면 gs://my-bucket/my-files/temp_dir입니다.
outputDeadletterTable 메시지의 테이블이 출력 테이블(즉, Deadletter 테이블)에 도달하지 못했습니다. 예를 들면 my-project:dataset.my-deadletter-table입니다. 존재하지 않을 경우 파이프라인 실행 중에 생성됩니다. 지정하지 않을 경우 <outputTableSpec>_error_records가 대신 사용됩니다.

Cloud Storage Text to BigQuery 템플릿(스트리밍) 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 the Cloud Storage Text to BigQuery template을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 있어야 합니다.

이 템플릿을 실행할 때 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Stream_GCS_Text_to_BigQuery

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_JAVASCRIPT_FUNCTION을 UDF의 이름으로 바꿉니다.
  • PATH_TO_BIGQUERY_SCHEMA_JSON을 스키마 정의를 포함한 JSON 파일의 Cloud Storage 경로로 바꿉니다.
  • PATH_TO_JAVASCRIPT_UDF_FILE을 자바스크립트 코드가 있는 .js 파일의 Cloud Storage 경로로 바꿉니다.
  • PATH_TO_YOUR_TEXT_DATA를 텍스트 데이터세트의 Cloud Storage 경로로 바꿉니다.
  • BIGQUERY_TABLE을 BigQuery 테이블 이름으로 바꿉니다.
  • BIGQUERY_DEADLETTER_TABLE을 BigQuery deadletter 테이블 이름으로 바꿉니다.
  • PATH_TO_TEMP_DIR_ON_GCS를 임시 디렉토리의 Cloud Storage 경로로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Stream_GCS_Text_to_BigQuery \
    --parameters \
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
JSONPath=PATH_TO_BIGQUERY_SCHEMA_JSON,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
inputFilePattern=PATH_TO_YOUR_TEXT_DATA,\
outputTable=BIGQUERY_TABLE,\
outputDeadletterTable=BIGQUERY_DEADLETTER_TABLE,\
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS

API

REST API에서 실행

이 템플릿을 실행할 때 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Stream_GCS_Text_to_BigQuery

REST API 요청으로 이 템플릿을 실행하려면 프로젝트 ID와 함께 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_JAVASCRIPT_FUNCTION을 UDF의 이름으로 바꿉니다.
  • PATH_TO_BIGQUERY_SCHEMA_JSON을 스키마 정의를 포함한 JSON 파일의 Cloud Storage 경로로 바꿉니다.
  • PATH_TO_JAVASCRIPT_UDF_FILE을 자바스크립트 코드가 있는 .js 파일의 Cloud Storage 경로로 바꿉니다.
  • PATH_TO_YOUR_TEXT_DATA를 텍스트 데이터세트의 Cloud Storage 경로로 바꿉니다.
  • BIGQUERY_TABLE을 BigQuery 테이블 이름으로 바꿉니다.
  • BIGQUERY_DEADLETTER_TABLE을 BigQuery deadletter 테이블 이름으로 바꿉니다.
  • PATH_TO_TEMP_DIR_ON_GCS를 임시 디렉토리의 Cloud Storage 경로로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Stream_GCS_Text_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "JSONPath": "PATH_TO_BIGQUERY_SCHEMA_JSON",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "inputFilePattern":"PATH_TO_YOUR_TEXT_DATA",
       "outputTable":"BIGQUERY_TABLE",
       "outputDeadletterTable":"BIGQUERY_DEADLETTER_TABLE",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Text to Cloud Pub/Sub(스트리밍)

이 템플릿은 Cloud Storage에 업로드된 새 텍스트 파일을 지속적으로 폴링하고, 각 파일을 한 줄씩 읽고, Cloud Pub/Sub 주제에 문자열을 게시하는 스트리밍 파이프라인을 만듭니다. 이 템플릿은 JSON 레코드를 포함하는 줄바꿈 구분 파일 또는 CSV 파일의 레코드를 Cloud Pub/Sub 주제에 게시하여 실시간으로 처리합니다. 이 템플릿을 사용하여 데이터를 Cloud Pub/Sub에 재생할 수 있습니다.

현재 폴링 간격은 고정되어 있으며 10초로 설정되어 있습니다. 이 템플릿은 개별 레코드에 타임스탬프를 설정하지 않기 때문에 이벤트 시간이 실행 중 게시 시간과 일치하게 됩니다. 파이프라인을 처리하기 위해 정확한 이벤트 시간이 필요한 경우에는 이 파이프라인을 사용해서는 안 됩니다.

이 파이프라인의 요구사항:

  • 입력 파일은 줄바꿈으로 구분되는 JSON 또는 CSV 형식이어야 합니다. 소스 파일에서 여러 줄에 걸쳐 있는 레코드는 다운스트림 문제를 일으킬 수 있습니다. 파일 안의 각 줄이 Cloud Pub/Sub에 메시지로 게시되기 때문입니다.
  • 실행하기 전에 Cloud Pub/Sub 주제가 있어야 합니다.
  • 파이프라인은 무기한으로 실행되며 수동으로 종료해야 합니다.

템플릿 매개변수

매개변수 설명
inputFilePattern 읽을 입력 파일 패턴입니다. 예를 들면 gs://bucket-name/files/*.json입니다.
outputTopic 작성할 Cloud Pub/Sub 입력 주제입니다. 이름은 projects/<project-id>/topics/<topic-name> 형식이어야 합니다.

Cloud Storage Text to Cloud Pub/Sub(스트리밍) 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Storage Text to Cloud Pub/Sub(스트링밍) 템플릿을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 있어야 합니다.

이 템플릿을 실행할 때 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Stream_GCS_Text_to_Cloud_PubSub

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Stream_GCS_Text_to_Cloud_PubSub \
    --parameters \
inputFilePattern=gs://YOUR_BUCKET_NAME/files/*.json,\
outputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME

API

REST API에서 실행

이 템플릿을 실행할 때 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Stream_GCS_Text_to_Cloud_PubSub

REST API 요청으로 이 템플릿을 실행하려면 프로젝트 ID와 함께 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Stream_GCS_Text_to_Cloud_PubSub
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://YOUR_BUCKET_NAME/files/*.json",
       "outputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage to BigQuery에서 Cloud DLP를 사용한 데이터 마스킹/토큰화(스트리밍)

Cloud Storage to BigQuery에서 Cloud DLP를 사용한 데이터 마스킹/토큰화 템플릿은 Cloud Storage 버킷에서 csv 파일을 읽고, 익명화를 위해 Cloud Data Loss Prevention(Cloud DLP) API를 호출하고, 익명화된 데이터를 지정된 BigQuery 테이블에 쓰는 스트리밍 파이프라인입니다. 이 템플릿은 Cloud DLP 검사 템플릿과 Cloud DLP 익명화 템플릿 사용을 지원합니다. 따라서 사용자가 잠재적으로 민감한 정보를 검사하고 식별을 익명화할 수 있을 뿐만 아니라 열을 익명화하도록 지정된 구조화된 데이터를 익명화하며 검사가 필요 없습니다.

파이프라인 요구사항

  • 토큰화할 입력 데이터가 있어야 합니다.
  • Cloud DLP 템플릿이 있어야 합니다(예: DeidentifyTemplate 및 InspectTemplate). 자세한 내용은 Cloud DLP 템플릿을 참조하세요.
  • BigQuery 데이터세트가 있어야 합니다.

템플릿 매개변수

매개변수 설명
inputFilePattern 입력 데이터 레코드를 읽어 들일 csv 파일입니다. 와일드 카드 사용도 허용됩니다. 예를 들면 gs://mybucket/my_csv_filename.csv 또는 gs://mybucket/file-*.csv입니다.
dlpProjectId Cloud DLP API 리소스를 소유하는 Cloud DLP 프로젝트 ID입니다. 이 Cloud DLP 프로젝트는 Cloud DLP 템플릿을 소유하는 프로젝트이거나 별도의 프로젝트일 수 있습니다. 예를 들면 my_dlp_api_project입니다.
deidentifyTemplateName API 요청에 사용할 Cloud DLP 익명화 템플릿으로, projects/{template_project_id}/deidentifyTemplates/{deIdTemplateId} 패턴을 사용하여 지정됩니다. 예를 들면 projects/my_project/deidentifyTemplates/100입니다.
datasetName 토큰화된 결과를 보내기 위한 BigQuery 데이터세트입니다.
batchSize 검사하거나 익명화할 데이터를 보내는 데 사용할 청크/배치 크기입니다. csv 파일의 경우 batchSize는 배치의 행 수입니다. 사용자는 레코드 크기 및 파일 크기에 따라 배치 크기를 결정해야 합니다. Cloud DLP API의 페이로드 크기 제한은 API 호출당 524KB입니다.
inspectTemplateName [선택사항] API 요청에 사용할 Cloud DLP 검사 템플릿으로, projects/{template_project_id}/identifyTemplates/{idTemplateId} 패턴을 사용하여 지정됩니다. 예를 들면 projects/my_project/identifyTemplates/100입니다.

Cloud Storage to BigQuery에서 Cloud DLP를 사용한 데이터 마스킹/토큰화 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 the Data Masking/Tokenization using Cloud DLP from Cloud Storage to BigQuery (Stream) template을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 있어야 합니다.

이 템플릿을 실행할 때 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Stream_DLP_GCS_Text_to_BigQuery

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_TEMPLATE_PROJECT_ID를 템플릿 프로젝트 ID로 바꿉니다.
  • YOUR_DLP_API_PROJECT_ID를 Cloud DLP API 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_INPUT_DATA를 입력 파일 경로로 바꿉니다.
  • YOUR_DEIDENTIFY_TEMPLATE을 Cloud DLPDeidentify 템플릿 번호로 바꿉니다.
  • YOUR_DATASET_NAME을 BigQuery 데이터세트 이름으로 바꿉니다.
  • YOUR_INSPECT_TEMPLATE을 Cloud DLPInspect 템플릿 번호로 바꿉니다.
  • BATCH_SIZE_VALUE를 배치 크기(csv용 API당 행 수)로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Stream_DLP_GCS_Text_to_BigQuery \
    --parameters \
inputFilePattern=YOUR_INPUT_DATA,\
dlpProjectId=YOUR_DLP_API_PROJECT_ID,\
deidentifyTemplateName=projects/YOUR_TEMPLATE_PROJECT_ID/deidentifyTemplates/YOUR_DEIDENTIFY_TEMPLATE,\
inspectTemplateName=projects/YOUR_TEMPLATE_PROJECT_ID/identifyTemplates/YOUR_IDENTIFY_TEMPLATE,\
datasetName=YOUR_DATASET,\
batchSize=BATCH_SIZE_VALUE

API

REST API에서 실행

이 템플릿을 실행할 때 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Stream_DLP_GCS_Text_to_BigQuery

REST API 요청으로 이 템플릿을 실행하려면 프로젝트 ID와 함께 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_TEMPLATE_PROJECT_ID를 템플릿 프로젝트 ID로 바꿉니다.
  • YOUR_DLP_API_PROJECT_ID를 Cloud DLP API 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_INPUT_DATA를 입력 파일 경로로 바꿉니다.
  • YOUR_DEIDENTIFY_TEMPLATE을 Cloud DLPDeidentify 템플릿 번호로 바꿉니다.
  • YOUR_DATASET_NAME을 BigQuery 데이터세트 이름으로 바꿉니다.
  • YOUR_INSPECT_TEMPLATE을 Cloud DLPInspect 템플릿 번호로 바꿉니다.
  • BATCH_SIZE_VALUE를 배치 크기(csv용 API당 행 수)로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Stream_DLP_GCS_Text_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
      "inputFilePattern":YOUR_INPUT_DATA,
      "dlpProjectId": "YOUR_DLP_API_PROJECT_ID",
      "deidentifyTemplateName": "projects/YOUR_TEMPLATE_PROJECT_ID/deidentifyTemplates/YOUR_DEIDENTIFY_TEMPLATE".
      "inspectTemplateName": "projects/YOUR_TEMPLATE_PROJECT_ID/identifyTemplates/YOUR_IDENTIFY_TEMPLATE",
      "datasetName": "YOUR_DATASET",
      "batchSize": "BATCH_SIZE_VALUE"
   },
   "environment": { "zone": "us-central1-f" }
}
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.