AWS Data Pipeline 사용 예제 AWS CLI - AWS Command Line Interface

이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Data Pipeline 사용 예제 AWS CLI

다음 코드 예제에서는 AWS Command Line Interface 와 함께 를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다 AWS Data Pipeline.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 activate-pipeline을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인을 활성화하려면

이 예제에서는 지정된 파이프라인을 활성화합니다.

aws datapipeline activate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE

특정 날짜 및 시간에 파이프라인을 활성화하려면 다음 명령을 사용합니다.

aws datapipeline activate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE --start-timestamp 2015-04-07T00:00:00Z
  • 자세한 API 내용은 명령 참조ActivatePipeline의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 add-tags을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인에 태그를 추가하려면

이 예제에서는 지정된 파이프라인에 지정된 태그를 추가합니다.

aws datapipeline add-tags --pipeline-id df-00627471SOVYZEXAMPLE --tags key=environment,value=production key=owner,value=sales

태그를 보려면 describe-pipelines 명령을 사용합니다. 예를 들어 예제 명령에 추가된 태그는 describe-pipelines 출력에 다음과 같이 표시됩니다.

{ ... "tags": [ { "value": "production", "key": "environment" }, { "value": "sales", "key": "owner" } ] ... }
  • 자세한 API 내용은 명령 참조AddTags의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 create-pipeline을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인을 생성하려면

이 예제에서는 파이프라인을 생성합니다.

aws datapipeline create-pipeline --name my-pipeline --unique-id my-pipeline-token

다음은 예 출력입니다.

{ "pipelineId": "df-00627471SOVYZEXAMPLE" }
  • 자세한 API 내용은 명령 참조CreatePipeline의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 deactivate-pipeline을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인을 비활성화하려면

이 예제에서는 지정된 파이프라인을 비활성화합니다.

aws datapipeline deactivate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE

실행 중인 모든 활동이 완료된 후에만 파이프라인을 비활성화하려면 다음 명령을 사용합니다.

aws datapipeline deactivate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE --no-cancel-active
  • 자세한 API 내용은 명령 참조DeactivatePipeline의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 delete-pipeline을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인을 삭제하려면

이 예제에서는 지정된 파이프라인을 삭제합니다.

aws datapipeline delete-pipeline --pipeline-id df-00627471SOVYZEXAMPLE
  • 자세한 API 내용은 명령 참조DeletePipeline의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 describe-pipelines을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인을 설명하려면

이 예제에서는 지정된 파이프라인을 설명합니다.

aws datapipeline describe-pipelines --pipeline-ids df-00627471SOVYZEXAMPLE

다음은 예 출력입니다.

{ "pipelineDescriptionList": [ { "fields": [ { "stringValue": "PENDING", "key": "@pipelineState" }, { "stringValue": "my-pipeline", "key": "name" }, { "stringValue": "2015-04-07T16:05:58", "key": "@creationTime" }, { "stringValue": "df-00627471SOVYZEXAMPLE", "key": "@id" }, { "stringValue": "123456789012", "key": "pipelineCreator" }, { "stringValue": "PIPELINE", "key": "@sphere" }, { "stringValue": "123456789012", "key": "@userId" }, { "stringValue": "123456789012", "key": "@accountId" }, { "stringValue": "my-pipeline-token", "key": "uniqueId" } ], "pipelineId": "df-00627471SOVYZEXAMPLE", "name": "my-pipeline", "tags": [] } ] }
  • 자세한 API 내용은 명령 참조DescribePipelines의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-pipeline-definition을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인 정의를 가져오려면

이 예제에서는 지정된 파이프라인에 대한 파이프라인 정의를 가져옵니다.

aws datapipeline get-pipeline-definition --pipeline-id df-00627471SOVYZEXAMPLE

다음은 예 출력입니다.

{ "parameters": [ { "type": "AWS::S3::ObjectKey", "id": "myS3OutputLoc", "description": "S3 output folder" }, { "default": "s3://us-east-1.elasticmapreduce.samples/pig-apache-logs/data", "type": "AWS::S3::ObjectKey", "id": "myS3InputLoc", "description": "S3 input folder" }, { "default": "grep -rc \"GET\" ${INPUT1_STAGING_DIR}/* > ${OUTPUT1_STAGING_DIR}/output.txt", "type": "String", "id": "myShellCmd", "description": "Shell command to run" } ], "objects": [ { "type": "Ec2Resource", "terminateAfter": "20 Minutes", "instanceType": "t1.micro", "id": "EC2ResourceObj", "name": "EC2ResourceObj" }, { "name": "Default", "failureAndRerunMode": "CASCADE", "resourceRole": "DataPipelineDefaultResourceRole", "schedule": { "ref": "DefaultSchedule" }, "role": "DataPipelineDefaultRole", "scheduleType": "cron", "id": "Default" }, { "directoryPath": "#{myS3OutputLoc}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}", "type": "S3DataNode", "id": "S3OutputLocation", "name": "S3OutputLocation" }, { "directoryPath": "#{myS3InputLoc}", "type": "S3DataNode", "id": "S3InputLocation", "name": "S3InputLocation" }, { "startAt": "FIRST_ACTIVATION_DATE_TIME", "name": "Every 15 minutes", "period": "15 minutes", "occurrences": "4", "type": "Schedule", "id": "DefaultSchedule" }, { "name": "ShellCommandActivityObj", "command": "#{myShellCmd}", "output": { "ref": "S3OutputLocation" }, "input": { "ref": "S3InputLocation" }, "stage": "true", "type": "ShellCommandActivity", "id": "ShellCommandActivityObj", "runsOn": { "ref": "EC2ResourceObj" } } ], "values": { "myS3OutputLoc": "s3://my-s3-bucket/", "myS3InputLoc": "s3://us-east-1.elasticmapreduce.samples/pig-apache-logs/data", "myShellCmd": "grep -rc \"GET\" ${INPUT1_STAGING_DIR}/* > ${OUTPUT1_STAGING_DIR}/output.txt" } }

다음 코드 예시에서는 list-pipelines을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인을 나열하려면

이 예제에서는 파이프라인을 나열합니다.

aws datapipeline list-pipelines

다음은 예 출력입니다.

{ "pipelineIdList": [ { "id": "df-00627471SOVYZEXAMPLE", "name": "my-pipeline" }, { "id": "df-09028963KNVMREXAMPLE", "name": "ImportDDB" }, { "id": "df-0870198233ZYVEXAMPLE", "name": "CrossRegionDDB" }, { "id": "df-00189603TB4MZEXAMPLE", "name": "CopyRedshift" } ] }
  • 자세한 API 내용은 명령 참조ListPipelines의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 list-runs을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 파이프라인 실행을 나열하려면

다음 list-runs 예제에서는 지정된 파이프라인에 대한 실행을 나열합니다.

aws datapipeline list-runs --pipeline-id df-00627471SOVYZEXAMPLE

출력:

Name Scheduled Start Status ID Started Ended ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1. EC2ResourceObj 2015-04-12T17:33:02 CREATING @EC2ResourceObj_2015-04-12T17:33:02 2015-04-12T17:33:10 2. S3InputLocation 2015-04-12T17:33:02 FINISHED @S3InputLocation_2015-04-12T17:33:02 2015-04-12T17:33:09 2015-04-12T17:33:09 3. S3OutputLocation 2015-04-12T17:33:02 WAITING_ON_DEPENDENCIES @S3OutputLocation_2015-04-12T17:33:02 2015-04-12T17:33:09 4. ShellCommandActivityObj 2015-04-12T17:33:02 WAITING_FOR_RUNNER @ShellCommandActivityObj_2015-04-12T17:33:02 2015-04-12T17:33:09

예제 2: 지정된 날짜 사이의 파이프라인 실행을 나열하려면

다음 list-runs 예제에서는 --start-interval를 사용하여 출력에 포함할 날짜를 지정합니다.

aws datapipeline list-runs --pipeline-id df-01434553B58A2SHZUKO5 --start-interval 2017-10-07T00:00:00,2017-10-08T00:00:00
  • 자세한 API 내용은 명령 참조ListRuns의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 put-pipeline-definition을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인 정의를 업로드하려면

이 예제에서는 지정된 파이프라인 정의를 지정된 파이프라인에 업로드합니다.

aws datapipeline put-pipeline-definition --pipeline-id df-00627471SOVYZEXAMPLE --pipeline-definition file://my-pipeline-definition.json

다음은 예 출력입니다.

{ "validationErrors": [], "errored": false, "validationWarnings": [] }

다음 코드 예시에서는 remove-tags을 사용하는 방법을 보여 줍니다.

AWS CLI

파이프라인에서 태그를 제거하려면

이 예제에서는 지정된 파이프라인에서 지정된 태그를 제거합니다.

aws datapipeline remove-tags --pipeline-id df-00627471SOVYZEXAMPLE --tag-keys environment
  • 자세한 API 내용은 명령 참조RemoveTags의 섹션을 참조하세요. AWS CLI