AWS Data Pipeline non è più disponibile per i nuovi clienti. Clienti esistenti di AWS Data Pipeline possono continuare a utilizzare il servizio normalmente. Ulteriori informazioni
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
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 unS3DataNode
, ShellCommandActivity
supporta il concetto di staging data, il che significa che puoi spostare i dati da Amazon S3 a una posizione di stage, ad esempio EC2 Amazon o il tuo ambiente locale, eseguire operazioni sui dati utilizzando script e poi spostarli ShellCommandActivity
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
Di seguito è illustrato un esempio di questo tipo di oggetto.
{ "id" : "CreateDirectory", "type" : "ShellCommandActivity", "command" : "mkdir new-directory" }
Sintassi
Campi Object Invocation | Descrizione | Tipo di slot |
---|---|---|
schedule |
Questo oggetto viene richiamato entro l'esecuzione di un intervallo di Per impostare l'ordine di esecuzione delle dipendenze per questo oggetto, specificare un riferimento Per soddisfare questo requisito, impostare esplicitamente un Nella maggior parte dei casi, è preferibile inserire il riferimento 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 |
Oggetto di riferimento, ad esempio «schedule»: {"ref»:» myScheduleId «} |
Gruppo richiesto (uno dei seguenti è obbligatorio) | Descrizione | 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 URI percorso 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) | Descrizione | Tipo di slot |
---|---|---|
runsOn | La risorsa di calcolo per eseguire l'attività o il comando, ad esempio un'EC2istanza Amazon o un EMR cluster Amazon. | 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 | Descrizione | 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 | Amazon S3URI, ad esempio 's3://BucketName/Key/' per caricare i log per la pipeline. |
Stringa |
precondizione | Definisce eventualmente una precondizione. Un nodo di dati non viene contrassegnato con "READY" finché non sono soddisfatte tutte le condizioni preliminari. | 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. I valori possibili sono: Se le istanze sono impostate su Se le istanze sono impostate su Se sono impostate su |
Enumerazione |
scriptArgument | Un array di stringhe JSON in formato -formattato 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 | Descrizione | Tipo di slot |
---|---|---|
@activeInstances | L'elenco di oggetti di istanze attive attualmente programmate. | Oggetto di riferimento, ad esempio "activeInstances«: {" ref»:» myRunnableObject Id "} |
@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 registri dei EMR passaggi di Amazon sono disponibili solo per i tentativi di EMR attività di Amazon. | 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 | I log dei lavori Hadoop sono disponibili sui tentativi di attività basate su AmazonEMR. | 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 | Descrizione | 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 |