

AWS Data Pipeline ist für Neukunden nicht mehr verfügbar. Bestandskunden von AWS Data Pipeline können den Service weiterhin wie gewohnt nutzen. [Weitere Informationen](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# RedshiftCopyActivity
<a name="dp-object-redshiftcopyactivity"></a>

Kopiert Daten von DynamoDB oder Amazon S3 nach Amazon Redshift. Sie können Daten in eine neue Tabelle laden oder Daten in einer vorhandenen Tabelle einfach zusammenführen.

Hier finden Sie eine Übersicht über einen Anwendungsfall, in dem `RedshiftCopyActivity` verwendet wird:

1. Verwenden Sie zunächst AWS Data Pipeline , um Ihre Daten in Amazon S3 bereitzustellen. 

1. Wird verwendet`RedshiftCopyActivity`, um die Daten von Amazon RDS und Amazon EMR nach Amazon Redshift zu verschieben.

   Auf diese Weise können Sie Ihre Daten in Amazon Redshift laden, wo Sie sie analysieren können.

1. Wird verwendet[SqlActivity](dp-object-sqlactivity.md), um SQL-Abfragen für die Daten durchzuführen, die Sie in Amazon Redshift geladen haben.

 Darüber hinaus unterstützt `RedshiftCopyActivity` Ihre Arbeit mit einem `S3DataNode`, weil es eine Manifestdatei unterstützt. Weitere Informationen finden Sie unter [S3 DataNode](dp-object-s3datanode.md).

## Beispiel
<a name="redshiftcopyactivity-example"></a>

Es folgt ein Beispiel für diesen Objekttyp. 

Um die Formatkonvertierung sicherzustellen, verwendet dieses Beispiel [EMPTYASNULL](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html#copy-emptyasnull) und [IGNOREBLANKLINES](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html#copy-ignoreblanklines), spezielle Konvertierungsparameter in `commandOptions`. Weitere Informationen finden Sie unter [Datenkonvertierungsparameter](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html) im *Amazon Redshift Database Developer Guide*.

```
{
  "id" : "S3ToRedshiftCopyActivity",
  "type" : "RedshiftCopyActivity",
  "input" : { "ref": "MyS3DataNode" },
  "output" : { "ref": "MyRedshiftDataNode" },
  "insertMode" : "KEEP_EXISTING",
  "schedule" : { "ref": "Hour" },
  "runsOn" : { "ref": "MyEc2Resource" },
  "commandOptions": ["EMPTYASNULL", "IGNOREBLANKLINES"]
}
```

Die folgende Pipeline-Beispieldefinition zeigt eine Aktivität, die den Einfügemodus `APPEND` nutzt:

```
{
  "objects": [
    {
      "id": "CSVId1",
      "name": "DefaultCSV1",
      "type": "CSV"
    },
    {
      "id": "RedshiftDatabaseId1",
      "databaseName": "dbname",
      "username": "user",
      "name": "DefaultRedshiftDatabase1",
      "*password": "password",
      "type": "RedshiftDatabase",
      "clusterId": "redshiftclusterId"
    },
    {
      "id": "Default",
      "scheduleType": "timeseries",
      "failureAndRerunMode": "CASCADE",
      "name": "Default",
      "role": "DataPipelineDefaultRole",
      "resourceRole": "DataPipelineDefaultResourceRole"
    },
    {
      "id": "RedshiftDataNodeId1",
      "schedule": {
        "ref": "ScheduleId1"
      },
      "tableName": "orders",
      "name": "DefaultRedshiftDataNode1",
      "createTableSql": "create table StructuredLogs (requestBeginTime CHAR(30) PRIMARY KEY DISTKEY SORTKEY, requestEndTime CHAR(30), hostname CHAR(100), requestDate varchar(20));",
      "type": "RedshiftDataNode",
      "database": {
        "ref": "RedshiftDatabaseId1"
      }
    },
    {
      "id": "Ec2ResourceId1",
      "schedule": {
        "ref": "ScheduleId1"
      },
      "securityGroups": "MySecurityGroup",
      "name": "DefaultEc2Resource1",
      "role": "DataPipelineDefaultRole",
      "logUri": "s3://myLogs",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "type": "Ec2Resource"
    },
    {
      "id": "ScheduleId1",
      "startDateTime": "yyyy-mm-ddT00:00:00",
      "name": "DefaultSchedule1",
      "type": "Schedule",
      "period": "period",
      "endDateTime": "yyyy-mm-ddT00:00:00"
    },
    {
      "id": "S3DataNodeId1",
      "schedule": {
        "ref": "ScheduleId1"
      },
      "filePath": "s3://datapipeline-us-east-1/samples/hive-ads-samples.csv",
      "name": "DefaultS3DataNode1",
      "dataFormat": {
        "ref": "CSVId1"
      },
      "type": "S3DataNode"
    },
    {
      "id": "RedshiftCopyActivityId1",
      "input": {
        "ref": "S3DataNodeId1"
      },
      "schedule": {
        "ref": "ScheduleId1"
      },
      "insertMode": "APPEND",
      "name": "DefaultRedshiftCopyActivity1",
      "runsOn": {
        "ref": "Ec2ResourceId1"
      },
      "type": "RedshiftCopyActivity",
      "output": {
        "ref": "RedshiftDataNodeId1"
      }
    }
  ]
}
```

Der `APPEND`-Vorgang fügt Elemente zu einer Tabelle hinzu, unabhängig von Primär- oder Sortierschlüsseln. Bei der folgenden Tabelle können Sie beispielsweise einen Datensatz mit demselben ID- und Benutzer-Wert anfügen.

```
ID(PK)     USER
1          aaa
2          bbb
```

Sie können einen Datensatz mit demselben ID- und Benutzer-Wert anfügen:

```
ID(PK)     USER
1          aaa
2          bbb
1          aaa
```

**Anmerkung**  
Wenn ein `APPEND`-Vorgang unterbrochen und wieder aufgenommen wird, ist es möglich, dass die entstandene Wiederausführungs-Pipeline von Anfang an Anfügungen vornimmt. Dies kann zu weiteren Duplizierungen führen. Sie sollten dieses Verhalten kennen, besonders, wenn Sie Logik verwenden, die die Anzahl an Zeilen zählt.

Ein Tutorial finden Sie unter [Daten mithilfe von Amazon Redshift nach Amazon Redshift kopieren AWS Data Pipeline](dp-copydata-redshift.md).

## Syntax
<a name="redshiftcopyactivity-syntax"></a>


****  

| Pflichtfelder | Description | Slot-Typ | 
| --- | --- | --- | 
| insertMode |   Legt fest, AWS Data Pipeline was mit bereits vorhandenen Daten in der Zieltabelle geschehen soll, die sich mit Zeilen in den zu ladenden Daten überschneiden. Gültige Werte sind: `KEEP_EXISTING`, `OVERWRITE_EXISTING`, `TRUNCATE` und `APPEND`. `KEEP_EXISTING` fügt der Tabelle neue Zeilen hinzu und lässt die vorhandenen Zeilen unverändert. `KEEP_EXISTING` und` OVERWRITE_EXISTING` verwenden den Primärschlüssel, Sortier- und Verteilschlüssel, um zu identifizieren, welche eingehende Zeilen mit vorhandenen Zeilen übereinstimmen. Weitere Informationen finden Sie unter [Aktualisieren und Einfügen neuer Daten](https://docs.aws.amazon.com/redshift/latest/dg/t_updating-inserting-using-staging-tables-.html) im Amazon Redshift *Database Developer Guide*.  `TRUNCATE` löscht alle Daten in der Zieltabelle, bevor die neuen Daten hinzugefügt werden.  `APPEND` fügt alle Datensätze am Ende der Redshift-Tabelle an. `APPEND` setzt keinen Primär-, Verteilungs- oder Sortierschlüssel voraus. Es können also Zeilen hinzugefügt werden, bei denen es sich um potenzielle Duplikate handelt.  | Aufzählung | 

 


****  

| Objektaufruf-Felder | Description | Slot-Typ | 
| --- | --- | --- | 
| schedule |  Dieses Objekt wird innerhalb der Ausführung eines Zeitplanintervalls aufgerufen.  Sie müssen einen Zeitplanverweis auf ein anderes Objekt angeben, um die Abhängigkeitsausführungsreihenfolge für dieses Objekt festzulegen.  In den meisten Fällen empfehlen wir, den Zeitplanverweis auf das Standard-Pipeline-Objekt zu setzen, damit alle Objekte diesen Zeitplan erben. Sie können beispielsweise einen Zeitplan explizit für das Objekt festlegen, indem Sie `"schedule": {"ref": "DefaultSchedule"}` angeben.  Wenn der Hauptplan in Ihrer Pipeline verschachtelte Zeitpläne enthält, erstellen Sie ein übergeordnetes Objekt mit Zeitplanreferenz.  Weitere Informationen zu optionalen Zeitplankonfigurationen finden Sie unter [Zeitplan](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html).   | Referenzobjekt, wie z. B.: "schedule":\$1"ref":"myScheduleId"\$1 | 

 


****  

| Erforderliche Gruppe (mindestens eine der folgenden ist erforderlich) | Description | Slot-Typ | 
| --- | --- | --- | 
| runsOn | Die Rechenressource zum Ausführen der Aktivität oder des Befehls. Beispiel: Amazon EC2 Instance oder Amazon EMR-Cluster. | Referenzobjekt, z. B. „runsOn“: \$1"ref“:“ myResourceId „\$1 | 
| workerGroup | Die Auftragnehmergruppe. Dies wird für Routing-Aufgaben verwendet. Wenn Sie einen runsOn-Wert angeben und workerGroup vorhanden ist, wird workerGroup ignoriert. | Zeichenfolge | 

 


****  

| Optionale Felder | Description | Slot-Typ | 
| --- | --- | --- | 
| attemptStatus | Zuletzt gemeldeter Status von der Remote-Aktivität. | Zeichenfolge | 
| attemptTimeout | Timeout für die Remote-Arbeit abgeschlossen. Wenn diese Option aktiviert ist, kann eine Remote-Aktivität, die nicht innerhalb der festgelegten Startzeit abgeschlossen wird, wiederholt werden. | Zeitraum | 
| commandOptions |  Verwendet Parameter, die während des `COPY` Vorgangs an den Amazon Redshift Redshift-Datenknoten übergeben werden. Informationen zu Parametern finden Sie unter [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) im Amazon Redshift *Database Developer Guide*. Wenn `COPY` die Tabelle lädt, versucht der Befehl implizit, die Zeichenfolgen in den Quelldaten in den Datentyp der Zielspalte zu konvertieren. Zusätzlich zu den Standard-Datenkonvertierungen, die automatisch stattfinden, wenn Fehler erhalten oder andere Konvertierungen benötigen, können Sie zusätzliche Umrechnungsparameter angeben. Weitere Informationen finden Sie unter [Datenkonvertierungsparameter](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html) im Amazon Redshift *Database Developer Guide*. Wenn dem Eingabe- oder Ausgabedatenknoten ein Datenformat zugeordnet ist, werden die angegebenen Parameter ignoriert.  Da beim Kopieren die Daten zunächst mit dem Befehl `COPY` in eine Staging-Tabelle eingefügt und danach mit dem Befehl `INSERT` von der Staging- in die Zieltabelle kopiert werden, können einige `COPY`-Parameter nicht verwendet werden (z. B. die Fähigkeit des `COPY`-Befehls, der das automatische Komprimieren der Tabelle aktiviert). Wenn die Tabelle komprimiert werden soll, fügen Sie der Anweisung `CREATE TABLE` Angaben zur Spaltencodierung hinzu.  In einigen Fällen, in denen Daten aus dem Amazon Redshift-Cluster entladen und Dateien in Amazon S3 erstellt werden müssen, ist das außerdem auf den `UNLOAD` Betrieb von Amazon Redshift `RedshiftCopyActivity` angewiesen. Zur Verbesserung der Leistung beim Kopieren und Entladen geben Sie den `PARALLEL OFF`-Parameter aus dem `UNLOAD` Befehl an. Informationen zu Parametern finden Sie unter [UNLOAD](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html) im Amazon Redshift *Database Developer Guide*.  | Zeichenfolge | 
| dependsOn | Angeben der Abhängigkeit von einem anderen ausführbaren Objekt. | Referenzobjekt: "dependsOn":\$1"ref":"myActivityId"\$1 | 
| failureAndRerunModus | Beschreibt das Verhalten des Konsumentenknotens, wenn Abhängigkeiten fehlschlagen oder erneut ausgeführt werden | Aufzählung | 
| input | Der Eingabedatenknoten. Die Datenquelle kann Amazon S3, DynamoDB oder Amazon Redshift sein. | Referenzobjekt:  "input":\$1"ref":"myDataNodeId"\$1 | 
| lateAfterTimeout | Die nach dem Start der Pipeline verstrichene Zeit, innerhalb der das Objekt abgeschlossen werden muss. Sie wird nur ausgelöst, wenn der Zeitplantyp nicht auf eingestellt ist. ondemand | Zeitraum | 
| maxActiveInstances | Die maximale Anzahl gleichzeitiger aktiver Instances einer Komponente. Wiederholungen zählen nicht zur Anzahl der aktiven Instances. | Ganzzahl | 
| maximumRetries | Maximale Anzahl von Versuchen bei Ausfällen | Ganzzahl | 
| onFail | Eine Aktion, die ausgeführt werden soll, wenn das aktuelle Objekt fehlschlägt. | Referenzobjekt: "onFail":\$1"ref":"myActionId"\$1 | 
| onLateAction | Aktionen, die ausgelöst werden sollen, wenn ein Objekt noch nicht geplant oder noch nicht abgeschlossen wurde. | Referenzobjekt:  "onLateAction":\$1"ref":"myActionId"\$1 | 
| onSuccess | Eine Aktion, die ausgeführt wird, wenn das aktuelle Objekt erfolgreich ist. | Referenzobjekt:  "onSuccess":\$1"ref":"myActionId"\$1 | 
| output | Der Ausgabedatenknoten. Der Ausgabespeicherort kann Amazon S3 oder Amazon Redshift sein. | Referenzobjekt:  "output":\$1"ref":"myDataNodeId"\$1 | 
| übergeordneter | Übergeordnetes Objekt des aktuellen Objekts, aus dem Slots übernommen werden. | Referenzobjekt: "parent":\$1"ref":"myBaseObjectId"\$1 | 
| pipelineLogUri | Die S3-URI (z. B. 's3://BucketName/Key/ ') zum Hochladen von Protokollen für die Pipeline. | Zeichenfolge | 
| precondition | Legen Sie optional eine Vorbedingung fest. Ein Datenknoten ist solange nicht als "BEREIT" markiert, bis alle Vorbedingungen erfüllt sind. | Referenzobjekt: "precondition":\$1"ref":"myPreconditionId"\$1 | 
| Warteschlange |  Entspricht der `query_group ` Einstellung in Amazon Redshift, mit der Sie gleichzeitige Aktivitäten anhand ihrer Platzierung in Warteschlangen zuweisen und priorisieren können.  In Amazon Redshift sind bis zu 15 gleichzeitige Verbindungen möglich. Weitere Informationen finden Sie unter [Zuweisen von Abfragen zu Warteschlangen](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/cm-c-executing-queries.html) im Amazon RDS *Database Developer Guide*.  | Zeichenfolge | 
| reportProgressTimeout |  Timeout für aufeinanderfolgende Aufrufe von Remote-Arbeit in `reportProgress`.  Wenn diese Option aktiviert ist, werden Remote-Aktivitäten, die den Fortschritt für den angegebenen Zeitraum nicht melden, als fehlgeschlagen angesehen und es wird erneut versucht.  | Zeitraum | 
| retryDelay | Die Zeitüberschreitungsdauer zwischen zwei Wiederholungsversuchen. | Zeitraum | 
| scheduleType |  Mit dieser Option können Sie angeben, ob der Plan für die Objekte in Ihrer Pipeline vorgesehen ist. Werte sind `cron`, `ondemand` und `timeseries`. Die `timeseries` Planung bedeutet, dass Instances am Ende jedes Intervalls geplant sind. Die `Cron` Planung bedeutet, dass Instances am Anfang jedes Intervalls geplant sind.  Ein `ondemand`-Zeitplan ermöglicht es Ihnen, eine Pipeline einmal pro Aktivierung auszuführen. Dies bedeutet, dass Sie die Pipeline nicht klonen oder neu erstellen müssen, um sie erneut auszuführen.  Um `ondemand`-Pipelines zu verwenden, rufen Sie einfach den `ActivatePipeline`-Vorgang für jeden nachfolgenden Lauf auf.  Wenn Sie einen `ondemand`-Zeitplan verwenden, müssen Sie ihn im Standardobjekt angeben, und er muss der einzige für die Objekte in der Pipeline angegebene `scheduleType` sein.   | Aufzählung | 
| transformSql |  Der zum Transformieren der Eingabedaten verwendete `SQL SELECT`-Ausdruck.  Führen Sie den Ausdruck `transformSql` in der Tabelle mit dem Namen `staging` aus.  Wenn Sie Daten aus DynamoDB oder Amazon S3 kopieren, AWS Data Pipeline erstellt eine Tabelle namens „Staging“ und lädt zunächst Daten hinein. Die Daten dieser Tabelle werden zum Aktualisieren der Zieltabelle verwendet.  Das Ausgabe-Schema von `transformSql` muss mit dem Schema der endgültigen Zieltabelle übereinstimmen. Wenn Sie die Option `transformSql` angeben, wird von der angegebenen SQL-Anweisung eine zweite Staging-Tabelle erstellt. Die Daten dieser zweiten Staging-Tabelle werden anschließend in die endgültige Zieltabelle übernommen.  | Zeichenfolge | 

 


****  

| Laufzeitfelder | Description | Slot-Typ | 
| --- | --- | --- | 
| @activeInstances | Liste der aktuell geplanten aktiven Instance-Objekte. | Referenzobjekt: "activeInstances":\$1"ref":"myRunnableObjectId"\$1 | 
| @actualEndTime | Zeitpunkt, zu dem die Ausführung dieses Objekts abgeschlossen wurde. | DateTime | 
| @actualStartTime | Zeitpunkt, zu dem die Ausführung dieses Objekts gestartet wurde. | DateTime | 
| cancellationReason | Die cancellationReason, wenn dieses Objekt storniert wurde. | Zeichenfolge | 
| @cascadeFailedOn | Beschreibung der Abhängigkeitskette, bei der das Objekt fehlgeschlagen ist. | Referenzobjekt:  "cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 | 
| emrStepLog | EMR-Schrittprotokolle nur bei EMR-Aktivitätsversuchen verfügbar | Zeichenfolge | 
| errorId | Die errorId, wenn dieses Objekt fehlgeschlagen ist. | Zeichenfolge | 
| errorMessage | Die errorMessage, wenn dieses Objekt fehlgeschlagen ist. | Zeichenfolge | 
| errorStackTrace | Die Fehler-Stack-Ablaufverfolgung., wenn dieses Objekt fehlgeschlagen ist. | Zeichenfolge | 
| @finishedTime | Der Zeitpunkt, zu der dieses Objekt seine Ausführung beendet hat. | DateTime | 
| hadoopJobLog | Hadoop-Jobprotokolle für Versuche für EMR-basierte Aktivitäten verfügbar. | Zeichenfolge | 
| @healthStatus | Der Integritätsstatus des Objekts, der Erfolg oder Misserfolg der letzten Objekt-Instance widerspiegelt, die einen beendeten Zustand erreicht hat. | Zeichenfolge | 
| @healthStatusFromInstanceId | Id des Objekts der letzten Instance, das einen beendeten Zustand erreicht hat. | Zeichenfolge | 
| @ Zeit healthStatusUpdated | Zeitpunkt, zu dem der Servicestatus beim letzten Mal aktualisiert wurde. | DateTime | 
| hostname | Der Hostname des Clients, der den Aufgabenversuch aufnimmt. | Zeichenfolge | 
| @lastDeactivatedTime | Zeitpunkt, zu dem dieses Objekt zuletzt deaktiviert wurde. | DateTime | 
| @ latestCompletedRun Zeit | Zeitpunkt des letzten Laufs, für den die Ausführung abgeschlossen wurde. | DateTime | 
| @latestRunTime | Zeitpunkt des letzten Laufs, für den die Ausführung geplant war. | DateTime | 
| @nextRunTime | Zeitpunkt des Laufs, der als nächstes geplant werden soll | DateTime | 
| reportProgressTime | Der letzte Zeitpunkt, an dem die Remote-Aktivität einen Fortschritt gemeldet hat. | DateTime | 
| @scheduledEndTime | Endzeit für Objekt einplanen. | DateTime | 
| @scheduledStartTime | Startzeit für Objekt einplanen. | DateTime | 
| @Status | Der Status des Objekts. | Zeichenfolge | 
| @Version | Pipeline-Version, mit der das Objekt erstellt wurde. | Zeichenfolge | 
| @waitingOn | Beschreibung der Liste der Abhängigkeiten, auf die dieses Objekt wartet. | Referenzobjekt:  "waitingOn":\$1"ref":"myRunnableObjectId"\$1 | 

 


****  

| Systemfelder | Description | Slot-Typ | 
| --- | --- | --- | 
| @error | Fehler mit einer Beschreibung des falsch formatierten Objekts. | Zeichenfolge | 
| @pipelineId | Id der Pipeline, zu der dieses Objekt gehört. | Zeichenfolge | 
| @sphere | Die Sphäre eines Objekts. Gibt seine Position im Lebenszyklus an. Beispielsweise ergeben Komponentenobjekte Instance-Objekte, die Versuchsobjekte ausführen. | Zeichenfolge | 