AWS Data Pipeline-Beispiele unter Verwendung der AWS CLI - AWS Command Line Interface

AWS Data Pipeline-Beispiele unter Verwendung der AWS CLI

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit AWS Data Pipeline nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie activate-pipeline verwendet wird.

AWS CLI

So aktivieren Sie eine Pipeline

In diesem Beispiel wird die angegebene Pipeline aktiviert:

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

Verwenden Sie den folgenden Befehl, um die Pipeline an einem bestimmten Zeitpunkt zu aktivieren:

aws datapipeline activate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE --start-timestamp 2015-04-07T00:00:00Z

Das folgende Codebeispiel zeigt, wie add-tags verwendet wird.

AWS CLI

So fügen Sie einer Pipeline ein Tag hinzu

In diesem Beispiel wird der angegebenen Pipeline das spezifizierte Tag hinzugefügt:

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

Verwenden Sie den Befehl describe-pipelines, um die Tags anzuzeigen. Die im Beispielbefehl hinzugefügten Tags werden in der Ausgabe für describe-pipelines wie folgt angezeigt:

{ ... "tags": [ { "value": "production", "key": "environment" }, { "value": "sales", "key": "owner" } ] ... }
  • API-Details finden Sie unter AddTags in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie create-pipeline verwendet wird.

AWS CLI

So erstellen Sie eine Pipeline

In diesem Beispiel wird eine Pipeline erstellt:

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

Das Folgende ist Ausgabebeispiel:

{ "pipelineId": "df-00627471SOVYZEXAMPLE" }
  • API-Details finden Sie unter CreatePipeline in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie deactivate-pipeline verwendet wird.

AWS CLI

So deaktivieren Sie eine Pipeline

In diesem Beispiel wird die angegebene Pipeline deaktiviert:

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

Verwenden Sie den folgenden Befehl, um die Pipeline erst nach der Ausführung aller Aktivitäten zu deaktivieren:

aws datapipeline deactivate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE --no-cancel-active

Das folgende Codebeispiel zeigt, wie delete-pipeline verwendet wird.

AWS CLI

So löschen Sie eine Pipeline

In diesem Beispiel wird die angegebene Pipeline gelöscht:

aws datapipeline delete-pipeline --pipeline-id df-00627471SOVYZEXAMPLE
  • API-Details finden Sie unter DeletePipeline in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie describe-pipelines verwendet wird.

AWS CLI

So beschreiben Sie Ihre Pipelines

In diesem Beispiel wird die angegebene Pipeline beschrieben:

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

Das Folgende ist Ausgabebeispiel:

{ "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": [] } ] }

Das folgende Codebeispiel zeigt, wie get-pipeline-definition verwendet wird.

AWS CLI

So rufen Sie eine Pipeline-Definition ab

Dieses Beispiel ruft die Pipeline-Definition für die angegebene Pipeline ab:

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

Das Folgende ist Ausgabebeispiel:

{ "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://amzn-s3-demo-bucket/", "myS3InputLoc": "s3://us-east-1.elasticmapreduce.samples/pig-apache-logs/data", "myShellCmd": "grep -rc \"GET\" ${INPUT1_STAGING_DIR}/* > ${OUTPUT1_STAGING_DIR}/output.txt" } }

Das folgende Codebeispiel zeigt, wie list-pipelines verwendet wird.

AWS CLI

So listen Sie Ihre Pipelines auf

Dieses Beispiel listet Ihre Pipelines auf:

aws datapipeline list-pipelines

Das Folgende ist Ausgabebeispiel:

{ "pipelineIdList": [ { "id": "df-00627471SOVYZEXAMPLE", "name": "my-pipeline" }, { "id": "df-09028963KNVMREXAMPLE", "name": "ImportDDB" }, { "id": "df-0870198233ZYVEXAMPLE", "name": "CrossRegionDDB" }, { "id": "df-00189603TB4MZEXAMPLE", "name": "CopyRedshift" } ] }
  • API-Details finden Sie unter ListPipelines in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-runs verwendet wird.

AWS CLI

Beispiel 1: So listen Sie Ihre Pipeline-Läufe auf

Im folgenden list-runs-Beispiel werden die Läufe für die angegebene Pipeline aufgelistet.

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

Ausgabe:

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

Beispiel 2: So listen Sie die Pipeline-Läufe zwischen den angegebenen Daten auf

Im folgenden list-runs-Beispiel wird --start-interval verwendet, um die Daten anzugeben, die in die Ausgabe aufgenommen werden sollen.

aws datapipeline list-runs --pipeline-id df-01434553B58A2SHZUKO5 --start-interval 2017-10-07T00:00:00,2017-10-08T00:00:00
  • API-Details finden Sie unter ListRuns in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie put-pipeline-definition verwendet wird.

AWS CLI

So laden Sie eine Pipeline-Definition hoch

Dieses Beispiel lädt die angegebene Pipeline-Definition auf die spezifizierte Pipeline hoch:

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

Das Folgende ist Ausgabebeispiel:

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

Das folgende Codebeispiel zeigt, wie remove-tags verwendet wird.

AWS CLI

So entfernen Sie ein Tag aus einer Pipeline

In diesem Beispiel wird das spezifizierte Tag aus der angegebenen Pipeline entfernt:

aws datapipeline remove-tags --pipeline-id df-00627471SOVYZEXAMPLE --tag-keys environment
  • API-Details finden Sie unter RemoveTags in der AWS CLI-Befehlsreferenz.