

AWS Data Pipeline non è più disponibile per i nuovi clienti. I clienti esistenti di AWS Data Pipeline possono continuare a utilizzare il servizio normalmente. [Ulteriori informazioni](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Attività
<a name="dp-object-activities"></a>

I seguenti sono gli oggetti di attività: AWS Data Pipeline 

**Topics**
+ [CopyActivity](dp-object-copyactivity.md)
+ [EmrActivity](dp-object-emractivity.md)
+ [HadoopActivity](dp-object-hadoopactivity.md)
+ [HiveActivity](dp-object-hiveactivity.md)
+ [HiveCopyActivity](dp-object-hivecopyactivity.md)
+ [PigActivity](dp-object-pigactivity.md)
+ [RedshiftCopyActivity](dp-object-redshiftcopyactivity.md)
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [SqlActivity](dp-object-sqlactivity.md)

# CopyActivity
<a name="dp-object-copyactivity"></a>

Copia i dati da una posizione all'altra. `CopyActivity`supporta [S3 DataNode](dp-object-s3datanode.md) e [SqlDataNode](dp-object-sqldatanode.md) come input e output e l'operazione di copia viene normalmente eseguita record-by-record. Tuttavia, `CopyActivity` fornisce una copia da Amazon S3 ad Amazon S3 ad alte prestazioni quando sono soddisfatte tutte le seguenti condizioni:
+ L'input e l'output sono S3 DataNodes
+ Il campo `dataFormat` è lo stesso per input e output

Se si forniscono file di dati compressi come input senza indicarlo utilizzando il campo `compression` sui nodi di dati S3, `CopyActivity` potrebbe non riuscire. In questo caso, `CopyActivity` non è in grado di rilevare correttamente il termine del carattere del record e l'operazione ha esito negativo. Inoltre, `CopyActivity` supporta la copia da una directory a un'altra directory e la copia di un file in una directory, ma la record-by-record copia si verifica quando si copia una directory in un file. Infine, non `CopyActivity` supporta la copia di file Amazon S3 multiparte. 

`CopyActivity` ha limitazioni specifiche per il supporto CSV. Quando utilizzi un S3 DataNode come input per`CopyActivity`, puoi utilizzare solo una Unix/Linux variante del formato di file di dati CSV per i campi di input e output di Amazon S3. La Unix/Linux variante richiede quanto segue: 
+ Il separatore deve essere il carattere "," (virgola).
+ I record non sono citati.
+ Il carattere di escape predefinito è il valore ASCII 92 (barra rovesciata).
+ La fine dell'identificatore del record è il valore ASCII 10 (o "\$1n").

I sistemi basati su Windows utilizzano in genere una sequenza di end-of-record caratteri diversa: un riage return e una riga di alimentazione insieme (valore ASCII 13 e valore ASCII 10). È necessario adeguarsi a questa differenza utilizzando un ulteriore meccanismo, come uno script di pre-copia per modificare i dati di input, e assicurare che `CopyActivity` sia in grado di rilevare correttamente la fine di un record; in caso contrario, `CopyActivity` ha ripetutamente esito negativo.

Quando si utilizza `CopyActivity` per eseguire l'esportazione da un oggetto RDS PostgreSQL a un formato di dati TSV, il carattere NULL predefinito è \$1n.

## Esempio
<a name="copyactivity-example"></a>

Di seguito è illustrato un esempio di questo tipo di oggetto. Questo oggetto fa riferimento a tre altri oggetti definiti nello stesso file di definizione della pipeline. `CopyPeriod` è un oggetto `Schedule` e `InputData` e `OutputData` sono oggetti di nodi di dati.

```
{
  "id" : "S3ToS3Copy",
  "type" : "CopyActivity",
  "schedule" : { "ref" : "CopyPeriod" },
  "input" : { "ref" : "InputData" },
  "output" : { "ref" : "OutputData" },
  "runsOn" : { "ref" : "MyEc2Resource" }
}
```

## Sintassi
<a name="copyactivity-syntax"></a>


****  

| Campi Object Invocation | Description | Tipo di slot | 
| --- | --- | --- | 
| schedule | Questo oggetto viene richiamato entro l'esecuzione di un intervallo di pianificazione. Gli utenti devono specificare un riferimento alla pianificazione di un altro oggetto per impostare l'ordine di esecuzione delle dipendenze per questo oggetto. Gli utenti possono soddisfare questo requisito impostando esplicitamente una pianificazione sull'oggetto, ad esempio specificando «schedule»: \$1"ref»: "«\$1. DefaultSchedule Nella maggior parte dei casi, è meglio inserire il riferimento alla pianificazione nell'oggetto pipeline di default, in modo che tutti gli oggetti possano ereditare tale pianificazione. O, se la pipeline consiste di una struttura di pianificazioni (nidificate all'interno della pianificazione principale), gli utenti possono creare un oggetto padre che dispone di un riferimento alla pianificazione. Per ulteriori informazioni sulle configurazioni di pianificazione opzionali di esempio, consulta [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html) | Oggetto di riferimento, ad esempio «schedule»: \$1"ref»:» «myScheduleId\$1 | 


****  

| Gruppo richiesto (uno dei seguenti è obbligatorio) | Description | Tipo di slot | 
| --- | --- | --- | 
| runsOn | Le risorse di calcolo per eseguire l'attività o il comando. Ad esempio, un'istanza Amazon EC2 o un cluster Amazon EMR. | Oggetto di riferimento, ad esempio «runSon»: \$1"ref»:» myResourceId «\$1 | 
| workerGroup | Il gruppo di lavoro. Utilizzato per le attività di routing. Se si fornisce un valore runsOn e workerGroup esiste, workerGroup verrà ignorato. | Stringa | 

 


****  

| Campi opzionali | Description | Tipo di slot | 
| --- | --- | --- | 
| attemptStatus | Lo stato segnalato più di recente dall'attività remota. | Stringa | 
| attemptTimeout | Timeout per il completamento del lavoro in remoto. Se questo campo è impostato, un'attività remota che non viene completata entro il tempo impostato di avvio viene tentata di nuovo. | Periodo | 
| dependsOn | Specifica una dipendenza su un altro oggetto eseguibile. | Oggetto di riferimento, ad esempio «dependsOn»: \$1"ref»:» «myActivityId\$1 | 
| failureAndRerunModalità | Descrive il comportamento del nodo consumer quando le dipendenze presentano un errore o vengono di nuovo eseguite | Enumerazione | 
| input | Origine dati di input. | Oggetto di riferimento, ad esempio «input»: \$1"ref»:» myDataNode Id "\$1 | 
| lateAfterTimeout | Il tempo trascorso dall'inizio della pipeline entro il quale l'oggetto deve essere completato. Viene attivato solo quando il tipo di pianificazione non è impostato su. ondemand | Periodo | 
| maxActiveInstances | Il numero massimo di istanze attive simultanee di un componente. Le riesecuzioni non contano ai fini del numero di istanze attive. | Numero intero | 
| maximumRetries | Numero massimo di tentativi in caso di errore | Numero intero | 
| onFail | Un'azione da eseguire quando l'oggetto corrente ha esito negativo. | Oggetto di riferimento, ad esempio «onFail»: \$1"ref»:» myActionId «\$1 | 
| onLateAction | Azioni che devono essere attivate se un oggetto non è stato ancora pianificato o non è ancora completo. | Oggetto di riferimento, ad esempio "onLateAction«: \$1" ref»:» myActionId «\$1 | 
| onSuccess | Un'operazione da eseguire quando l'oggetto corrente ha esito positivo. | Oggetto di riferimento, ad esempio «onSuccess»: \$1"ref»:» myActionId «\$1 | 
| output | Origine dati di output. | Oggetto di riferimento, ad esempio «output»: \$1"ref»:» myDataNode Id "\$1 | 
| parent | Padre dell'oggetto corrente da cui saranno ereditati gli slot. | Oggetto di riferimento, ad esempio «parent»: \$1"ref»:» myBaseObject Id "\$1 | 
| pipelineLogUri | L'URI S3 (come 's3://BucketName/Key/ ') per caricare i log per la pipeline. | Stringa | 
| precondizione | Definisce eventualmente una precondizione. Un nodo dati non è contrassegnato come "READY" finché tutte le precondizioni non siano state soddisfatte. | Oggetto di riferimento, ad esempio «precondition»: \$1"ref»:» «\$1 myPreconditionId | 
| reportProgressTimeout | Timeout per chiamate successive di attività in remoto a reportProgress. Se impostato, le attività in remoto che non presentano avanzamenti nel periodo specificato potrebbero essere considerate bloccate e sono quindi oggetto di un altro tentativo. | Periodo | 
| retryDelay | La durata del timeout tra due tentativi. | Periodo | 
| scheduleType | Il tipo di pianificazione consente di specificare se gli oggetti nella definizione di pipeline devono essere programmati all'inizio o alla fine dell'intervallo. Time Series Style Scheduling significa che le istanze vengono programmate al termine di ogni intervallo e Cron Style Scheduling significa che le istanze vengono programmate all'inizio di ogni intervallo. Una pianificazione on demand consente di eseguire una pipeline una sola volta, per attivazione. Questo significa che non è necessario clonare o ricreare la pipeline per eseguirla di nuovo. Se utilizzi una pianificazione on demand, devi specificarlo nell'oggetto predefinito e deve essere l'unico scheduleType specificato per gli oggetti della pipeline. Per utilizzare le pipeline su richiesta, è sufficiente chiamare l' ActivatePipeline operazione per ogni esecuzione successiva. I valori sono: cron, ondemand e timeseries. | Enumerazione | 

 


****  

| Campi Runtime | Description | Tipo di slot | 
| --- | --- | --- | 
| @activeInstances | Elenco di oggetti di istanze attive attualmente programmate. | Oggetto di riferimento, ad esempio «activeInstances»: \$1"ref»:» Id "\$1 myRunnableObject | 
| @actualEndTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| @actualStartTime | L'ora in cui è stata avviata l'esecuzione di questo oggetto. | DateTime | 
| cancellationReason | CancellationReason se questo oggetto è stato annullato. | Stringa | 
| @cascadeFailedOn | Descrizione della catena di dipendenza che ha generato l'errore dell'oggetto. | Oggetto di riferimento, ad esempio "cascadeFailedOn«: \$1" ref»:» myRunnableObject Id "\$1 | 
| emrStepLog | Log della fase EMR disponibili solo sui tentativi delle attività EMR | Stringa | 
| errorId | ErrorId se l'oggetto non è riuscito. | Stringa | 
| errorMessage | ErrorMessage se l'oggetto non è riuscito. | Stringa | 
| errorStackTrace | Traccia dello stack di errore se l'oggetto non è riuscito. | Stringa | 
| @finishedTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| hadoopJobLog | Log delle attività Hadoop disponibili per le attività basate su EMR. | Stringa | 
| @healthStatus | Lo stato di integrità dell'oggetto che riflette l'esito positivo o negativo dell'ultima istanza dell'oggetto che ha raggiunto lo stato di un'istanza terminata. | Stringa | 
| @healthStatusFromInstanceId | Id dell'ultimo oggetto dell'istanza che ha raggiunto lo stato terminato. | Stringa | 
| @ healthStatusUpdated Ora | L'ora in cui lo stato di integrità è stato aggiornato l'ultima volta. | DateTime | 
| hostname | Il nome host del client che si è aggiudicato il tentativo dell'attività. | Stringa | 
| @lastDeactivatedTime | L'ora in cui l'oggetto è stato disattivato. | DateTime | 
| @ latestCompletedRun Ora | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata completata. | DateTime | 
| @latestRunTime | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata pianificata. | DateTime | 
| @nextRunTime | L'orario dell'esecuzione da programmare come successiva. | DateTime | 
| reportProgressTime | Il periodo di tempo più recente in cui l'attività remota ha segnalato un progresso. | DateTime | 
| @scheduledEndTime | L'orario di termine della pianificazione per un oggetto | DateTime | 
| @scheduledStartTime | L'orario di inizio della pianificazione per l'oggetto | DateTime | 
| @status | Lo stato di questo oggetto. | Stringa | 
| @version | Versione della pipeline con cui l'oggetto è stato creato. | Stringa | 
| @waitingOn | Descrizione dell'elenco di dipendenze per cui questo oggetto è in attesa. | Oggetto di riferimento, ad esempio «waitingOn»: \$1"ref»:» myRunnableObject Id "\$1 | 

 


****  

| Campi di sistema | Description | Tipo di slot | 
| --- | --- | --- | 
| @error | Errore che descrive il formato oggetto errato | Stringa | 
| @pipelineId | L'id della pipeline a cui appartiene questo oggetto | Stringa | 
| @sphere | La sfera di un oggetto indica la propria posizione nel ciclo di vita: i Component Objects generano Instance Objects che eseguono Attempt Objects | Stringa | 

## Vedi anche
<a name="copyactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [EmrActivity](dp-object-emractivity.md)
+ [Esportazione di dati MySQL su Amazon S3 utilizzando AWS Data Pipeline](dp-copydata-mysql.md)

# EmrActivity
<a name="dp-object-emractivity"></a>

 Esegue un cluster EMR. 

AWS Data Pipeline utilizza un formato diverso per i passaggi rispetto ad Amazon EMR; ad esempio, AWS Data Pipeline utilizza argomenti separati da virgole dopo il nome JAR nel campo step. `EmrActivity` L'esempio seguente mostra un passaggio formattato per Amazon EMR, seguito dal AWS Data Pipeline suo equivalente:

```
s3://amzn-s3-demo-bucket/MyWork.jar arg1 arg2 arg3
```

```
"s3://amzn-s3-demo-bucket/MyWork.jar,arg1,arg2,arg3"
```

## Esempi
<a name="emractivity-example"></a>

Di seguito è illustrato un esempio di questo tipo di oggetto. Questo esempio utilizza versioni precedenti di Amazon EMR. Verifica la correttezza di questo esempio con la versione del cluster Amazon EMR che stai utilizzando. 

Questo oggetto fa riferimento a tre altri oggetti definiti nello stesso file di definizione della pipeline. `MyEmrCluster` è un oggetto `EmrCluster` e `MyS3Input` e `MyS3Output` sono oggetti `S3DataNode`. 

**Nota**  
In questo esempio, è possibile sostituire il campo `step` con la stringa di cluster desiderato, che può essere uno script Pig, un cluster di streaming Hadoop, un JAR personalizzato, inclusi i parametri, e così via.

Hadoop 2.x (AMI 3.x)

```
{
  "id" : "MyEmrActivity",
  "type" : "EmrActivity",
  "runsOn" : { "ref" : "MyEmrCluster" },
  "preStepCommand" : "scp remoteFiles localFiles",
  "step" : ["s3://amzn-s3-demo-bucket/myPath/myStep.jar,firstArg,secondArg,-files,s3://amzn-s3-demo-bucket/myPath/myFile.py,-input,s3://myinputbucket/path,-output,s3://myoutputbucket/path,-mapper,myFile.py,-reducer,reducerName","s3://amzn-s3-demo-bucket/myPath/myotherStep.jar,..."],
  "postStepCommand" : "scp localFiles remoteFiles",
  "input" : { "ref" : "MyS3Input" },
  "output" : { "ref" : "MyS3Output" }
}
```

**Nota**  
Per passare argomenti a un'applicazione in una fase, è necessario specificare la regione nel percorso dello script, come nell'esempio seguente. Inoltre, potrebbe essere necessario uscire dagli argomenti passati. Ad esempio, se si utilizza `script-runner.jar` per eseguire uno script shell e si desidera passare argomenti allo script, è necessario eliminare le virgole che li separano. Lo slot della fase che segue dimostra come eseguire questa operazione:   

```
"step" : "s3://eu-west-1.elasticmapreduce/libs/script-runner/script-runner.jar,s3://datapipeline/echo.sh,a\\\\,b\\\\,c"
```
In questa fase viene utilizzato `script-runner.jar` per eseguire lo `echo.sh` script shell e passare `a`, `b` e `c` come unico argomento allo script. Il primo carattere escape viene rimosso dall'argomento risultante in modo da poterlo utilizzare di nuovo. Ad esempio, se si ha `File\.gz` come argomento in formato JSON, è possibile farlo usando `File\\\\.gz`. Tuttavia, poiché il primo carattere escape viene eliminato, è necessario utilizzare `File\\\\\\\\.gz `.

## Sintassi
<a name="emractivity-syntax"></a>


****  

| Campi Object Invocation | Description | Tipo di slot | 
| --- | --- | --- | 
| schedule | Questo oggetto viene richiamato entro l'esecuzione di un intervallo di pianificazione. Specificare un riferimento alla pianificazione di un altro oggetto per impostare l'ordine di esecuzione delle dipendenze per questo oggetto. È possibile soddisfare questo requisito impostando esplicitamente una pianificazione sull'oggetto, ad esempio, specificando "schedule": \$1"ref": "DefaultSchedule"\$1. Nella maggior parte dei casi, è meglio inserire il riferimento alla pianificazione nell'oggetto pipeline di default, in modo che tutti gli oggetti possano ereditare tale pianificazione. O, se la pipeline consiste di una struttura di pianificazioni (nidificate all'interno della pianificazione principale), è possibile creare un oggetto padre che dispone di un riferimento alla pianificazione. Per ulteriori informazioni sulle configurazioni di pianificazione opzionali di esempio, consulta [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html) | Oggetto di riferimento, ad esempio «schedule»: \$1"ref»:» myScheduleId «\$1 | 

 


****  

| Gruppo richiesto (uno dei seguenti è obbligatorio) | Description | Tipo di slot | 
| --- | --- | --- | 
| runsOn | Il cluster Amazon EMR su cui verrà eseguito questo processo. | Oggetto di riferimento, ad esempio «runSon»: \$1"ref»:» myEmrCluster Id "\$1 | 
| workerGroup | Il gruppo di lavoro. Utilizzato per le attività di routing. Se si fornisce un valore runsOn ed esiste workerGroup, workerGroup verrà ignorato. | Stringa | 

 


****  

| Campi opzionali | Description | Tipo di slot | 
| --- | --- | --- | 
| attemptStatus | Lo stato segnalato più di recente dall'attività remota. | Stringa | 
| attemptTimeout | Timeout per il completamento del lavoro in remoto. Se questo campo è impostato, un'attività remota che non viene completata entro il tempo impostato di avvio viene tentata di nuovo. | Periodo | 
| dependsOn | Specifica una dipendenza su un altro oggetto eseguibile. | Oggetto di riferimento, ad esempio «dependsOn»: \$1"ref»:» myActivityId «\$1 | 
| failureAndRerunModalità | Descrive il comportamento del nodo consumer quando le dipendenze presentano un errore o vengono di nuovo eseguite. | Enumerazione | 
| input | Posizione dei dati di input. | Oggetto di riferimento, ad esempio, «input»: \$1"ref»:» myDataNode Id "\$1 | 
| lateAfterTimeout | Il tempo trascorso dall'inizio della pipeline entro il quale l'oggetto deve essere completato. Viene attivato solo quando il tipo di pianificazione non è impostato su. ondemand | Periodo | 
| maxActiveInstances | Il numero massimo di istanze attive simultanee di un componente. Le riesecuzioni non contano ai fini del numero di istanze attive. | Numero intero | 
| maximumRetries | Numero massimo di tentativi in caso di errore. | Numero intero | 
| onFail | Un'azione da eseguire quando l'oggetto corrente ha esito negativo. | Oggetto di riferimento, ad esempio «onFail»: \$1"ref»:» myActionId «\$1 | 
| onLateAction | Azioni che devono essere attivate se un oggetto non è stato ancora pianificato o non è ancora completo. | Oggetto di riferimento, ad esempio "onLateAction«: \$1" ref»:» myActionId «\$1 | 
| onSuccess | Un'operazione da eseguire quando l'oggetto corrente ha esito positivo. | Oggetto di riferimento, ad esempio «onSuccess»: \$1"ref»:» myActionId «\$1 | 
| output | Posizione dei dati di output. | Oggetto di riferimento, ad esempio «output»: \$1"ref»:» myDataNode Id "\$1 | 
| parent | Padre dell'oggetto corrente da cui saranno ereditati gli slot. | Oggetto di riferimento, ad esempio «parent»: \$1"ref»:» myBaseObject Id "\$1 | 
| pipelineLogUri | L'URI di Amazon S3, ad esempio 's3://BucketName/Prefix/ 'per caricare i log per la pipeline. | Stringa | 
| postStepCommand | Script di shell da eseguire dopo il completamento di tutti i passaggi. Per specificare più script, fino a 255, aggiungere più campi postStepCommand. | Stringa | 
| precondizione | Definisce eventualmente una precondizione. Un nodo dati non è contrassegnato come "READY" finché tutte le precondizioni non siano state soddisfatte. | Oggetto di riferimento, ad esempio, «precondition»: \$1"ref»:» «\$1 myPreconditionId | 
| preStepCommand | Script di shell da eseguire prima dell'esecuzione di qualsiasi passaggio. Per specificare più script, fino a 255, aggiungere più campi preStepCommand. | Stringa | 
| reportProgressTimeout | Timeout per chiamate successive di attività in remoto a reportProgress. Se impostato, le attività in remoto che non presentano avanzamenti nel periodo specificato potrebbero essere considerate bloccate e sono quindi oggetto di un altro tentativo. | Periodo | 
| resizeClusterBeforeIn esecuzione |  Ridimensiona il cluster prima di eseguire questa attività per adattarlo alle tabelle DynamoDB specificate come input o output.   Se `EmrActivity` utilizzi a `DynamoDBDataNode` come nodo di dati di input o output e lo imposti su, inizia `resizeClusterBeforeRunning` a `TRUE` utilizzare i tipi di istanza. AWS Data Pipeline `m3.xlarge` Questo sovrascrive le tue scelte in termini di tipi di istanze con `m3.xlarge`, con un possibile aumento dei costi.   | Booleano | 
| resizeClusterMaxIstanze | Un limite per il numero massimo di istanze che possono essere richieste dall'algoritmo di ridimensionamento. | Numero intero | 
| retryDelay | La durata del timeout tra due tentativi. | Periodo | 
| scheduleType | Il tipo di pianificazione consente di specificare se gli oggetti nella definizione di pipeline devono essere programmati all'inizio o alla fine dell'intervallo. I valori sono cron, ondemand e timeseries. La pianificazione timeseries significa che le istanze sono programmate al termine di ogni intervallo. La pianificazione cron significa che le istanze sono programmate all'inizio di ogni intervallo. Una pianificazione ondemandconsente di eseguire una pipeline una sola volta, per attivazione. Non è necessario clonare o ricreare la pipeline per eseguirla di nuovo. Se utilizzi una pianificazione ondemand, devi specificarlo nell'oggetto predefinito e deve essere l'unico scheduleType specificato per gli oggetti della pipeline. Per utilizzare le pipeline ondemand, chiama l'operazione ActivatePipeline per ogni esecuzione successiva.  | Enumerazione | 
| fase | Uno o più passaggi per il cluster da eseguire. Per specificare più passaggi, fino a 255, aggiungere più campi relativi a queste informazioni. Utilizza argomenti separati da virgole dopo il nome JAR; ad esempio, "s3://amzn-s3-demo-bucket/MyWork.jar,arg1,arg2,arg3". | Stringa | 

 


****  

| Campi Runtime | Description | Tipo di slot | 
| --- | --- | --- | 
| @activeInstances | Elenco di oggetti di istanze attive attualmente programmate. | Oggetto di riferimento, ad esempio «activeInstances»: \$1"ref»:» Id "\$1 myRunnableObject | 
| @actualEndTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| @actualStartTime | L'ora in cui è stata avviata l'esecuzione di questo oggetto. | DateTime | 
| cancellationReason | CancellationReason se questo oggetto è stato annullato. | Stringa | 
| @cascadeFailedOn | Descrizione della catena di dipendenza che ha generato l'errore dell'oggetto. | Oggetto di riferimento, ad esempio "cascadeFailedOn«: \$1" ref»:» myRunnableObject Id "\$1 | 
| emrStepLog | I log dei passaggi di Amazon EMR sono disponibili solo nei tentativi di attività EMR | Stringa | 
| errorId | errorId se l'oggetto non riuscito. | Stringa | 
| errorMessage | errorMessage se l'oggetto non riuscito. | Stringa | 
| errorStackTrace | Traccia dello stack di errore se l'oggetto non è riuscito. | Stringa | 
| @finishedTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| hadoopJobLog | Log delle attività Hadoop disponibili per le attività basate su EMR. | Stringa | 
| @healthStatus | Lo stato di integrità dell'oggetto che riflette l'esito positivo o negativo dell'ultima istanza dell'oggetto che ha raggiunto lo stato di un'istanza terminata. | Stringa | 
| @healthStatusFromInstanceId | Id dell'ultimo oggetto dell'istanza che ha raggiunto lo stato terminato. | Stringa | 
| @ Ora healthStatusUpdated | L'ora in cui lo stato di integrità è stato aggiornato l'ultima volta. | DateTime | 
| hostname | Il nome host del client che si è aggiudicato il tentativo dell'attività. | Stringa | 
| @lastDeactivatedTime | L'ora in cui l'oggetto è stato disattivato. | DateTime | 
| @ latestCompletedRun Ora | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata completata. | DateTime | 
| @latestRunTime | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata pianificata. | DateTime | 
| @nextRunTime | L'orario dell'esecuzione da programmare come successiva. | DateTime | 
| reportProgressTime | Il periodo di tempo più recente in cui l'attività remota ha segnalato un progresso. | DateTime | 
| @scheduledEndTime | L'orario di termine della pianificazione per l'oggetto. | DateTime | 
| @scheduledStartTime | L'orario di inizio della pianificazione per l'oggetto. | DateTime | 
| @status | Lo stato di questo oggetto. | Stringa | 
| @version | Versione della pipeline con cui l'oggetto è stato creato. | Stringa | 
| @waitingOn | Descrizione dell'elenco di dipendenze per cui questo oggetto è in attesa. | Oggetto di riferimento, ad esempio «waitingOn»: \$1"ref»:» myRunnableObject Id "\$1 | 

 


****  

| Campi di sistema | Description | Tipo di slot | 
| --- | --- | --- | 
| @error | Errore che descrive il formato oggetto errato. | Stringa | 
| @pipelineId | L'ID della pipeline a cui appartiene questo oggetto. | Stringa | 
| @sphere | La sfera di un oggetto indica la propria posizione nel ciclo di vita: i Component Objects generano Instance Objects che eseguono Attempt Objects. | Stringa | 

## Vedi anche
<a name="emractivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [CopyActivity](dp-object-copyactivity.md)
+ [EmrCluster](dp-object-emrcluster.md)

# HadoopActivity
<a name="dp-object-hadoopactivity"></a>

 Esegue un MapReduce processo su un cluster. Il cluster può essere un cluster EMR gestito da AWS Data Pipeline o un'altra risorsa, se si utilizza. TaskRunner Da utilizzare HadoopActivity quando si desidera eseguire il lavoro in parallelo. Ciò consente di utilizzare le risorse di pianificazione del framework YARN o del negoziatore di MapReduce risorse in Hadoop 1. Se desideri eseguire il lavoro in sequenza utilizzando l'azione Amazon EMR Step, puoi comunque utilizzare. [EmrActivity](dp-object-emractivity.md)

## Esempi
<a name="hadoopactivity-example"></a>

**HadoopActivity utilizzando un cluster EMR gestito da AWS Data Pipeline**  
L' HadoopActivity oggetto seguente utilizza una EmrCluster risorsa per eseguire un programma:

```
 {
   "name": "MyHadoopActivity",
   "schedule": {"ref": "ResourcePeriod"},
   "runsOn": {"ref": “MyEmrCluster”},
   "type": "HadoopActivity",
   "preActivityTaskConfig":{"ref":"preTaskScriptConfig”},   
   "jarUri": "/home/hadoop/contrib/streaming/hadoop-streaming.jar",
   "argument": [
     "-files",
     “s3://elasticmapreduce/samples/wordcount/wordSplitter.py“,
     "-mapper",
     "wordSplitter.py",
     "-reducer",
     "aggregate",
     "-input",
     "s3://elasticmapreduce/samples/wordcount/input/",
     "-output",
     “s3://amzn-s3-demo-bucket/MyHadoopActivity/#{@pipelineId}/#{format(@scheduledStartTime,'YYYY-MM-dd')}"
   ],
   "maximumRetries": "0",
   "postActivityTaskConfig":{"ref":"postTaskScriptConfig”},
   "hadoopQueue" : “high”
 }
```

Ecco il corrispondente*MyEmrCluster*, che configura le code FairScheduler and in YARN per sistemi basati su Hadoop 2: AMIs

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
   "hadoopSchedulerType" : "PARALLEL_FAIR_SCHEDULING",
  “amiVersion” : “3.7.0”,
  "bootstrapAction" : ["s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-z,yarn.scheduler.capacity.root.queues=low\,high\,default,-z,yarn.scheduler.capacity.root.high.capacity=50,-z,yarn.scheduler.capacity.root.low.capacity=10,-z,yarn.scheduler.capacity.root.default.capacity=30”]
}
```

Questo è quello che si usa per configurare in EmrCluster Hadoop 1: FairScheduler 

```
{
      "id": "MyEmrCluster",
      "type": "EmrCluster",    
      "hadoopSchedulerType": "PARALLEL_FAIR_SCHEDULING",
      "amiVersion": "2.4.8",
      "bootstrapAction": "s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-m,mapred.queue.names=low\\\\,high\\\\,default,-m,mapred.fairscheduler.poolnameproperty=mapred.job.queue.name"
          }
```

Le seguenti EmrCluster configurazioni CapacityScheduler per sistemi basati su Hadoop 2: AMIs

```
{
      "id": "MyEmrCluster",
      "type": "EmrCluster",
      "hadoopSchedulerType": "PARALLEL_CAPACITY_SCHEDULING",
      "amiVersion": "3.7.0",
      "bootstrapAction": "s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-z,yarn.scheduler.capacity.root.queues=low\\\\,high,-z,yarn.scheduler.capacity.root.high.capacity=40,-z,yarn.scheduler.capacity.root.low.capacity=60"
    }
```

**HadoopActivity utilizzo di un cluster EMR esistente**  
In questo esempio, si utilizzano workergroups e TaskRunner a per eseguire un programma su un cluster EMR esistente. La seguente definizione di pipeline consente di: HadoopActivity 
+ Esegue un MapReduce programma solo sulle *myWorkerGroup* risorse. Per ulteriori informazioni sui gruppi di lavoratori, consulta [Esecuzione del lavoro su risorse esistenti utilizzando Task Runner](dp-how-task-runner-user-managed.md).
+ Esegui un preActivityTask Config e Config postActivityTask

```
{
  "objects": [
    {
      "argument": [
        "-files",
        "s3://elasticmapreduce/samples/wordcount/wordSplitter.py",
        "-mapper",
        "wordSplitter.py",
        "-reducer",
        "aggregate",
        "-input",
        "s3://elasticmapreduce/samples/wordcount/input/",
        "-output",
        "s3://amzn-s3-demo-bucket/MyHadoopActivity/#{@pipelineId}/#{format(@scheduledStartTime,'YYYY-MM-dd')}"
      ],
      "id": "MyHadoopActivity",
      "jarUri": "/home/hadoop/contrib/streaming/hadoop-streaming.jar",
      "name": "MyHadoopActivity",
      "type": "HadoopActivity"
    },
    {
      "id": "SchedulePeriod",
      "startDateTime": "start_datetime",
      "name": "SchedulePeriod",
      "period": "1 day",
      "type": "Schedule",
      "endDateTime": "end_datetime"
    },
    {
      "id": "ShellScriptConfig",
      "scriptUri": "s3://amzn-s3-demo-bucket/scripts/preTaskScript.sh",
      "name": "preTaskScriptConfig",
      "scriptArgument": [
        "test",
        "argument"
      ],
      "type": "ShellScriptConfig"
    },
    {
      "id": "ShellScriptConfig",
      "scriptUri": "s3://amzn-s3-demo-bucket/scripts/postTaskScript.sh",
      "name": "postTaskScriptConfig",
      "scriptArgument": [
        "test",
        "argument"
      ],
      "type": "ShellScriptConfig"
    },
    {
      "id": "Default",
      "scheduleType": "cron",
      "schedule": {
        "ref": "SchedulePeriod"
      },
      "name": "Default",
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/logs/2015-05-22T18:02:00.343Z642f3fe415",
      "maximumRetries": "0",    
      "workerGroup": "myWorkerGroup",
      "preActivityTaskConfig": {
        "ref": "preTaskScriptConfig"
      },
      "postActivityTaskConfig": {
        "ref": "postTaskScriptConfig"
      }    
    }
  ] 
}
```

## Sintassi
<a name="hadoopactivity-syntax"></a>


****  

| Campi obbligatori | Description | Tipo di slot | 
| --- | --- | --- | 
| jarUri | Posizione di un JAR in Amazon S3 o nel file system locale del cluster con cui eseguire. HadoopActivity | Stringa | 

 


****  

| Campi Object Invocation | Description | Tipo di slot | 
| --- | --- | --- | 
| schedule | Questo oggetto viene richiamato entro l'esecuzione di un intervallo di pianificazione. Gli utenti devono specificare un riferimento alla pianificazione di un altro oggetto per impostare l'ordine di esecuzione delle dipendenze per questo oggetto. Gli utenti possono soddisfare questo requisito impostando esplicitamente una pianificazione sull'oggetto, ad esempio specificando «schedule»: \$1"ref»: "DefaultSchedule«\$1. Nella maggior parte dei casi, è meglio inserire il riferimento alla pianificazione nell'oggetto pipeline di default, in modo che tutti gli oggetti possano ereditare tale pianificazione. O, se la pipeline consiste di una struttura di pianificazioni (nidificate all'interno della pianificazione principale), gli utenti possono creare un oggetto padre che dispone di un riferimento alla pianificazione. Per ulteriori informazioni sulle configurazioni di pianificazione opzionali di esempio, consulta [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html) | Oggetto di riferimento, ad esempio «schedule»: \$1"ref»:» «myScheduleId\$1 | 

 


****  

| Gruppo richiesto (uno dei seguenti è obbligatorio) | Description | Tipo di slot | 
| --- | --- | --- | 
| runsOn | Cluster EMR su cui il processo verrà eseguito. | Oggetto di riferimento, ad esempio «runSon»: \$1"ref»:» myEmrCluster Id "\$1 | 
| workerGroup | Il gruppo di lavoro. Utilizzato per le attività di routing. Se si fornisce un valore runsOn e workerGroup esiste, workerGroup verrà ignorato. | Stringa | 

 


****  

| Campi opzionali | Description | Tipo di slot | 
| --- | --- | --- | 
| argument | Gli argomenti da trasmettere al JAR. | Stringa | 
| attemptStatus | Lo stato segnalato più di recente dall'attività remota. | Stringa | 
| attemptTimeout | Timeout per il completamento del lavoro in remoto. Se questo campo è impostato, un'attività remota che non viene completata entro il tempo impostato di avvio viene tentata di nuovo. | Periodo | 
| dependsOn | Specifica una dipendenza su un altro oggetto eseguibile. | Oggetto di riferimento, ad esempio «dependsOn»: \$1"ref»:» «myActivityId\$1 | 
| failureAndRerunModalità | Descrive il comportamento del nodo consumer quando le dipendenze presentano un errore o vengono di nuovo eseguite | Enumerazione | 
| hadoopQueue | Il nome della coda del pianificatore Hadoop a cui verrà inviata l'attività. | Stringa | 
| input | Posizione dei dati di input. | Oggetto di riferimento, ad esempio «input»: \$1"ref»:» myDataNode Id "\$1 | 
| lateAfterTimeout | Il tempo trascorso dall'inizio della pipeline entro il quale l'oggetto deve essere completato. Viene attivato solo quando il tipo di pianificazione non è impostato su. ondemand | Periodo | 
| mainClass | La classe principale del JAR con HadoopActivity cui stai eseguendo. | Stringa | 
| maxActiveInstances | Il numero massimo di istanze attive simultanee di un componente. Le riesecuzioni non contano ai fini del numero di istanze attive. | Numero intero | 
| maximumRetries | Numero massimo di tentativi in caso di errore | Numero intero | 
| onFail | Un'azione da eseguire quando l'oggetto corrente ha esito negativo. | Oggetto di riferimento, ad esempio «onFail»: \$1"ref»:» myActionId «\$1 | 
| onLateAction | Azioni che devono essere attivate se un oggetto non è stato ancora pianificato o non è ancora completo. | Oggetto di riferimento, ad esempio "onLateAction«: \$1" ref»:» myActionId «\$1 | 
| onSuccess | Un'operazione da eseguire quando l'oggetto corrente ha esito positivo. | Oggetto di riferimento, ad esempio «onSuccess»: \$1"ref»:» myActionId «\$1 | 
| output | Posizione dei dati di output. | Oggetto di riferimento, ad esempio «output»: \$1"ref»:» myDataNode Id "\$1 | 
| parent | Padre dell'oggetto corrente da cui saranno ereditati gli slot. | Oggetto di riferimento, ad esempio «parent»: \$1"ref»:» myBaseObject Id "\$1 | 
| pipelineLogUri | L'URI S3 (come 's3://BucketName/Key/ ') per caricare i log per la pipeline. | Stringa | 
| postActivityTaskConfig | Lo script di configurazione post-attività da eseguire. Questo è composto da un URI dello script della shell in Amazon S3 e da un elenco di argomenti. | Oggetto di riferimento, ad esempio "postActivityTaskConfig»: \$1"ref»:» myShellScript ConfigId «\$1 | 
| preActivityTaskConfig | Lo script di configurazione pre-attività da eseguire. Questo è composto da un URI dello script della shell in Amazon S3 e da un elenco di argomenti. | Oggetto di riferimento, ad esempio "preActivityTaskConfig»: \$1"ref»:» myShellScript ConfigId «\$1 | 
| precondizione | Definisce eventualmente una precondizione. Un nodo dati non è contrassegnato come "READY" finché tutte le precondizioni non siano state soddisfatte. | Oggetto di riferimento, ad esempio «precondizione»: \$1"ref»:» «myPreconditionId\$1 | 
| reportProgressTimeout | Timeout per chiamate successive di attività in remoto a reportProgress. Se impostato, le attività in remoto che non presentano avanzamenti nel periodo specificato potrebbero essere considerate bloccate e sono quindi oggetto di un altro tentativo. | Periodo | 
| retryDelay | La durata del timeout tra due tentativi. | Periodo | 
| scheduleType | Il tipo di pianificazione consente di specificare se gli oggetti nella definizione di pipeline devono essere programmati all'inizio o alla fine dell'intervallo. Time Series Style Scheduling significa che le istanze vengono programmate al termine di ogni intervallo e Cron Style Scheduling significa che le istanze vengono programmate all'inizio di ogni intervallo. Una pianificazione on demand consente di eseguire una pipeline una sola volta, per attivazione. Questo significa che non è necessario clonare o ricreare la pipeline per eseguirla di nuovo. Se utilizzi una pianificazione on demand, devi specificarlo nell'oggetto predefinito e deve essere l'unico scheduleType specificato per gli oggetti della pipeline. Per utilizzare le pipeline su richiesta, è sufficiente chiamare l' ActivatePipeline operazione per ogni esecuzione successiva. I valori sono: cron, ondemand e timeseries. | Enumerazione | 

 


****  

| Campi Runtime | Description | Tipo di slot | 
| --- | --- | --- | 
| @activeInstances | Elenco di oggetti di istanze attive attualmente programmate. | Oggetto di riferimento, ad esempio «activeInstances»: \$1"ref»:» Id "\$1 myRunnableObject | 
| @actualEndTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| @actualStartTime | L'ora in cui è stata avviata l'esecuzione di questo oggetto. | DateTime | 
| cancellationReason | CancellationReason se questo oggetto è stato annullato. | Stringa | 
| @cascadeFailedOn | Descrizione della catena di dipendenza che ha generato l'errore dell'oggetto. | Oggetto di riferimento, ad esempio "cascadeFailedOn«: \$1" ref»:» myRunnableObject Id "\$1 | 
| emrStepLog | Log della fase EMR disponibili solo sui tentativi delle attività EMR | Stringa | 
| errorId | ErrorId se l'oggetto non è riuscito. | Stringa | 
| errorMessage | ErrorMessage se l'oggetto non è riuscito. | Stringa | 
| errorStackTrace | Traccia dello stack di errore se l'oggetto non è riuscito. | Stringa | 
| @finishedTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| hadoopJobLog | Log delle attività Hadoop disponibili per le attività basate su EMR. | Stringa | 
| @healthStatus | Lo stato di integrità dell'oggetto che riflette l'esito positivo o negativo dell'ultima istanza dell'oggetto che ha raggiunto lo stato di un'istanza terminata. | Stringa | 
| @healthStatusFromInstanceId | Id dell'ultimo oggetto dell'istanza che ha raggiunto lo stato terminato. | Stringa | 
| @ healthStatusUpdated Ora | L'ora in cui lo stato di integrità è stato aggiornato l'ultima volta. | DateTime | 
| hostname | Il nome host del client che si è aggiudicato il tentativo dell'attività. | Stringa | 
| @lastDeactivatedTime | L'ora in cui l'oggetto è stato disattivato. | DateTime | 
| @ latestCompletedRun Ora | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata completata. | DateTime | 
| @latestRunTime | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata pianificata. | DateTime | 
| @nextRunTime | L'orario dell'esecuzione da programmare come successiva. | DateTime | 
| reportProgressTime | Il periodo di tempo più recente in cui l'attività remota ha segnalato un progresso. | DateTime | 
| @scheduledEndTime | L'orario di termine della pianificazione per un oggetto | DateTime | 
| @scheduledStartTime | L'orario di inizio della pianificazione per l'oggetto | DateTime | 
| @status | Lo stato di questo oggetto. | Stringa | 
| @version | Versione della pipeline con cui l'oggetto è stato creato. | Stringa | 
| @waitingOn | Descrizione dell'elenco di dipendenze per cui questo oggetto è in attesa. | Oggetto di riferimento, ad esempio «waitingOn»: \$1"ref»:» myRunnableObject Id "\$1 | 

 


****  

| Campi di sistema | Description | Tipo di slot | 
| --- | --- | --- | 
| @error | Errore che descrive il formato oggetto errato. | Stringa | 
| @pipelineId | L'id della pipeline a cui appartiene questo oggetto. | Stringa | 
| @sphere | La sfera di un oggetto indica la propria posizione nel ciclo di vita: i Component Objects generano Instance Objects che eseguono Attempt Objects. | Stringa | 

## Vedi anche
<a name="hadoopactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [CopyActivity](dp-object-copyactivity.md)
+ [EmrCluster](dp-object-emrcluster.md)

# HiveActivity
<a name="dp-object-hiveactivity"></a>

Esegue una query Hive su un cluster EMR. `HiveActivity`semplifica la configurazione di un'attività di Amazon EMR e crea automaticamente tabelle Hive in base ai dati di input provenienti da Amazon S3 o Amazon RDS. Tutto ciò che devi specificare è l'HiveQL da eseguire sui dati di origine. AWS Data Pipeline crea automaticamente tabelle Hive con `${input1}``${input2}`, e così via, in base ai campi di input nell'oggetto. `HiveActivity` 

Per gli input di Amazon S3, il `dataFormat` campo viene utilizzato per creare i nomi delle colonne Hive. 

Per gli input MySQL (Amazon RDS), i nomi delle colonne per la query SQL vengono utilizzati per creare i nomi delle colonne Hive.

**Nota**  
Questa attività utilizza il [CSV Serde](https://cwiki.apache.org/confluence/display/Hive/CSV+Serde) di Hive.

## Esempio
<a name="hiveactivity-example"></a>

Di seguito è illustrato un esempio di questo tipo di oggetto. Questo oggetto fa riferimento a tre altri oggetti definiti nello stesso file di definizione della pipeline. `MySchedule` è un oggetto `Schedule` e `MyS3Input` e `MyS3Output` sono oggetti di nodi di dati.

```
{
  "name" : "ProcessLogData",
  "id" : "MyHiveActivity",
  "type" : "HiveActivity",
  "schedule" : { "ref": "MySchedule" },
  "hiveScript" : "INSERT OVERWRITE TABLE ${output1} select host,user,time,request,status,size from ${input1};",
  "input" : { "ref": "MyS3Input" },
  "output" : { "ref": "MyS3Output" },
  "runsOn" : { "ref": "MyEmrCluster" }
}
```

## Sintassi
<a name="hiveactivity-syntax"></a>


****  

| Campi Object Invocation | Description | Tipo di slot | 
| --- | --- | --- | 
| schedule | Questo oggetto viene richiamato entro l'esecuzione di un intervallo di pianificazione. Specificare un riferimento alla pianificazione di un altro oggetto per impostare l'ordine di esecuzione delle dipendenze per questo oggetto. È possibile soddisfare questo requisito impostando esplicitamente una pianificazione sull'oggetto, ad esempio specificando «schedule»: \$1"ref»: "«\$1. DefaultSchedule Nella maggior parte dei casi, è meglio inserire il riferimento alla pianificazione nell'oggetto pipeline di default, in modo che tutti gli oggetti possano ereditare tale pianificazione. O, se la pipeline consiste di una struttura di pianificazioni (nidificate all'interno della pianificazione principale), è possibile creare un oggetto padre che dispone di un riferimento alla pianificazione. Per ulteriori informazioni sulle configurazioni di pianificazione opzionali di esempio, consulta [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html). | Oggetto di riferimento, ad esempio «schedule»: \$1"ref»:» «myScheduleId\$1 | 

 


****  

| Gruppo richiesto (uno dei seguenti è obbligatorio) | Description | Tipo di slot | 
| --- | --- | --- | 
| hiveScript | Lo script Hive da eseguire. | Stringa | 
| scriptUri | La posizione dello script Hive da eseguire (ad esempio, s3:// scriptLocation). | Stringa | 

 


****  

| Gruppo obbligatorio | Description | Tipo di slot | 
| --- | --- | --- | 
| runsOn | Il cluster EMR in cui viene eseguita questa HiveActivity. | Oggetto di riferimento, ad esempio «runSon»: \$1"ref»:» myEmrCluster Id "\$1 | 
| workerGroup | Il gruppo di lavoro. Utilizzato per le attività di routing. Se si fornisce un valore runsOn ed esiste workerGroup, workerGroup verrà ignorato. | Stringa | 
| input | Origine dati di input. | Oggetto di riferimento, ad esempio «input»: \$1"ref»:» myDataNode Id "\$1 | 
| output | Origine dati di output. | Oggetto di riferimento, ad esempio «output»: \$1"ref»:» myDataNode Id "\$1 | 

 


****  

| Campi opzionali | Description | Tipo di slot | 
| --- | --- | --- | 
| attemptStatus | Lo stato segnalato più di recente dall'attività remota. | Stringa | 
| attemptTimeout | Timeout per il completamento del lavoro in remoto. Se questo campo è impostato, un'attività remota che non viene completata entro il tempo impostato di avvio viene tentata di nuovo. | Periodo | 
| dependsOn | Specifica una dipendenza su un altro oggetto eseguibile. | Oggetto di riferimento, ad esempio «dependsOn»: \$1"ref»:» myActivityId «\$1 | 
| failureAndRerunModalità | Descrive il comportamento del nodo consumer quando le dipendenze presentano un errore o vengono di nuovo eseguite. | Enumerazione | 
| hadoopQueue | Il nome della coda del pianificatore Hadoop a cui verrà inviato il processo. | Stringa | 
| lateAfterTimeout | Il tempo trascorso dopo l'inizio della pipeline entro il quale l'oggetto deve essere completato. Viene attivato solo quando il tipo di pianificazione non è impostato su. ondemand | Periodo | 
| maxActiveInstances | Il numero massimo di istanze attive simultanee di un componente. Le riesecuzioni non contano ai fini del numero di istanze attive. | Numero intero | 
| maximumRetries | Numero massimo di tentativi in caso di errore. | Numero intero | 
| onFail | Un'azione da eseguire quando l'oggetto corrente ha esito negativo. | Oggetto di riferimento, ad esempio «onFail»: \$1"ref»:» myActionId «\$1 | 
| onLateAction | Azioni che devono essere attivate se un oggetto non è stato ancora pianificato o non è ancora completo. | Oggetto di riferimento, ad esempio "onLateAction«: \$1" ref»:» myActionId «\$1 | 
| onSuccess | Un'operazione da eseguire quando l'oggetto corrente ha esito positivo. | Oggetto di riferimento, ad esempio «onSuccess»: \$1"ref»:» myActionId «\$1 | 
| parent | Padre dell'oggetto corrente da cui saranno ereditati gli slot. | Oggetto di riferimento, ad esempio «parent»: \$1"ref»:» myBaseObject Id "\$1 | 
| pipelineLogUri | L'URI S3 (come 's3://BucketName/Key/ ') per caricare i log per la pipeline. | Stringa | 
| postActivityTaskConfig | Lo script di configurazione post-attività da eseguire. Questo è composto da un URI dello script della shell in Amazon S3 e da un elenco di argomenti. | Oggetto di riferimento, ad esempio "postActivityTaskConfig»: \$1"ref»:» myShellScript ConfigId «\$1 | 
| preActivityTaskConfig | Lo script di configurazione pre-attività da eseguire. Questo è composto da un URI dello script della shell in Amazon S3 e da un elenco di argomenti. | Oggetto di riferimento, ad esempio "preActivityTaskConfig»: \$1"ref»:» myShellScript ConfigId «\$1 | 
| precondizione | Definisce eventualmente una precondizione. Un nodo dati non è contrassegnato come "READY" finché tutte le precondizioni non siano state soddisfatte. | Oggetto di riferimento, ad esempio «precondition»: \$1"ref»:» myPreconditionId «\$1 | 
| reportProgressTimeout | Timeout per chiamate successive di attività in remoto a reportProgress. Se impostato, le attività in remoto che non presentano avanzamenti nel periodo specificato potrebbero essere considerate bloccate e sono quindi oggetto di un altro tentativo. | Periodo | 
| resizeClusterBeforeIn esecuzione | Ridimensiona il cluster prima di eseguire questa attività per adattare i nodi di dati DynamoDB specificati come input o output.  Se la tua attività utilizza un `DynamoDBDataNode` come nodo di dati di input o output e lo imposti su, inizia `resizeClusterBeforeRunning` a `TRUE` utilizzare i tipi di istanza. AWS Data Pipeline `m3.xlarge` Questo sovrascrive le tue scelte in termini di tipi di istanze con `m3.xlarge`, con un possibile aumento dei costi.  | Booleano | 
| resizeClusterMaxIstanze | Un limite per il numero massimo di istanze che possono essere richieste dall'algoritmo di ridimensionamento. | Numero intero | 
| retryDelay | La durata del timeout tra due tentativi. | Periodo | 
| scheduleType | Il tipo di pianificazione consente di specificare se gli oggetti nella definizione di pipeline devono essere programmati all'inizio o alla fine dell'intervallo. Time Series Style Scheduling significa che le istanze vengono programmate al termine di ogni intervallo e Cron Style Scheduling significa che le istanze vengono programmate all'inizio di ogni intervallo. Una pianificazione on demand consente di eseguire una pipeline una sola volta, per attivazione. Questo significa che non è necessario clonare o ricreare la pipeline per eseguirla di nuovo. Se utilizzi una pianificazione on demand, devi specificarlo nell'oggetto predefinito e deve essere l'unico scheduleType specificato per gli oggetti della pipeline. Per utilizzare le pipeline su richiesta, è sufficiente chiamare l' ActivatePipeline operazione per ogni esecuzione successiva. I valori sono: cron, ondemand e timeseries. | Enumerazione | 
| scriptVariable | Speciifica le variabili di script per Amazon EMR da passare a Hive durante l'esecuzione di uno script. Ad esempio, le seguenti variabili di script di esempio passano le variabili SAMPLE e FILTER\$1DATE a Hive: SAMPLE=s3://elasticmapreduce/samples/hive-ads e FILTER\$1DATE=\$1\$1format(@scheduledStartTime,'YYYY-MM-dd')\$1%. Questo campo accetta più valori e funziona con entrambi i campi script e scriptUri. Inoltre, scriptVariable funziona indipendentemente dall'impostazione della fase di sviluppo su true o false. Il campo è particolarmente utile per inviare valori dinamici a Hive utilizzando le espressioni e le funzioni AWS Data Pipeline . | Stringa | 
| fase | Stabilisce se è abilitata la gestione temporanea prima o dopo aver eseguito lo script. Non consentito con Hive 11, quindi usa un'AMI Amazon EMR versione 3.2.0 o successiva. | Booleano | 

 


****  

| Campi Runtime | Description | Tipo di slot | 
| --- | --- | --- | 
| @activeInstances | Elenco di oggetti di istanze attive attualmente programmate. | Oggetto di riferimento, ad esempio «activeInstances»: \$1"ref»:» Id "\$1 myRunnableObject | 
| @actualEndTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| @actualStartTime | L'ora in cui è stata avviata l'esecuzione di questo oggetto. | DateTime | 
| cancellationReason | CancellationReason se questo oggetto è stato annullato. | Stringa | 
| @cascadeFailedOn | Descrizione della catena di dipendenza che ha generato l'errore dell'oggetto. | Oggetto di riferimento, ad esempio "cascadeFailedOn«: \$1" ref»:» myRunnableObject Id "\$1 | 
| emrStepLog | I log dei passaggi di Amazon EMR sono disponibili solo nei tentativi di attività EMR. | Stringa | 
| errorId | ErrorId se l'oggetto non è riuscito. | Stringa | 
| errorMessage | ErrorMessage se l'oggetto non è riuscito. | Stringa | 
| errorStackTrace | Traccia dello stack di errore se l'oggetto non è riuscito. | Stringa | 
| @finishedTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| hadoopJobLog | Log delle attività Hadoop disponibili per le attività basate su EMR. | Stringa | 
| @healthStatus | Lo stato di integrità dell'oggetto che riflette l'esito positivo o negativo dell'ultima istanza dell'oggetto che ha raggiunto lo stato di un'istanza terminata. | Stringa | 
| @healthStatusFromInstanceId | Id dell'ultimo oggetto dell'istanza che ha raggiunto lo stato terminato. | Stringa | 
| @ Ora healthStatusUpdated | L'ora in cui lo stato di integrità è stato aggiornato l'ultima volta. | DateTime | 
| hostname | Il nome host del client che si è aggiudicato il tentativo dell'attività. | Stringa | 
| @lastDeactivatedTime | L'ora in cui l'oggetto è stato disattivato. | DateTime | 
| @ latestCompletedRun Ora | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata completata. | DateTime | 
| @latestRunTime | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata pianificata. | DateTime | 
| @nextRunTime | L'orario dell'esecuzione da programmare come successiva. | DateTime | 
| reportProgressTime | Il periodo di tempo più recente in cui l'attività remota ha segnalato un progresso. | DateTime | 
| @scheduledEndTime | L'orario di termine della pianificazione per un oggetto. | DateTime | 
| @scheduledStartTime | L'orario di inizio della pianificazione per un oggetto. | DateTime | 
| @status | Lo stato di questo oggetto. | Stringa | 
| @version | Versione della pipeline con cui l'oggetto è stato creato. | Stringa | 
| @waitingOn | Descrizione dell'elenco di dipendenze per cui questo oggetto è in attesa. | Oggetto di riferimento, ad esempio «waitingOn»: \$1"ref»:» myRunnableObject Id "\$1 | 

 


****  

| Campi di sistema | Description | Tipo di slot | 
| --- | --- | --- | 
| @error | Errore che descrive il formato oggetto errato. | Stringa | 
| @pipelineId | L'id della pipeline a cui appartiene questo oggetto. | Stringa | 
| @sphere | La sfera di un oggetto indica la propria posizione nel ciclo di vita: i Component Objects generano Instance Objects che eseguono Attempt Objects. | Stringa | 

## Vedi anche
<a name="hiveactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [EmrActivity](dp-object-emractivity.md)

# HiveCopyActivity
<a name="dp-object-hivecopyactivity"></a>

Esegue una query Hive su un cluster EMR. `HiveCopyActivity`semplifica la copia dei dati tra tabelle DynamoDB. `HiveCopyActivity`accetta un'istruzione HiveQL per filtrare i dati di input da DynamoDB a livello di colonna e riga.

## Esempio
<a name="hivecopyactivity-example"></a>

L'esempio seguente mostra come usare `HiveCopyActivity` e `DynamoDBExportDataFormat` per copiare i dati da una versione `DynamoDBDataNode` a un'altra, mentre i dati vengono filtrati, in base a un timestamp.

```
{
  "objects": [
    {
      "id" : "DataFormat.1",
      "name" : "DataFormat.1",
      "type" : "DynamoDBExportDataFormat",
      "column" : "timeStamp BIGINT"
    },
    {
      "id" : "DataFormat.2",
      "name" : "DataFormat.2",
      "type" : "DynamoDBExportDataFormat"
    },
    {
      "id" : "DynamoDBDataNode.1",
      "name" : "DynamoDBDataNode.1",
      "type" : "DynamoDBDataNode",
      "tableName" : "item_mapped_table_restore_temp",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.1" }
    },
    {
      "id" : "DynamoDBDataNode.2",
      "name" : "DynamoDBDataNode.2",
      "type" : "DynamoDBDataNode",
      "tableName" : "restore_table",
      "region" : "us_west_1",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.2" }
    },
    {
      "id" : "EmrCluster.1",
      "name" : "EmrCluster.1",
      "type" : "EmrCluster",
      "schedule" : { "ref" : "ResourcePeriod" },
      "masterInstanceType" : "m1.xlarge",
      "coreInstanceCount" : "4"
    },
    {
      "id" : "HiveTransform.1",
      "name" : "Hive Copy Transform.1",
      "type" : "HiveCopyActivity",
      "input" : { "ref" : "DynamoDBDataNode.1" },
      "output" : { "ref" : "DynamoDBDataNode.2" },
      "schedule" :{ "ref" : "ResourcePeriod" },
      "runsOn" : { "ref" : "EmrCluster.1" },
      "filterSql" : "`timeStamp` > unix_timestamp(\"#{@scheduledStartTime}\", \"yyyy-MM-dd'T'HH:mm:ss\")"
    },
    {
      "id" : "ResourcePeriod",
      "name" : "ResourcePeriod",
      "type" : "Schedule",
      "period" : "1 Hour",
      "startDateTime" : "2013-06-04T00:00:00",
      "endDateTime" : "2013-06-04T01:00:00"
    }
  ]
}
```

## Sintassi
<a name="hivecopyactivity-syntax"></a>


****  

| Campi Object Invocation | Description | Tipo di slot | 
| --- | --- | --- | 
| schedule | Questo oggetto viene richiamato entro l'esecuzione di un intervallo di pianificazione. Gli utenti devono specificare un riferimento alla pianificazione di un altro oggetto per impostare l'ordine di esecuzione delle dipendenze per questo oggetto. Gli utenti possono soddisfare questo requisito impostando esplicitamente una pianificazione sull'oggetto, ad esempio specificando «schedule»: \$1"ref»: "«\$1. DefaultSchedule Nella maggior parte dei casi, è meglio inserire il riferimento alla pianificazione nell'oggetto pipeline di default, in modo che tutti gli oggetti possano ereditare tale pianificazione. O, se la pipeline consiste di una struttura di pianificazioni (nidificate all'interno della pianificazione principale), gli utenti possono creare un oggetto padre che dispone di un riferimento alla pianificazione. Per ulteriori informazioni sulle configurazioni di pianificazione opzionali di esempio, consulta [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html) | Oggetto di riferimento, ad esempio «schedule»: \$1"ref»:» «myScheduleId\$1 | 

 


****  

| Gruppo richiesto (uno dei seguenti è obbligatorio) | Description | Tipo di slot | 
| --- | --- | --- | 
| runsOn | Specificare il cluster per l'esecuzione. | Oggetto di riferimento, ad esempio «runSon»: \$1"ref»:» myResourceId «\$1 | 
| workerGroup | Il gruppo di lavoro. Utilizzato per le attività di routing. Se si fornisce un valore runsOn ed esiste workerGroup, workerGroup verrà ignorato. | Stringa | 

 


****  

| Campi opzionali | Description | Tipo di slot | 
| --- | --- | --- | 
| attemptStatus | Lo stato segnalato più di recente dall'attività remota. | Stringa | 
| attemptTimeout | Il timeout per il completamento del lavoro in remoto. Se questo campo è impostato, un'attività remota che non viene completata entro il tempo impostato di avvio viene tentata di nuovo. | Periodo | 
| dependsOn | Specifica la dipendenza su un altro oggetto eseguibile. | Oggetto di riferimento, ad esempio «dependsOn»: \$1"ref»:» «myActivityId\$1 | 
| failureAndRerunModalità | Descrive il comportamento del nodo consumer quando le dipendenze presentano un errore o vengono di nuovo eseguite. | Enumerazione | 
| filterSql | Un frammento di istruzione SQL Hive che filtra un sottoinsieme di dati DynamoDB o Amazon S3 da copiare. Il filtro deve contenere solo predicati e non iniziare con una WHERE clausola, perché la aggiunge automaticamente. AWS Data Pipeline  | Stringa | 
| input | Origine dati di input. Questo deve essere S3DataNode o DynamoDBDataNode. Se utilizzi DynamoDBNode, specifica DynamoDBExportDataFormat. | Oggetto di riferimento, ad esempio «input»: \$1"ref»:» myDataNode Id "\$1 | 
| lateAfterTimeout | Il tempo trascorso dall'inizio della pipeline entro il quale l'oggetto deve essere completato. Viene attivato solo quando il tipo di pianificazione non è impostato su. ondemand | Periodo | 
| maxActiveInstances | Il numero massimo di istanze attive simultanee di un componente. Le riesecuzioni non contano ai fini del numero di istanze attive. | Numero intero | 
| maximumRetries | Numero massimo di tentativi in caso di errore. | Numero intero | 
| onFail | Un'azione da eseguire quando l'oggetto corrente ha esito negativo. | Oggetto di riferimento, ad esempio «onFail»: \$1"ref»:» myActionId «\$1 | 
| onLateAction | Azioni che devono essere attivate se un oggetto non è stato ancora pianificato o non è ancora completo. | Oggetto di riferimento, ad esempio "onLateAction«: \$1" ref»:» myActionId «\$1 | 
| onSuccess | Un'operazione da eseguire quando l'oggetto corrente ha esito positivo. | Oggetto di riferimento, ad esempio «onSuccess»: \$1"ref»:» myActionId «\$1 | 
| output | Origine dati di output. Se l'input è S3DataNode, questo deve essere DynamoDBDataNode. Altrimenti può essere S3DataNode o DynamoDBDataNode. Se utilizzi DynamoDBNode, specifica DynamoDBExportDataFormat. | Oggetto di riferimento, ad esempio «output»: \$1"ref»:» myDataNode Id "\$1 | 
| parent | Padre dell'oggetto corrente da cui saranno ereditati gli slot. | Oggetto di riferimento, ad esempio «parent»: \$1"ref»:» myBaseObject Id "\$1 | 
| pipelineLogUri | L'URI di Amazon S3, ad esempio, per il  's3://BucketName/Key/' caricamento dei log per la pipeline. | Stringa | 
| postActivityTaskConfig | Lo script di configurazione post-attività da eseguire. Questo è composto da un URI dello script della shell in Amazon S3 e da un elenco di argomenti. | Oggetto di riferimento, ad esempio "postActivityTaskConfig»: \$1"ref»:» myShellScript ConfigId «\$1 | 
| preActivityTaskConfig | Lo script di configurazione pre-attività da eseguire. Questo è composto da un URI dello script della shell in Amazon S3 e da un elenco di argomenti. | Oggetto di riferimento, ad esempio "preActivityTaskConfig»: \$1"ref»:» myShellScript ConfigId «\$1 | 
| precondizione | Definisce eventualmente una precondizione. Un nodo dati non è contrassegnato come "READY" finché tutte le precondizioni non siano state soddisfatte. | Oggetto di riferimento, ad esempio «precondizione»: \$1"ref»:» «myPreconditionId\$1 | 
| reportProgressTimeout | Timeout per chiamate successive di attività in remoto a reportProgress. Se impostato, le attività in remoto che non presentano avanzamenti nel periodo specificato potrebbero essere considerate bloccate e sono quindi oggetto di un altro tentativo. | Periodo | 
| resizeClusterBeforeIn esecuzione | Ridimensiona il cluster prima di eseguire questa attività per adattare i nodi di dati DynamoDB specificati come input o output.  Se la tua attività utilizza un `DynamoDBDataNode` come nodo di dati di input o output e lo imposti su, inizia `resizeClusterBeforeRunning` a `TRUE` utilizzare i tipi di istanza. AWS Data Pipeline `m3.xlarge` Questo sovrascrive le tue scelte in termini di tipi di istanze con `m3.xlarge`, con un possibile aumento dei costi.  | Booleano | 
| resizeClusterMaxIstanze | Un limite per il numero massimo di istanze che possono essere richieste dall'algoritmo di ridimensionamento | Numero intero | 
| retryDelay | La durata del timeout tra due tentativi. | Periodo | 
| scheduleType | Il tipo di pianificazione consente di specificare se gli oggetti nella definizione di pipeline devono essere programmati all'inizio o alla fine dell'intervallo. Time Series Style Scheduling significa che le istanze vengono programmate al termine di ogni intervallo e Cron Style Scheduling significa che le istanze vengono programmate all'inizio di ogni intervallo. Una pianificazione on demand consente di eseguire una pipeline una sola volta, per attivazione. Questo significa che non è necessario clonare o ricreare la pipeline per eseguirla di nuovo. Se utilizzi una pianificazione on demand, devi specificarlo nell'oggetto predefinito e deve essere l'unico scheduleType specificato per gli oggetti della pipeline. Per utilizzare le pipeline su richiesta, è sufficiente chiamare l' ActivatePipeline operazione per ogni esecuzione successiva. I valori sono: cron, ondemand e timeseries. | Enumerazione | 

 


****  

| Campi Runtime | Description | Tipo di slot | 
| --- | --- | --- | 
| @activeInstances | Elenco di oggetti di istanze attive attualmente programmate. | Oggetto di riferimento, ad esempio «activeInstances»: \$1"ref»:» Id "\$1 myRunnableObject | 
| @actualEndTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| @actualStartTime | L'ora in cui è stata avviata l'esecuzione di questo oggetto. | DateTime | 
| cancellationReason | CancellationReason se questo oggetto è stato annullato. | Stringa | 
| @cascadeFailedOn | Descrizione della catena di dipendenza che ha generato l'errore dell'oggetto. | Oggetto di riferimento, ad esempio "cascadeFailedOn«: \$1" ref»:» myRunnableObject Id "\$1 | 
| emrStepLog | I log dei passaggi di Amazon EMR sono disponibili solo nei tentativi di attività EMR. | Stringa | 
| errorId | ErrorId se l'oggetto non è riuscito. | Stringa | 
| errorMessage | ErrorMessage se l'oggetto non è riuscito. | Stringa | 
| errorStackTrace | Traccia dello stack di errore se l'oggetto non è riuscito. | Stringa | 
| @finishedTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| hadoopJobLog | Log delle attività Hadoop disponibili per le attività basate su EMR. | Stringa | 
| @healthStatus | Lo stato di integrità dell'oggetto che riflette l'esito positivo o negativo dell'ultima istanza dell'oggetto che ha raggiunto lo stato di un'istanza terminata. | Stringa | 
| @healthStatusFromInstanceId | Id dell'ultimo oggetto dell'istanza che ha raggiunto lo stato terminato. | Stringa | 
| @ Ora healthStatusUpdated | L'ora in cui lo stato di integrità è stato aggiornato l'ultima volta. | DateTime | 
| hostname | Il nome host del client che si è aggiudicato il tentativo dell'attività. | Stringa | 
| @lastDeactivatedTime | L'ora in cui l'oggetto è stato disattivato. | DateTime | 
| @ latestCompletedRun Ora | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata completata. | DateTime | 
| @latestRunTime | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata pianificata. | DateTime | 
| @nextRunTime | L'orario dell'esecuzione da programmare come successiva. | DateTime | 
| reportProgressTime | Il periodo di tempo più recente in cui l'attività remota ha segnalato un progresso. | DateTime | 
| @scheduledEndTime | L'orario di termine della pianificazione per un oggetto. | DateTime | 
| @scheduledStartTime | L'orario di inizio della pianificazione per l'oggetto. | DateTime | 
| @status | Lo stato di questo oggetto. | Stringa | 
| @version | Versione della pipeline con cui l'oggetto è stato creato. | Stringa | 
| @waitingOn | Descrizione dell'elenco di dipendenze per cui questo oggetto è in attesa. | Oggetto di riferimento, ad esempio «waitingOn»: \$1"ref»:» myRunnableObject Id "\$1 | 

 


****  

| Campi di sistema | Description | Tipo di slot | 
| --- | --- | --- | 
| @error | Errore che descrive il formato oggetto errato. | Stringa | 
| @pipelineId | L'id della pipeline a cui appartiene questo oggetto. | Stringa | 
| @sphere | La sfera di un oggetto indica la propria posizione nel ciclo di vita: i Component Objects generano Instance Objects che eseguono Attempt Object. | Stringa | 

## Vedi anche
<a name="hivecopyactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [EmrActivity](dp-object-emractivity.md)

# PigActivity
<a name="dp-object-pigactivity"></a>

PigActivity fornisce supporto nativo per gli script Pig AWS Data Pipeline senza la necessità di utilizzare o. `ShellCommandActivity` `EmrActivity` Inoltre, PigActivity supporta l'archiviazione dei dati. Quando il campo della fase è impostato su true, AWS Data Pipeline gestisce temporaneamente i dati di input come schema in Pig senza codice aggiuntivo da parte dell'utente. 

## Esempio
<a name="pigactivity-example"></a>

La seguente pipeline di esempio mostra come utilizzare `PigActivity`. La pipeline di esempio esegue le operazioni seguenti:
+ MyPigActivity1 carica i dati da Amazon S3 ed esegue uno script Pig che seleziona alcune colonne di dati e li carica su Amazon S3.
+ MyPigActivity2 carica il primo output, seleziona alcune colonne e tre righe di dati e lo carica su Amazon S3 come secondo output.
+ MyPigActivity3 carica il secondo dato di output, inserisce due righe di dati e solo la colonna denominata «quinta» in Amazon RDS.
+ MyPigActivity4 carica i dati Amazon RDS, seleziona la prima riga di dati e la carica su Amazon S3.

```
{
  "objects": [
    {
      "id": "MyInputData1",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "directoryPath": "s3://amzn-s3-demo-bucket/pigTestInput",
      "name": "MyInputData1",
      "dataFormat": {
        "ref": "MyInputDataType1"
      },
      "type": "S3DataNode"
    },
    {
      "id": "MyPigActivity4",
      "scheduleType": "CRON",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "input": {
        "ref": "MyOutputData3"
      },
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/path/",
      "name": "MyPigActivity4",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "type": "PigActivity",
      "dependsOn": {
        "ref": "MyPigActivity3"
      },
      "output": {
        "ref": "MyOutputData4"
      },
      "script": "B = LIMIT ${input1} 1; ${output1} = FOREACH B GENERATE one;",
      "stage": "true"
    },
    {
      "id": "MyPigActivity3",
      "scheduleType": "CRON",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "input": {
        "ref": "MyOutputData2"
      },
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/path",
      "name": "MyPigActivity3",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "script": "B = LIMIT ${input1} 2; ${output1} = FOREACH B GENERATE Fifth;",
      "type": "PigActivity",
      "dependsOn": {
        "ref": "MyPigActivity2"
      },
      "output": {
        "ref": "MyOutputData3"
      },
      "stage": "true"
    },
    {
      "id": "MyOutputData2",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "name": "MyOutputData2",
      "directoryPath": "s3://amzn-s3-demo-bucket/PigActivityOutput2",
      "dataFormat": {
        "ref": "MyOutputDataType2"
      },
      "type": "S3DataNode"
    },
    {
      "id": "MyOutputData1",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "name": "MyOutputData1",
      "directoryPath": "s3://amzn-s3-demo-bucket/PigActivityOutput1",
      "dataFormat": {
        "ref": "MyOutputDataType1"
      },
      "type": "S3DataNode"
    },
    {
      "id": "MyInputDataType1",
      "name": "MyInputDataType1",
      "column": [
        "First STRING",
        "Second STRING",
        "Third STRING",
        "Fourth STRING",
        "Fifth STRING",
        "Sixth STRING",
        "Seventh STRING",
        "Eighth STRING",
        "Ninth STRING",
        "Tenth STRING"
      ],
      "inputRegEx": "^(\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+)",
      "type": "RegEx"
    },
    {
      "id": "MyEmrResource",
      "region": "us-east-1",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "keyPair": "example-keypair",
      "masterInstanceType": "m1.small",
      "enableDebugging": "true",
      "name": "MyEmrResource",
      "actionOnTaskFailure": "continue",
      "type": "EmrCluster"
    },
    {
      "id": "MyOutputDataType4",
      "name": "MyOutputDataType4",
      "column": "one STRING",
      "type": "CSV"
    },
    {
      "id": "MyOutputData4",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "directoryPath": "s3://amzn-s3-demo-bucket/PigActivityOutput3",
      "name": "MyOutputData4",
      "dataFormat": {
        "ref": "MyOutputDataType4"
      },
      "type": "S3DataNode"
    },
    {
      "id": "MyOutputDataType1",
      "name": "MyOutputDataType1",
      "column": [
        "First STRING",
        "Second STRING",
        "Third STRING",
        "Fourth STRING",
        "Fifth STRING",
        "Sixth STRING",
        "Seventh STRING",
        "Eighth STRING"
      ],
      "columnSeparator": "*",
      "type": "Custom"
    },
    {
      "id": "MyOutputData3",
      "username": "___",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "insertQuery": "insert into #{table} (one) values (?)",
      "name": "MyOutputData3",
      "*password": "___",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "connectionString": "jdbc:mysql://example-database-instance:3306/example-database",
      "selectQuery": "select * from #{table}",
      "table": "example-table-name",
      "type": "MySqlDataNode"
    },
    {
      "id": "MyOutputDataType2",
      "name": "MyOutputDataType2",
      "column": [
        "Third STRING",
        "Fourth STRING",
        "Fifth STRING",
        "Sixth STRING",
        "Seventh STRING",
        "Eighth STRING"
      ],
      "type": "TSV"
    },
    {
      "id": "MyPigActivity2",
      "scheduleType": "CRON",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "input": {
        "ref": "MyOutputData1"
      },
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/path",
      "name": "MyPigActivity2",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "dependsOn": {
        "ref": "MyPigActivity1"
      },
      "type": "PigActivity",
      "script": "B = LIMIT ${input1} 3; ${output1} = FOREACH B GENERATE Third, Fourth, Fifth, Sixth, Seventh, Eighth;",
      "output": {
        "ref": "MyOutputData2"
      },
      "stage": "true"
    },
    {
      "id": "MyEmrResourcePeriod",
      "startDateTime": "2013-05-20T00:00:00",
      "name": "MyEmrResourcePeriod",
      "period": "1 day",
      "type": "Schedule",
      "endDateTime": "2013-05-21T00:00:00"
    },
    {
      "id": "MyPigActivity1",
      "scheduleType": "CRON",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "input": {
        "ref": "MyInputData1"
      },
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/path",
      "scriptUri": "s3://amzn-s3-demo-bucket/script/pigTestScipt.q",
      "name": "MyPigActivity1",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "scriptVariable": [
        "column1=First",
        "column2=Second",
        "three=3"
      ],
      "type": "PigActivity",
      "output": {
        "ref": "MyOutputData1"
      },
      "stage": "true"
    }
  ]
}
```

Il contenuto di `pigTestScript.q` è il seguente.

```
B = LIMIT ${input1} $three; ${output1} = FOREACH B GENERATE $column1, $column2, Third, Fourth, Fifth, Sixth, Seventh, Eighth;
```

## Sintassi
<a name="pigactivity-syntax"></a>


****  

| Campi Object Invocation | Description | Tipo di slot | 
| --- | --- | --- | 
| schedule | Questo oggetto viene richiamato entro l'esecuzione di un intervallo di pianificazione. Gli utenti devono specificare un riferimento alla pianificazione di un altro oggetto per impostare l'ordine di esecuzione delle dipendenze per questo oggetto. Gli utenti possono soddisfare questo requisito impostando esplicitamente una pianificazione sull'oggetto, ad esempio specificando «schedule»: \$1"ref»: "«\$1. DefaultSchedule Nella maggior parte dei casi, è meglio inserire il riferimento alla pianificazione nell'oggetto pipeline di default, in modo che tutti gli oggetti possano ereditare tale pianificazione. O, se la pipeline consiste di una struttura di pianificazioni (nidificate all'interno della pianificazione principale), gli utenti possono creare un oggetto padre che dispone di un riferimento alla pianificazione. Per ulteriori informazioni sulle configurazioni di pianificazione opzionali di esempio, consulta [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html) | Oggetto di riferimento, ad esempio, «schedule»: \$1"ref»:» myScheduleId «\$1 | 

 


****  

| Gruppo richiesto (uno dei seguenti è obbligatorio) | Description | Tipo di slot | 
| --- | --- | --- | 
| script | Lo script Pig da eseguire | Stringa | 
| scriptUri | La posizione dello script Pig da eseguire (ad esempio, s3:// scriptLocation). | Stringa | 

 


****  

| Gruppo richiesto (uno dei seguenti è obbligatorio) | Description | Tipo di slot | 
| --- | --- | --- | 
| runsOn | Cluster EMR su cui viene eseguito. PigActivity  | Oggetto di riferimento, ad esempio «runSon»: \$1"ref»:» myEmrCluster Id "\$1 | 
| workerGroup | Il gruppo di lavoro. Utilizzato per le attività di routing. Se si fornisce un valore runsOn ed esiste workerGroup, workerGroup verrà ignorato. | Stringa | 

 


****  

| Campi opzionali | Description | Tipo di slot | 
| --- | --- | --- | 
| attemptStatus | Lo stato segnalato più di recente dall'attività remota. | Stringa | 
| attemptTimeout | Il timeout per il completamento del lavoro in remoto. Se questo campo è impostato, un'attività remota che non viene completata entro il tempo impostato di avvio viene tentata di nuovo. | Periodo | 
| dependsOn | Specifica la dipendenza su un altro oggetto eseguibile. | Oggetto di riferimento, ad esempio «dependsOn»: \$1"ref»:» myActivityId «\$1 | 
| failureAndRerunModalità | Descrive il comportamento del nodo consumer quando le dipendenze presentano un errore o vengono di nuovo eseguite. | Enumerazione | 
| input | Origine dati di input. | Oggetto di riferimento, ad esempio, «input»: \$1"ref»:» myDataNode Id "\$1 | 
| lateAfterTimeout | Il tempo trascorso dall'inizio della pipeline entro il quale l'oggetto deve essere completato. Viene attivato solo quando il tipo di pianificazione non è impostato su. ondemand | Periodo | 
| maxActiveInstances | Il numero massimo di istanze attive simultanee di un componente. Le riesecuzioni non contano ai fini del numero di istanze attive. | Numero intero | 
| maximumRetries | Numero massimo di tentativi in caso di errore. | Numero intero | 
| onFail | Un'azione da eseguire quando l'oggetto corrente ha esito negativo. | Oggetto di riferimento, ad esempio «onFail»: \$1"ref»:» myActionId «\$1 | 
| onLateAction | Azioni che devono essere attivate se un oggetto non è stato ancora pianificato o non è ancora completo. | Oggetto di riferimento, ad esempio "onLateAction«: \$1" ref»:» myActionId «\$1 | 
| onSuccess | Un'operazione da eseguire quando l'oggetto corrente ha esito positivo. | Oggetto di riferimento, ad esempio «onSuccess»: \$1"ref»:» myActionId «\$1 | 
| output | Origine dati di output. | Oggetto di riferimento, ad esempio «output»: \$1"ref»:» myDataNode Id "\$1 | 
| parent | Padre dell'oggetto corrente da cui saranno ereditati gli slot. | Oggetto di riferimento, ad esempio «parent»: \$1"ref»:» myBaseObject Id "\$1 | 
| pipelineLogUri | L'URI di Amazon S3 (ad esempio 's3://BucketName/Key/ ') per caricare i log per la pipeline. | Stringa | 
| postActivityTaskConfig | Lo script di configurazione post-attività da eseguire. È costituito da un URI dello script di shell in Amazon S33 e da un elenco di argomenti. | Oggetto di riferimento, ad esempio "postActivityTaskConfig»: \$1"ref»:» myShellScript ConfigId «\$1 | 
| preActivityTaskConfig | Lo script di configurazione pre-attività da eseguire. Questo è composto da un URI dello script della shell in Amazon S3 e da un elenco di argomenti. | Oggetto di riferimento, ad esempio "preActivityTaskConfig»: \$1"ref»:» myShellScript ConfigId «\$1 | 
| precondizione | Definisce eventualmente una precondizione. Un nodo dati non è contrassegnato come "READY" finché tutte le precondizioni non siano state soddisfatte. | Oggetto di riferimento, ad esempio, «precondition»: \$1"ref»:» myPreconditionId «\$1 | 
| reportProgressTimeout | Timeout per chiamate successive di attività in remoto a reportProgress. Se impostato, le attività in remoto che non presentano avanzamenti nel periodo specificato potrebbero essere considerate bloccate e sono quindi oggetto di un altro tentativo. | Periodo | 
| resizeClusterBeforeIn esecuzione | Ridimensiona il cluster prima di eseguire questa attività per adattare i nodi di dati DynamoDB specificati come input o output. Se la tua attività utilizza un `DynamoDBDataNode` come nodo di dati di input o output e lo imposti su, inizia `resizeClusterBeforeRunning` a `TRUE` utilizzare i tipi di istanza. AWS Data Pipeline `m3.xlarge` Questo sovrascrive le tue scelte in termini di tipi di istanze con `m3.xlarge`, con un possibile aumento dei costi.  | Booleano | 
| resizeClusterMaxIstanze | Un limite per il numero massimo di istanze che possono essere richieste dall'algoritmo di ridimensionamento. | Numero intero | 
| retryDelay | La durata del timeout tra due tentativi. | Periodo | 
| scheduleType | Il tipo di pianificazione consente di specificare se gli oggetti nella definizione di pipeline devono essere programmati all'inizio o alla fine dell'intervallo. Time Series Style Scheduling significa che le istanze vengono programmate al termine di ogni intervallo e Cron Style Scheduling significa che le istanze vengono programmate all'inizio di ogni intervallo. Una pianificazione on demand consente di eseguire una pipeline una sola volta, per attivazione. Questo significa che non è necessario clonare o ricreare la pipeline per eseguirla di nuovo. Se utilizzi una pianificazione on demand, devi specificarlo nell'oggetto predefinito e deve essere l'unico scheduleType specificato per gli oggetti della pipeline. Per utilizzare le pipeline su richiesta, è sufficiente chiamare l' ActivatePipeline operazione per ogni esecuzione successiva. I valori sono: cron, ondemand e timeseries. | Enumerazione | 
| scriptVariable | Gli argomenti da passare allo script Pig. È possibile utilizzare scriptVariable con lo script o scriptUri. | Stringa | 
| fase | Determina se lo staging è abilitato e consente allo script Pig di accedere alle tabelle di dati staged-data, come \$1 \$1\$1 e \$1 \$1\$1INPUT1. OUTPUT1 | Booleano | 

 


****  

| Campi Runtime | Description | Tipo di slot | 
| --- | --- | --- | 
| @activeInstances | Elenco di oggetti di istanze attive attualmente programmate. | Oggetto di riferimento, ad esempio, «activeInstances»: \$1"ref»:» Id "\$1 myRunnableObject | 
| @actualEndTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| @actualStartTime | L'ora in cui è stata avviata l'esecuzione di questo oggetto. | DateTime | 
| cancellationReason | CancellationReason se questo oggetto è stato annullato. | Stringa | 
| @cascadeFailedOn | Descrizione della catena di dipendenza che ha generato l'errore dell'oggetto. | Oggetto di riferimento, ad esempio "cascadeFailedOn«: \$1" ref»:» myRunnableObject Id "\$1 | 
| emrStepLog | I log dei passaggi di Amazon EMR sono disponibili solo nei tentativi di attività EMR. | Stringa | 
| errorId | ErrorId se l'oggetto non è riuscito. | Stringa | 
| errorMessage | ErrorMessage se l'oggetto non è riuscito. | Stringa | 
| errorStackTrace | Traccia dello stack di errore se l'oggetto non è riuscito. | Stringa | 
| @finishedTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| hadoopJobLog | Log delle attività Hadoop disponibili per le attività basate su EMR. | Stringa | 
| @healthStatus | Lo stato di integrità dell'oggetto che riflette l'esito positivo o negativo dell'ultima istanza dell'oggetto che ha raggiunto lo stato di un'istanza terminata. | Stringa | 
| @healthStatusFromInstanceId | Id dell'ultimo oggetto dell'istanza che ha raggiunto lo stato terminato. | Stringa | 
| @ Ora healthStatusUpdated | L'ora in cui lo stato di integrità è stato aggiornato l'ultima volta. | DateTime | 
| hostname | Il nome host del client che si è aggiudicato il tentativo dell'attività. | Stringa | 
| @lastDeactivatedTime | L'ora in cui l'oggetto è stato disattivato. | DateTime | 
| @ latestCompletedRun Ora | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata completata. | DateTime | 
| @latestRunTime | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata pianificata. | DateTime | 
| @nextRunTime | L'orario dell'esecuzione da programmare come successiva. | DateTime | 
| reportProgressTime | Il periodo di tempo più recente in cui l'attività remota ha segnalato un progresso. | DateTime | 
| @scheduledEndTime | L'orario di termine della pianificazione per l'oggetto. | DateTime | 
| @scheduledStartTime | L'orario di inizio della pianificazione per l'oggetto. | DateTime | 
| @status | Lo stato di questo oggetto. | Stringa | 
| @version | Versione della pipeline con cui l'oggetto è stato creato. | Stringa | 
| @waitingOn | Descrizione dell'elenco di dipendenze per cui questo oggetto è in attesa. | Oggetto di riferimento, ad esempio «waitingOn»: \$1"ref»:» myRunnableObject Id "\$1 | 

 


****  

| Campi di sistema | Description | Tipo di slot | 
| --- | --- | --- | 
| @error | Errore che descrive il formato oggetto errato. | Stringa | 
| @pipelineId | L'ID della pipeline a cui appartiene questo oggetto. | Stringa | 
| @sphere | La sfera di un oggetto indica la propria posizione nel ciclo di vita: i Component Objects generano Instance Objects che eseguono Attempt Objects. | Stringa | 

## Vedi anche
<a name="pigactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [EmrActivity](dp-object-emractivity.md)

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

Copia i dati da DynamoDB o Amazon S3 su Amazon Redshift. È possibile caricare i dati in una nuova tabella, oppure unirli facilmente alla tabella esistente.

Questa è una panoramica di un caso d'uso in cui utilizzare `RedshiftCopyActivity`:

1. Inizia a AWS Data Pipeline utilizzarlo per lo staging dei dati in Amazon S3. 

1. `RedshiftCopyActivity`Utilizzalo per spostare i dati da Amazon RDS e Amazon EMR ad Amazon Redshift.

   In questo modo puoi caricare i dati in Amazon Redshift dove puoi analizzarli.

1. [SqlActivity](dp-object-sqlactivity.md)Utilizzalo per eseguire query SQL sui dati che hai caricato in Amazon Redshift.

 Inoltre, `RedshiftCopyActivity` consente di lavorare con un `S3DataNode`, poiché supporta un file manifest. Per ulteriori informazioni, consulta [S3 DataNode](dp-object-s3datanode.md).

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

Di seguito è illustrato un esempio di questo tipo di oggetto. 

Per garantire la conversione dei formati, questo esempio utilizza i parametri speciali di conversione [EMPTYASNULL](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html#copy-emptyasnull) e [IGNOREBLANKLINES](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html#copy-ignoreblanklines) in `commandOptions`. Per informazioni, consulta [i parametri di conversione dei dati](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html) nella *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"]
}
```

L'esempio seguente di definizione di pipeline mostra un'attività che utilizza la modalità di inserimento `APPEND`:

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

L'operazione `APPEND` aggiunge gli elementi a una tabella indipendentemente dalle chiavi di ordinamento o primarie. Ad esempio, se si ha la seguente tabella, è possibile aggiungere un record con lo stesso ID e valore utente.

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

È possibile aggiungere un record con lo stesso ID e valore utente:

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

**Nota**  
Se un'operazione `APPEND` viene interrotta e riprovata, la risultante pipeline rieseguita viene potenzialmente aggiunta dall'inizio. L'operazione potrebbe causare un ulteriore doppione, quindi è necessario essere a conoscenza di questo comportamento, soprattutto se si ha una logica che conteggia il numero di righe.

Per un tutorial, vedere [Copia i dati su Amazon Redshift utilizzando AWS Data Pipeline](dp-copydata-redshift.md).

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


****  

| Campi obbligatori | Description | Tipo di slot | 
| --- | --- | --- | 
| insertMode |   Determina AWS Data Pipeline cosa fare con i dati preesistenti nella tabella di destinazione che si sovrappongono alle righe dei dati da caricare. I valori validi sono: `KEEP_EXISTING`, `OVERWRITE_EXISTING`, `TRUNCATE` e `APPEND`. `KEEP_EXISTING` aggiunge nuove righe alla tabella, mentre non modifica le righe esistenti. `KEEP_EXISTING` e ` OVERWRITE_EXISTING` utilizzano la chiave primaria, l'ordinamento e le chiavi di distribuzione per identificare quali righe in entrata abbinare alle righe esistenti. Consulta [Aggiornamento e inserimento di nuovi dati](https://docs.aws.amazon.com/redshift/latest/dg/t_updating-inserting-using-staging-tables-.html) nella Amazon *Redshift Database* Developer Guide.  `TRUNCATE` elimina tutti i dati della tabella di destinazione prima di scrivere i nuovi dati.  `APPEND` aggiunge tutti i record alla fine della tabella Redshift. `APPEND` non richiede una chiave primaria e di distribuzione o la chiave di ordinamento, in modo da poter aggiungere gli elementi che potrebbero essere potenziali duplicati.  | Enumerazione | 

 


****  

| Campi Object Invocation | Description | Tipo di slot | 
| --- | --- | --- | 
| schedule |  Questo oggetto viene richiamato entro l'esecuzione di un intervallo di pianificazione.  Specificare un riferimento alla pianificazione di un altro oggetto per impostare l'ordine di esecuzione delle dipendenze per questo oggetto.  Nella maggior parte dei casi, è preferibile inserire il riferimento alla pianificazione nell'oggetto pipeline di default, in modo che tutti gli oggetti possano ereditare tale pianificazione. Ad esempio, è possibile impostare una pianificazione esplicitamente sull'oggetto, specificando `"schedule": {"ref": "DefaultSchedule"}`.  Se la pianificazione master nella pipeline contiene pianificazioni nidificate, è possibile creare un oggetto padre che dispone di un riferimento alla pianificazione.  Per ulteriori informazioni sulle configurazioni di pianificazione opzionali di esempio, consulta [Pianificazione](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html).   | Reference Object, ad esempio: "schedule":\$1"ref":"myScheduleId"\$1 | 

 


****  

| Gruppo richiesto (uno dei seguenti è obbligatorio) | Description | Tipo di slot | 
| --- | --- | --- | 
| runsOn | Le risorse di calcolo per eseguire l'attività o il comando. Ad esempio, un'istanza Amazon EC2 o un cluster Amazon EMR. | Oggetto di riferimento, ad esempio «runSon»: \$1"ref»:» myResourceId «\$1 | 
| workerGroup | Il gruppo di lavoro. Utilizzato per le attività di routing. Se si fornisce un valore runsOn ed esiste workerGroup, workerGroup verrà ignorato. | Stringa | 

 


****  

| Campi opzionali | Description | Tipo di slot | 
| --- | --- | --- | 
| attemptStatus | Lo stato segnalato più di recente dall'attività remota. | Stringa | 
| attemptTimeout | Timeout per il completamento del lavoro in remoto. Se questo campo è impostato, un'attività remota che non viene completata entro il tempo impostato di avvio viene tentata di nuovo. | Periodo | 
| commandOptions |  Richiede i parametri da passare al nodo di dati Amazon Redshift durante l'`COPY`operazione. Per informazioni sui parametri, consulta [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) nella Amazon Redshift *Database Developer Guide*. Mentre carica la tabella, `COPY` tenta di convertire in modo implicito le stringhe al tipo di dati della colonna di destinazione. Oltre alle conversioni predefinite dei dati che si verificano automaticamente, se si ricevono errori o altre esigenze di conversione, è possibile specificare i parametri di conversione aggiuntivi. Per informazioni, consulta [i parametri di conversione dei dati](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html) nella Amazon Redshift *Database Developer Guide*. Se un formato di dati è associato al nodo di dati in ingresso o in uscita, allora i parametri forniti vengono ignorati.  Poiché l'operazione di copia utilizza per prima cosa `COPY` per inserire i dati in una tabella intermedia, quindi usa un comando `INSERT` per copiare i dati dalla tabella intermedia nella tabella di destinazione, alcuni parametri `COPY` non sono applicabili, ad esempio la capacità del comando `COPY` di abilitare la compressione automatica della tabella. Se la compressione è obbligatoria, aggiungi i dettagli di codifica della colonna all'istruzione `CREATE TABLE`.  Inoltre, in alcuni casi, quando deve scaricare dati dal cluster Amazon Redshift e creare file in Amazon S3, si affida `RedshiftCopyActivity` al funzionamento `UNLOAD` di Amazon Redshift. Per migliorare le prestazioni durante la copia e lo scaricamento, specificare il parametro `PARALLEL OFF` del comando `UNLOAD`. Per informazioni sui parametri, consulta [UNLOAD](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html) nella Amazon *Redshift Database* Developer Guide.  | Stringa | 
| dependsOn | Specifica una dipendenza su un altro oggetto eseguibile. | Reference Object: "dependsOn":\$1"ref":"myActivityId"\$1 | 
| failureAndRerunModalità | Descrive il comportamento del nodo consumer quando le dipendenze presentano un errore o vengono di nuovo eseguite | Enumerazione | 
| input | Nodo dei dati di input. L'origine dati può essere Amazon S3, DynamoDB o Amazon Redshift. | Reference Object: "input":\$1"ref":"myDataNodeId"\$1 | 
| lateAfterTimeout | Il tempo trascorso dopo l'inizio della pipeline entro il quale l'oggetto deve essere completato. Viene attivato solo quando il tipo di pianificazione non è impostato su. ondemand | Periodo | 
| maxActiveInstances | Il numero massimo di istanze attive simultanee di un componente. Le riesecuzioni non contano ai fini del numero di istanze attive. | Numero intero | 
| maximumRetries | Numero massimo di tentativi in caso di errore | Numero intero | 
| onFail | Un'azione da eseguire quando l'oggetto corrente ha esito negativo. | Reference Object: "onFail":\$1"ref":"myActionId"\$1 | 
| onLateAction | Azioni che devono essere attivate se un oggetto non è stato ancora pianificato o non è ancora completo. | Reference Object:  "onLateAction":\$1"ref":"myActionId"\$1 | 
| onSuccess | Un'operazione da eseguire quando l'oggetto corrente ha esito positivo. | Reference Object: "onSuccess":\$1"ref":"myActionId"\$1 | 
| output | Nodo dei dati di output. Il percorso di output può essere Amazon S3 o Amazon Redshift. | Reference Object: "output":\$1"ref":"myDataNodeId"\$1 | 
| parent | Padre dell'oggetto corrente da cui saranno ereditati gli slot. | Reference Object: "parent":\$1"ref":"myBaseObjectId"\$1 | 
| pipelineLogUri | L'URI S3 (ad esempio 's3://BucketName/Key/ ') per caricare i log per la pipeline. | Stringa | 
| precondizione | Definisce eventualmente una precondizione. Un nodo dati non è contrassegnato come "READY" finché tutte le precondizioni non siano state soddisfatte. | Reference Object: "precondition":\$1"ref":"myPreconditionId"\$1 | 
| coda |  Corrisponde all'`query_group `impostazione di Amazon Redshift, che consente di assegnare e dare priorità alle attività simultanee in base alla loro collocazione nelle code.  Amazon Redshift limita il numero di connessioni simultanee a 15. *Per ulteriori informazioni, consulta [Assigning Queries to Queues](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/cm-c-executing-queries.html) nella Amazon RDS Database Developer Guide.*  | Stringa | 
| reportProgressTimeout |  Timeout per chiamate successive di attività in remoto a `reportProgress`.  Se impostato, le attività in remoto che non presentano avanzamenti nel periodo specificato potrebbero essere considerate bloccate e sono quindi oggetto di un altro tentativo.  | Periodo | 
| retryDelay | La durata del timeout tra due tentativi. | Periodo | 
| scheduleType |  Consente di specificare se la pianificazione per gli oggetti è nella pipeline. I valori sono `cron`, `ondemand` e `timeseries`. La pianificazione `timeseries` significa che le istanze sono programmate al termine di ogni intervallo. La pianificazione `Cron` significa che le istanze sono programmate all'inizio di ogni intervallo.  Una pianificazione `ondemand`consente di eseguire una pipeline una sola volta, per attivazione. Questo significa che non è necessario clonare o ricreare la pipeline per eseguirla di nuovo.  Per utilizzare le pipeline `ondemand`, chiama l'operazione `ActivatePipeline` per ogni esecuzione successiva.  Se utilizzi una pianificazione `ondemand`, devi specificarlo nell'oggetto predefinito e deve essere l'unica `scheduleType` specificata per gli oggetti della pipeline.  | Enumerazione | 
| transformSql |  L'espressione `SQL SELECT` utilizzata per trasformare i dati di input.  Esegui l'espressione `transformSql` nella tabella denominata `staging`.  Quando copi dati da DynamoDB o Amazon S3 AWS Data Pipeline , crea una tabella chiamata «staging» e inizialmente carica i dati al suo interno. I dati di questa tabella vengono utilizzati per aggiornare la tabella di destinazione.  Lo schema di output di `transformSql` deve corrispondere allo schema della tabella di destinazione finale. Se si specifica l'opzione `transformSql`, viene creata una seconda tabella intermedia dall'istruzione SQL specificata. I dati di questa seconda tabella intermedia vengono quindi aggiornati nella tabella di destinazione finale.  | Stringa | 

 


****  

| Campi Runtime | Description | Tipo di slot | 
| --- | --- | --- | 
| @activeInstances | Elenco di oggetti di istanze attive attualmente programmate. | Reference Object: "activeInstances":\$1"ref":"myRunnableObjectId"\$1 | 
| @actualEndTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| @actualStartTime | L'ora in cui è stata avviata l'esecuzione di questo oggetto. | DateTime | 
| cancellationReason | CancellationReason se questo oggetto è stato annullato. | Stringa | 
| @cascadeFailedOn | Descrizione della catena di dipendenza che ha generato l'errore dell'oggetto. | Reference Object: "cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 | 
| emrStepLog | Log della fase EMR disponibili solo sui tentativi delle attività EMR | Stringa | 
| errorId | ErrorId se l'oggetto non è riuscito. | Stringa | 
| errorMessage | ErrorMessage se l'oggetto non è riuscito. | Stringa | 
| errorStackTrace | Traccia dello stack di errore se l'oggetto non è riuscito. | Stringa | 
| @finishedTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| hadoopJobLog | Log delle attività Hadoop disponibili per le attività basate su EMR. | Stringa | 
| @healthStatus | Lo stato di integrità dell'oggetto che riflette l'esito positivo o negativo dell'ultima istanza dell'oggetto che ha raggiunto lo stato di un'istanza terminata. | Stringa | 
| @healthStatusFromInstanceId | Id dell'ultimo oggetto dell'istanza che ha raggiunto lo stato terminato. | Stringa | 
| @ Ora healthStatusUpdated | L'ora in cui lo stato di integrità è stato aggiornato l'ultima volta. | DateTime | 
| hostname | Il nome host del client che si è aggiudicato il tentativo dell'attività. | Stringa | 
| @lastDeactivatedTime | L'ora in cui l'oggetto è stato disattivato. | DateTime | 
| @ latestCompletedRun Ora | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata completata. | DateTime | 
| @latestRunTime | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata pianificata. | DateTime | 
| @nextRunTime | L'orario dell'esecuzione da programmare come successiva. | DateTime | 
| reportProgressTime | Il periodo di tempo più recente in cui l'attività remota ha segnalato un progresso. | DateTime | 
| @scheduledEndTime | L'orario di termine della pianificazione per un oggetto. | DateTime | 
| @scheduledStartTime | L'orario di inizio della pianificazione per l'oggetto. | DateTime | 
| @status | Lo stato di questo oggetto. | Stringa | 
| @version | Versione della pipeline con cui l'oggetto è stato creato. | Stringa | 
| @waitingOn | Descrizione dell'elenco di dipendenze per cui questo oggetto è in attesa. | Reference Object: "waitingOn":\$1"ref":"myRunnableObjectId"\$1 | 

 


****  

| Campi di sistema | Description | Tipo di slot | 
| --- | --- | --- | 
| @error | Errore che descrive il formato oggetto errato. | Stringa | 
| @pipelineId | L'id della pipeline a cui appartiene questo oggetto. | Stringa | 
| @sphere | La sfera di un oggetto. Indica la propria posizione nel ciclo di vita. Ad esempio, i Component Objects generano Instance Objects che eseguono Attempt Objects. | Stringa | 

# ShellCommandActivity
<a name="dp-object-shellcommandactivity"></a>

 Consente di eseguire un comando o uno script. È possibile usare `ShellCommandActivity` per eseguire operazioni pianificate di tipo Cron o con serie temporali. 

Quando il `stage` campo è impostato su true e utilizzato con un`S3DataNode`, `ShellCommandActivity` supporta il concetto di staging dei dati, il che significa che puoi spostare i dati da Amazon S3 a una posizione di stage, ad esempio Amazon EC2 o il tuo ambiente locale, eseguire operazioni sui dati utilizzando script e `ShellCommandActivity` poi spostarli nuovamente su Amazon S3. 

In questo caso, quando il comando shell è connesso a un input `S3DataNode`, gli script shell operano direttamente sui dati utilizzando `${INPUT1_STAGING_DIR}`, `${INPUT2_STAGING_DIR}` e altri campi, con riferimento ai campi di input `ShellCommandActivity`. 

Allo stesso modo, l'output del comando shell può essere archiviato in una directory di output per essere inviato automaticamente ad Amazon S3, a cui si fa riferimento da `${OUTPUT1_STAGING_DIR}` e così via. `${OUTPUT2_STAGING_DIR}` 

Queste espressioni possono passare come argomenti della riga di comando al comando shell per l'utilizzo in logiche di trasformazione dei dati.

`ShellCommandActivity` restituisce codici e stringhe di errore in stile Linux. Se una `ShellCommandActivity` presenta un errore, l'`error` restituito è un valore diverso da zero.

## Esempio
<a name="shellcommandactivity-example"></a>

Di seguito è illustrato un esempio di questo tipo di oggetto.

```
{
  "id" : "CreateDirectory",
  "type" : "ShellCommandActivity",
  "command" : "mkdir new-directory"
}
```

## Sintassi
<a name="shellcommandactivity-syntax"></a>


****  

| Campi Object Invocation | Description | Tipo di slot | 
| --- | --- | --- | 
| schedule |  Questo oggetto viene richiamato entro l'esecuzione di un intervallo di `schedule`. Per impostare l'ordine di esecuzione delle dipendenze per questo oggetto, specificare un riferimento `schedule`a un altro oggetto.  Per soddisfare questo requisito, impostare esplicitamente un `schedule` sull'oggetto, ad esempio, specificando `"schedule": {"ref": "DefaultSchedule"}`.  Nella maggior parte dei casi, è preferibile inserire il riferimento `schedule` all'oggetto pipeline di default, in modo che tutti gli oggetti ereditano tale pianificazione. Se la pipeline consiste di una struttura di pianificazioni (nidificate all'interno della pianificazione principale), è possibile creare un oggetto padre che dispone di un riferimento alla pianificazione.  Per distribuire il carico, AWS Data Pipeline crea oggetti fisici leggermente prima del previsto, ma li esegue nei tempi previsti.  Per ulteriori informazioni sulle configurazioni di pianificazione opzionali di esempio, consulta [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)  | Oggetto di riferimento, ad esempio «schedule»: \$1"ref»:» myScheduleId «\$1 | 

 


****  

| Gruppo richiesto (uno dei seguenti è obbligatorio) | Description | Tipo di slot | 
| --- | --- | --- | 
| command | Il comando da eseguire. Utilizzare \$1 per fare riferimento ai parametri posizionali e scriptArgument per specificare i parametri del comando. Questo valore ed eventuali parametri associati devono funzionare nell'ambiente da cui si sta eseguendo il Task Runner. | Stringa | 
| scriptUri | Un percorso URI di Amazon S3 per un file da scaricare ed eseguire come comando shell. Specifica solo uno scriptUri o solo un campo command. Se scriptUri non è in grado di utilizzare i parametri, utilizzare command. | Stringa | 

 


****  

| Gruppo richiesto (uno dei seguenti è obbligatorio) | Description | Tipo di slot | 
| --- | --- | --- | 
| runsOn | La risorsa di calcolo per eseguire l'attività o il comando, ad esempio un'istanza Amazon EC2 o un cluster Amazon EMR. | Oggetto di riferimento, ad esempio «runSon»: \$1"ref»:» myResourceId «\$1 | 
| workerGroup | Utilizzato per le attività di routing. Se si fornisce un valore runsOn ed esiste workerGroup, workerGroup verrà ignorato. | Stringa | 

 


****  

| Campi opzionali | Description | Tipo di slot | 
| --- | --- | --- | 
| attemptStatus | Lo stato segnalato più di recente dall'attività remota. | Stringa | 
| attemptTimeout | Il timeout per il completamento del lavoro in remoto. Se questo campo è impostato, un'attività remota che non viene completata entro il tempo impostato di avvio viene tentata di nuovo. | Periodo | 
| dependsOn | Specifica una dipendenza su un altro oggetto eseguibile. | Oggetto di riferimento, ad esempio «dependsOn»: \$1"ref»:» «myActivityId\$1 | 
| failureAndRerunModalità | Descrive il comportamento del nodo consumer quando le dipendenze presentano un errore o vengono di nuovo eseguite. | Enumerazione | 
| input | Posizione dei dati di input. | Oggetto di riferimento, ad esempio «input»: \$1"ref»:» myDataNode Id "\$1 | 
| lateAfterTimeout | Il tempo trascorso dall'inizio della pipeline entro il quale l'oggetto deve essere completato. Viene attivato solo quando il tipo di pianificazione non è impostato su. ondemand | Periodo | 
| maxActiveInstances | Il numero massimo di istanze attive simultanee di un componente. Le riesecuzioni non contano ai fini del numero di istanze attive. | Numero intero | 
| maximumRetries | Numero massimo di tentativi in caso di errore. | Numero intero | 
| onFail | Un'azione da eseguire quando l'oggetto corrente ha esito negativo. | Oggetto di riferimento, ad esempio «onFail»: \$1"ref»:» myActionId «\$1 | 
| onLateAction | Azioni che devono essere attivate se un oggetto non è stato ancora pianificato o non è completo. | Oggetto di riferimento, ad esempio "onLateAction«: \$1" ref»:» myActionId «\$1 | 
| onSuccess | Un'operazione da eseguire quando l'oggetto corrente ha esito positivo. | Oggetto di riferimento, ad esempio «onSuccess»: \$1"ref»:» myActionId «\$1 | 
| output | Posizione dei dati di output. | Oggetto di riferimento, ad esempio «output»: \$1"ref»:» myDataNode Id "\$1 | 
| parent | Padre dell'oggetto corrente da cui saranno ereditati gli slot. | Oggetto di riferimento, ad esempio «parent»: \$1"ref»:» myBaseObject Id "\$1 | 
| pipelineLogUri | L'URI di Amazon S3, ad esempio 's3://BucketName/Key/' per il caricamento dei log per la pipeline. | Stringa | 
| precondizione | Definisce eventualmente una precondizione. Un nodo dati non è contrassegnato come "READY" finché tutte le precondizioni non siano state soddisfatte. | Oggetto di riferimento, ad esempio «precondition»: \$1"ref»:» «\$1 myPreconditionId | 
| reportProgressTimeout | Il timeout per chiamate successive a reportProgress da parte di attività in remoto. Se impostato, le attività in remoto che non presentano avanzamenti nel periodo specificato potrebbero essere considerate bloccate e sono quindi oggetto di un altro tentativo. | Periodo | 
| retryDelay | La durata del timeout tra due tentativi. | Periodo | 
| scheduleType |  Consente di specificare se gli oggetti nella definizione di pipeline devono essere programmati all'inizio o alla fine dell'intervallo.  I valori possibili sono: `cron`, `ondemand` e `timeseries`. Se le istanze sono impostate su `timeseries` significa che sono programmate al termine di ogni intervallo.  Se le istanze sono impostate su `Cron` significa che sono programmate all'inizio di ogni intervallo.  Se sono impostate su `ondemand`, è possibile eseguire una pipeline una sola volta, per attivazione. Questo significa che non è necessario clonare o ricreare la pipeline per eseguirla di nuovo. Se utilizzi una pianificazione `ondemand`, devi specificarlo nell'oggetto predefinito come l'unico `scheduleType` per gli oggetti della pipeline. Per utilizzare le pipeline `ondemand`, chiama l'operazione `ActivatePipeline` per ogni esecuzione successiva.   | Enumerazione | 
| scriptArgument | Un array di stringhe in formato JSON da passare al comando specificato dal comando. Ad esempio, se il comando è echo \$11 \$12, specificare scriptArgument come "param1", "param2". Per più argomenti e parametri, passare scriptArgument come segue: "scriptArgument":"arg1","scriptArgument":"param1","scriptArgument":"arg2","scriptArgument":"param2". scriptArgument può essere utilizzato solo con command; se si utilizza con scriptUri viene generato un errore. | Stringa | 
| fase | Stabilisce se è abilitata la gestione temporanea e consente ai comandi shell di accedere alle variabili dei dati gestiti temporaneamente, ad esempio \$1\$1INPUT1\$1STAGING\$1DIR\$1 e \$1\$1OUTPUT1\$1STAGING\$1DIR\$1. | Booleano | 
| stderr | Il percorso che riceve messaggi di errore del sistema reindirizzati dal comando. Se utilizzi il runsOn campo, deve trattarsi di un percorso Amazon S3 a causa della natura transitoria della risorsa che esegue la tua attività. Tuttavia, se specifichi il campo workerGroup, viene autorizzato un percorso file locale. | Stringa | 
| stdout | Il percorso Amazon S3 che riceve l'output reindirizzato dal comando. Se utilizzi il runsOn campo, deve trattarsi di un percorso Amazon S3 a causa della natura transitoria della risorsa che esegue la tua attività. Tuttavia, se specifichi il campo workerGroup, viene autorizzato un percorso file locale. | Stringa | 

 


****  

| Campi Runtime | Description | Tipo di slot | 
| --- | --- | --- | 
| @activeInstances | L'elenco di oggetti di istanze attive attualmente programmate. | Oggetto di riferimento, ad esempio «activeInstances»: \$1"ref»:» Id "\$1 myRunnableObject | 
| @actualEndTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| @actualStartTime | L'ora in cui è stata avviata l'esecuzione di questo oggetto. | DateTime | 
| cancellationReason | cancellationReason se questo oggetto è stato annullato. | Stringa | 
| @cascadeFailedOn | La descrizione della catena di dipendenza che ha generato l'errore dell'oggetto. | Oggetto di riferimento, ad esempio "cascadeFailedOn«: \$1" ref»:» myRunnableObject Id "\$1 | 
| emrStepLog | I log dei passaggi di Amazon EMR sono disponibili solo per i tentativi di attività di Amazon EMR. | Stringa | 
| errorId | errorId se l'oggetto non riuscito. | Stringa | 
| errorMessage | errorMessage se l'oggetto non riuscito. | Stringa | 
| errorStackTrace | Traccia dello stack di errore se l'oggetto non è riuscito. | Stringa | 
| @finishedTime | L'ora in cui è terminata l'esecuzione dell'oggetto. | DateTime | 
| hadoopJobLog | Registri di lavoro Hadoop disponibili sui tentativi di attività basate su Amazon EMR. | Stringa | 
| @healthStatus | Lo stato di integrità dell'oggetto che riflette l'esito positivo o negativo dell'ultima istanza dell'oggetto che ha raggiunto lo stato di un'istanza terminata. | Stringa | 
| @healthStatusFromInstanceId | L'Id dell'ultimo oggetto dell'istanza che ha raggiunto lo stato terminato. | Stringa | 
| @ Ora healthStatusUpdated | L'ora in cui lo stato di integrità è stato aggiornato l'ultima volta. | DateTime | 
| hostname | Il nome host del client che si è aggiudicato il tentativo dell'attività. | Stringa | 
| @lastDeactivatedTime | L'ora in cui l'oggetto è stato disattivato. | DateTime | 
| @ latestCompletedRun Ora | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata completata. | DateTime | 
| @latestRunTime | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata pianificata. | DateTime | 
| @nextRunTime | L'orario dell'esecuzione da programmare come successiva. | DateTime | 
| reportProgressTime | Il periodo di tempo più recente in cui l'attività remota ha segnalato un progresso. | DateTime | 
| @scheduledEndTime | L'orario di termine della pianificazione per l'oggetto. | DateTime | 
| @scheduledStartTime | L'orario di inizio della pianificazione per l'oggetto. | DateTime | 
| @status | Lo stato dell'oggetto. | Stringa | 
| @version | La AWS Data Pipeline versione utilizzata per creare l'oggetto. | Stringa | 
| @waitingOn | La descrizione dell'elenco di dipendenze per cui questo oggetto è in attesa. | Oggetto di riferimento, ad esempio «waitingOn»: \$1"ref»:» myRunnableObject Id "\$1 | 

 


****  

| Campi di sistema | Description | Tipo di slot | 
| --- | --- | --- | 
| @error | Errore che descrive l'oggetto con il formato errato. | Stringa | 
| @pipelineId | L'id della pipeline a cui appartiene questo oggetto. | Stringa | 
| @sphere | La posizione di un oggetto nel ciclo di vita. I Component Objects generano Instance Objects che eseguono Attempt Objects. | Stringa | 

## Vedi anche
<a name="shellcommandactivity-seealso"></a>
+ [CopyActivity](dp-object-copyactivity.md)
+ [EmrActivity](dp-object-emractivity.md)

# SqlActivity
<a name="dp-object-sqlactivity"></a>

Esegue una query SQL (script) su un database.

## Esempio
<a name="sqlactivity-example"></a>

Di seguito è illustrato un esempio di questo tipo di oggetto.

```
{
  "id" : "MySqlActivity",
  "type" : "SqlActivity",
  "database" : { "ref": "MyDatabaseID" },
  "script" : "SQLQuery" | "scriptUri" : s3://scriptBucket/query.sql,
  "schedule" : { "ref": "MyScheduleID" },
}
```

## Sintassi
<a name="sqlactivity-syntax"></a>


****  

| Campi obbligatori | Description | Tipo di slot | 
| --- | --- | --- | 
| database | Il database su cui eseguire lo script SQL fornito. | Oggetto di riferimento, ad esempio «database»: \$1"ref»:» myDatabaseId «\$1 | 

 


****  

| Campi Object Invocation | Description | Tipo di slot | 
| --- | --- | --- | 
| schedule |  Questo oggetto viene richiamato entro l'esecuzione di un intervallo di pianificazione. È necessario specificare un riferimento alla pianificazione di un altro oggetto per impostare l'ordine di esecuzione delle dipendenze per questo oggetto. È possibile impostare una pianificazione esplicitamente sull'oggetto, ad esempio, specificando `"schedule": {"ref": "DefaultSchedule"}`.  Nella maggior parte dei casi, è meglio inserire il riferimento alla pianificazione nell'oggetto pipeline di default, in modo che tutti gli oggetti possano ereditare tale pianificazione.  Se la pipeline dispone di una struttura di pianificazioni nidificate all'interno della pianificazione principale, è possibile creare un oggetto padre che dispone di un riferimento alla pianificazione. Per ulteriori informazioni sulle configurazioni di pianificazione opzionali di esempio, consulta [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)  | Oggetto di riferimento, ad esempio «schedule»: \$1"ref»:» myScheduleId «\$1 | 

 


****  

| Gruppo richiesto (uno dei seguenti è obbligatorio) | Description | Tipo di slot | 
| --- | --- | --- | 
| script | Lo script SQL da eseguire. È necessario specificare lo script o lo scriptUri. Quando lo script viene archiviato in Amazon S3, lo script non viene valutato come espressione. Specificare più valori per ScriptArgument è utile quando lo script è archiviato in Amazon S3. | Stringa | 
| scriptUri | Un URI che specifica il percorso di uno script SQL da eseguire in questa attività. | Stringa | 

 


****  

| Gruppo richiesto (uno dei seguenti è obbligatorio) | Description | Tipo di slot | 
| --- | --- | --- | 
| runsOn | Le risorse di calcolo per eseguire l'attività o il comando. Ad esempio, un'istanza Amazon EC2 o un cluster Amazon EMR. | Oggetto di riferimento, ad esempio «runSon»: \$1"ref»:» myResourceId «\$1 | 
| workerGroup | Il gruppo di lavoro. Utilizzato per le attività di routing. Se si fornisce un valore runsOn ed esiste workerGroup, workerGroup verrà ignorato. | Stringa | 

 


****  

| Campi opzionali | Description | Tipo di slot | 
| --- | --- | --- | 
| attemptStatus | Lo stato segnalato più di recente dall'attività remota. | Stringa | 
| attemptTimeout | Timeout per il completamento del lavoro in remoto. Se questo campo è impostato, un'attività remota che non viene completata entro il tempo impostato di avvio viene tentata di nuovo. | Periodo | 
| dependsOn | Specifica una dipendenza su un altro oggetto eseguibile. | Oggetto di riferimento, ad esempio «dependsOn»: \$1"ref»:» «myActivityId\$1 | 
| failureAndRerunModalità | Descrive il comportamento del nodo consumer quando le dipendenze presentano un errore o vengono di nuovo eseguite | Enumerazione | 
| input | Posizione dei dati di input. | Oggetto di riferimento, ad esempio «input»: \$1"ref»:» myDataNode Id "\$1 | 
| lateAfterTimeout | Il periodo di tempo dall'inizio programmato della pipeline all'interno del quale deve essere avviata l'esecuzione dell'oggetto. | Periodo | 
| maxActiveInstances | Il numero massimo di istanze attive simultanee di un componente. Le riesecuzioni non contano ai fini del numero di istanze attive. | Numero intero | 
| maximumRetries | Numero massimo di tentativi in caso di errore | Numero intero | 
| onFail | Un'azione da eseguire quando l'oggetto corrente ha esito negativo. | Oggetto di riferimento, ad esempio «onFail»: \$1"ref»:» myActionId «\$1 | 
| onLateAction | Azioni che devono essere attivate se un oggetto non è ancora stato pianificato o non è ancora stato completato nel periodo di tempo trascorso dall'inizio programmato della pipeline, come specificato da ''. lateAfterTimeout | Oggetto di riferimento, ad esempio "onLateAction«: \$1" ref»:» myActionId «\$1 | 
| onSuccess | Un'operazione da eseguire quando l'oggetto corrente ha esito positivo. | Oggetto di riferimento, ad esempio «onSuccess»: \$1"ref»:» myActionId «\$1 | 
| output | Posizione dei dati di output. Questo è utile solo per fare riferimento dall'interno di uno script (ad esempio\$1\$1output.tablename\$1) e per creare la tabella di output impostando 'createTableSql' nel nodo dati di output. L'output della query SQL non è scritto nel nodo dei dati di output. | Oggetto di riferimento, ad esempio «output»: \$1"ref»:» myDataNode Id "\$1 | 
| parent | Padre dell'oggetto corrente da cui saranno ereditati gli slot. | Oggetto di riferimento, ad esempio «parent»: \$1"ref»:» myBaseObject Id "\$1 | 
| pipelineLogUri | L'URI S3 (come 's3://BucketName/Key/ ') per caricare i log per la pipeline. | Stringa | 
| precondizione | Definisce eventualmente una precondizione. Un nodo dati non è contrassegnato come "READY" finché tutte le precondizioni non siano state soddisfatte. | Oggetto di riferimento, ad esempio «precondition»: \$1"ref»:» «\$1 myPreconditionId | 
| coda | [solo Amazon Redshift] Corrisponde all'impostazione query\$1group in Amazon Redshift che consente di assegnare e stabilire le priorità di attività simultanee in base al loro posizionamento nelle code. Amazon Redshift limita il numero di connessioni simultanee a 15. Per ulteriori informazioni, consulta [Assegnazione di query alle code](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-executing-queries.html) nella Guida per gli sviluppatori di database Amazon Redshift. | Stringa | 
| reportProgressTimeout | Timeout per chiamate successive di attività in remoto a reportProgress. Se impostato, le attività in remoto che non presentano avanzamenti nel periodo specificato potrebbero essere considerate bloccate e sono quindi oggetto di un altro tentativo. | Periodo | 
| retryDelay | La durata del timeout tra due tentativi. | Periodo | 
| scheduleType |  Il tipo di pianificazione consente di specificare se gli oggetti nella definizione di pipeline devono essere programmati all'inizio o alla fine dell'intervallo. I valori sono `cron`, `ondemand` e `timeseries`.  La pianificazione `timeseries` significa che le istanze sono programmate al termine di ogni intervallo. La pianificazione `cron` significa che le istanze sono programmate all'inizio di ogni intervallo.  Una pianificazione `ondemand`consente di eseguire una pipeline una sola volta, per attivazione. Questo significa che non è necessario clonare o ricreare la pipeline per eseguirla di nuovo. Se utilizzi una pianificazione `ondemand`, devi specificarlo nell'oggetto predefinito e deve essere l'unico `scheduleType` specificato per gli oggetti della pipeline. Per utilizzare le pipeline `ondemand`, chiama l'operazione `ActivatePipeline` per ogni esecuzione successiva.  | Enumerazione | 
| scriptArgument | Un elenco di variabili per lo script. In alternativa, è possibile inserire le espressioni direttamente nel campo dello script. Per scriptArgument sono utili più valori quando lo script viene memorizzato in Amazon S3. Esempio: \$1 \$1format (@scheduledStartTime, "YY-MM-DD HH:MM:SS"\$1\$1n\$1 \$1format (PlusPeriod (@scheduledStartTime, «1 day»), "HH:MM:SS"\$1 YY-MM-DD  | Stringa | 

 


****  

| Campi Runtime | Description | Tipo di slot | 
| --- | --- | --- | 
| @activeInstances | Elenco di oggetti di istanze attive attualmente programmate. | Oggetto di riferimento, ad esempio «activeInstances»: \$1"ref»:» Id "\$1 myRunnableObject | 
| @actualEndTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| @actualStartTime | L'ora in cui è stata avviata l'esecuzione di questo oggetto. | DateTime | 
| cancellationReason | CancellationReason se questo oggetto è stato annullato. | Stringa | 
| @cascadeFailedOn | Descrizione della catena di dipendenza che ha generato l'errore dell'oggetto. | Oggetto di riferimento, ad esempio "cascadeFailedOn«: \$1" ref»:» myRunnableObject Id "\$1 | 
| emrStepLog | Log della fase EMR disponibili solo sui tentativi delle attività EMR | Stringa | 
| errorId | ErrorId se l'oggetto non è riuscito. | Stringa | 
| errorMessage | ErrorMessage se l'oggetto non è riuscito. | Stringa | 
| errorStackTrace | Traccia dello stack di errore se l'oggetto non è riuscito. | Stringa | 
| @finishedTime | L'ora in cui è terminata l'esecuzione di questo oggetto. | DateTime | 
| hadoopJobLog | Log delle attività Hadoop disponibili per le attività basate su EMR. | Stringa | 
| @healthStatus | Lo stato di integrità dell'oggetto che riflette l'esito positivo o negativo dell'ultima istanza dell'oggetto che ha raggiunto lo stato di un'istanza terminata. | Stringa | 
| @healthStatusFromInstanceId | Id dell'ultimo oggetto dell'istanza che ha raggiunto lo stato terminato. | Stringa | 
| @ healthStatusUpdated Ora | L'ora in cui lo stato di integrità è stato aggiornato l'ultima volta. | DateTime | 
| hostname | Il nome host del client che si è aggiudicato il tentativo dell'attività. | Stringa | 
| @lastDeactivatedTime | L'ora in cui l'oggetto è stato disattivato. | DateTime | 
| @ latestCompletedRun Ora | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata completata. | DateTime | 
| @latestRunTime | L'orario dell'esecuzione più recente durante il quale l'esecuzione è stata pianificata. | DateTime | 
| @nextRunTime | L'orario dell'esecuzione da programmare come successiva. | DateTime | 
| reportProgressTime | Il periodo di tempo più recente in cui l'attività remota ha segnalato un progresso. | DateTime | 
| @scheduledEndTime | L'orario di termine della pianificazione per un oggetto | DateTime | 
| @scheduledStartTime | L'orario di inizio della pianificazione per l'oggetto | DateTime | 
| @status | Lo stato di questo oggetto. | Stringa | 
| @version | Versione della pipeline con cui l'oggetto è stato creato. | Stringa | 
| @waitingOn | Descrizione dell'elenco di dipendenze per cui questo oggetto è in attesa. | Oggetto di riferimento, ad esempio «waitingOn»: \$1"ref»:» myRunnableObject Id "\$1 | 

 


****  

| Campi di sistema | Description | Tipo di slot | 
| --- | --- | --- | 
| @error | Errore che descrive il formato oggetto errato. | Stringa | 
| @pipelineId | L'id della pipeline a cui appartiene questo oggetto. | Stringa | 
| @sphere | La sfera di un oggetto indica la propria posizione nel ciclo di vita: i Component Objects generano Instance Objects che eseguono Attempt Objects. | Stringa | 