

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à.

# 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`.<br />Per impostare l'ordine di esecuzione delle dipendenze per questo oggetto, specificare un riferimento `schedule`a un altro oggetto. <br />Per soddisfare questo requisito, impostare esplicitamente un `schedule` sull'oggetto, ad esempio, specificando `"schedule": {"ref": "DefaultSchedule"}`. <br />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. <br />Per distribuire il carico, AWS Data Pipeline crea oggetti fisici leggermente prima del previsto, ma li esegue nei tempi previsti. <br />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»: {"ref»:» myScheduleId «} | 

 


****  

| Gruppo richiesto (uno dei seguenti è obbligatorio) | Description | Tipo di slot | 
| --- | --- | --- | 
| command | Il comando da eseguire. Utilizzare $ 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»: {"ref»:» myResourceId «} | 
| 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»: {"ref»:» «myActivityId} | 
| 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»: {"ref»:» myDataNode Id "} | 
| 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»: {"ref»:» myActionId «} | 
| onLateAction | Azioni che devono essere attivate se un oggetto non è stato ancora pianificato o non è completo. | Oggetto di riferimento, ad esempio "onLateAction«: {" ref»:» myActionId «} | 
| onSuccess | Un'operazione da eseguire quando l'oggetto corrente ha esito positivo. | Oggetto di riferimento, ad esempio «onSuccess»: {"ref»:» myActionId «} | 
| output | Posizione dei dati di output. | Oggetto di riferimento, ad esempio «output»: {"ref»:» myDataNode Id "} | 
| parent | Padre dell'oggetto corrente da cui saranno ereditati gli slot. | Oggetto di riferimento, ad esempio «parent»: {"ref»:» myBaseObject Id "} | 
| 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»: {"ref»:» «} 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. <br />I valori possibili sono: `cron`, `ondemand` e `timeseries`.<br />Se le istanze sono impostate su `timeseries` significa che sono programmate al termine di ogni intervallo. <br />Se le istanze sono impostate su `Cron` significa che sono programmate all'inizio di ogni intervallo. <br />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 $1 $2, 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 ${INPUT1\_STAGING\_DIR} e ${OUTPUT1\_STAGING\_DIR}. | 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»: {"ref»:» Id "} 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«: {" ref»:» myRunnableObject Id "} | 
| 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»: {"ref»:» myRunnableObject Id "} | 

 


****  

| 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)