AWS Data Pipeline ya no está disponible para nuevos clientes. Clientes actuales de AWS Data Pipeline pueden seguir utilizando el servicio con normalidad. Más información
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
ShellCommandActivity
Ejecuta un comando o script. Puede usar ShellCommandActivity
para ejecutar tareas programadas de serie temporal o similar a Cron.
Cuando el stage
campo se establece en verdadero y se usa con unS3DataNode
, ShellCommandActivity
admite el concepto de datos de almacenamiento provisional, lo que significa que puede mover los datos de Amazon S3 a una ubicación de escenario, como Amazon EC2 o su entorno local, trabajar con los datos mediante scripts y el ShellCommandActivity
y volver a moverlos a Amazon S3.
En este caso, cuando su comando de shell está conectado a un nodo S3DataNode
de entrada, sus scripts de shell operan directamente en los datos mediante ${INPUT1_STAGING_DIR}
, ${INPUT2_STAGING_DIR}
y otros campos, que hacen referencia a los campos de entrada ShellCommandActivity
.
De forma similar, la salida del comando del intérprete de comandos se puede almacenar de modo transitorio en un directorio de salida que se va a insertar automáticamente en Amazon S3, al que hacen referencia ${OUTPUT1_STAGING_DIR}
, ${OUTPUT2_STAGING_DIR}
, etc.
Estas expresiones pueden pasar como argumentos de línea de comandos al comando de shell para su uso en la lógica de transformación de datos.
ShellCommandActivity
devuelve cadenas y códigos de error estilo Linux. Si ShellCommandActivity
genera un error, el error
devuelto es un valor distinto de cero.
Ejemplo
A continuación se muestra un ejemplo de este tipo de objeto.
{ "id" : "CreateDirectory", "type" : "ShellCommandActivity", "command" : "mkdir new-directory" }
Sintaxis
Campos de invocación de objetos | Descripción | Tipo de slot |
---|---|---|
schedule |
Este objeto se invoca dentro de la ejecución de un intervalo de Para establecer el orden de ejecución de dependencia de este objeto, especifique una referencia Para cumplir este requisito, establezca de forma explícita un En la mayoría de los casos, es mejor poner la referencia de Para distribuir la carga, AWS Data Pipeline crea objetos físicos un poco antes de lo previsto, pero los ejecuta según lo programado. Para obtener más información acerca de las configuraciones de programación opcionales de ejemplo, consulte https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html |
Objeto de referencia, por ejemplo, «schedule»: {"ref»:» myScheduleId «} |
Grupo obligatorio (se requiere uno de los siguientes) | Descripción | Tipo de slot |
---|---|---|
comando | El comando que se va a ejecutar. Utilice $ para hacer referencia a parámetros posicionales y scriptArgument para especificar los parámetros para el comando. Este valor y cualquier parámetro asociado debe funcionar en el entorno desde el que se está ejecutando Task Runner. |
Cadena |
scriptUri | Una URI ruta de Amazon S3 para que un archivo se descargue y ejecute como un comando de shell. Especifique solo un campo scriptUri o command . scriptUri no puede utilizar parámetros; utilice command en su lugar. |
Cadena |
Grupo obligatorio (se requiere uno de los siguientes) | Descripción | Tipo de slot |
---|---|---|
runsOn | El recurso computacional para ejecutar la actividad o el comando, por ejemplo, una EC2 instancia de Amazon o un EMR clúster de Amazon. | Objeto de referencia, por ejemplo, "runsOn«: {" ref»:» myResourceId «} |
workerGroup | Utilizado para dirigir tareas. Si proporciona un valor runsOn y existe workerGroup , workerGroup se ignora. |
Cadena |
Campos opcionales | Descripción | Tipo de slot |
---|---|---|
attemptStatus | El estado más reciente notificado por la actividad remota. | Cadena |
attemptTimeout | El tiempo de espera para que se complete el trabajo remoto. Si se establece, se puede reintentar una actividad remota que no se complete dentro del tiempo de inicio especificado. | Período |
dependsOn | Especifica una dependencia de otro objeto ejecutable. | Objeto de referencia, por ejemplo, "dependsOn«: {" ref»:» myActivityId «} |
failureAndRerunModo | failureAndRerunMode. | Enumeración |
input | La ubicación de los datos de entrada. | Objeto de referencia, por ejemplo, «input»: {"ref»:» myDataNode Id "} |
lateAfterTimeout | El tiempo transcurrido desde el inicio de la canalización dentro del cual el objeto debe completarse. Solo se activa cuando el tipo de programación no está establecido en ondemand . |
Período |
maxActiveInstances | El número máximo de instancias activas simultáneas de un componente. Las nuevas ejecuciones no cuentan para el número de instancias activas. | Entero |
maximumRetries | El número máximo de intentos en caso de error. | Entero |
onFail | Acción que se debe ejecutar cuando el objeto actual produzca un error. | Objeto de referencia, por ejemplo, "onFail«: {" ref»:» myActionId «} |
onLateAction | Acciones que deben iniciarse si un objeto no se ha programado o no se ha completado. | Objeto de referencia, por ejemplo, "onLateAction«: {" ref»:» myActionId «} |
onSuccess | Acción que se debe ejecutar cuando el objeto actual se complete correctamente. | Objeto de referencia, por ejemplo, "onSuccess«: {" ref»:» myActionId «} |
salida | La ubicación de los datos de salida. | Objeto de referencia, por ejemplo, «output»: {"ref»:» myDataNode Id "} |
parent | El elemento principal del objeto actual del que se heredarán los slots. | Objeto de referencia, por ejemplo, «parent»: {"ref»:» myBaseObject Id "} |
pipelineLogUri | El Amazon S3URI, por ejemplo, 's3://BucketName/Key/' para cargar registros para la canalización. |
Cadena |
precondition | Opcionalmente define una condición previa. Un nodo de datos no se marca como «READY» hasta que se hayan cumplido todas las condiciones previas. | Objeto de referencia, por ejemplo, «condición previa»: {"ref»:» myPreconditionId «} |
reportProgressTimeout | El tiempo de espera para llamadas sucesivas a reportProgress por parte de actividades remotas. Si se establece, las actividades remotas que no informen de su progreso durante el período especificado pueden considerarse estancadas y reintentarse. |
Período |
retryDelay | Duración del tiempo de espera entre dos reintentos. | Período |
scheduleType |
Le permite especificar si los objetos de la definición de la canalización deben programarse al principio del intervalo o al final de este. Los valores posibles son: Si se establece en Si se establece en Si se establece en |
Enumeración |
scriptArgument | Una matriz JSON de cadenas con formato B para pasarlas al comando especificado por el comando. Por ejemplo, si el comando es echo $1 $2 , especifique scriptArgument como "param1", "param2" . Para varios argumentos y parámetros, pase el scriptArgument del siguiente modo:
"scriptArgument":"arg1","scriptArgument":"param1","scriptArgument":"arg2","scriptArgument":"param2" . El scriptArgument solo se puede utilizar con command ; si se utiliza con scriptUri produce un error. |
Cadena |
stage | Determina si está habilitado el espacio transitorio y permite que los comandos de shell tengan acceso a las variables de datos en el espacio transitorio, como ${INPUT1_STAGING_DIR} y
${OUTPUT1_STAGING_DIR} . |
Booleano |
stderr | La ruta que recibe los mensajes de error del sistema redirigidos desde el comando. Si utiliza el campo runsOn , esta debe ser una ruta de Amazon S3 debido a la naturaleza transitoria del recurso que ejecuta su actividad. No obstante, si especifica el campo workerGroup , se permite una ruta de archivo local. |
Cadena |
stdout | La ruta de Amazon S3 que recibe la salida redirigida del comando. Si utiliza el campo runsOn , esta debe ser una ruta de Amazon S3 debido a la naturaleza transitoria del recurso que ejecuta su actividad. No obstante, si especifica el campo workerGroup , se permite una ruta de archivo local. |
Cadena |
Campos de tiempo de ejecución | Descripción | Tipo de slot |
---|---|---|
@activeInstances | La lista de los objetos de instancias activas programados actualmente. | Objeto de referencia, por ejemplo, "activeInstances«: {" ref»:» myRunnableObject Id "} |
@actualEndTime | La hora a la que finalizó la ejecución de este objeto. | DateTime |
@actualStartTime | La hora a la que comenzó la ejecución de este objeto. | DateTime |
cancellationReason | El cancellationReason de este objeto se ha cancelado. |
Cadena |
@cascadeFailedOn | La descripción de la cadena de dependencias que provocó el error del objeto. | Objeto de referencia, por ejemplo, "cascadeFailedOn«: {" ref»:» myRunnableObject Id "} |
emrStepLog | Los registros de EMR pasos de Amazon solo están disponibles en los intentos de EMR actividad de Amazon. | Cadena |
errorId | El errorId si este objeto ha fallado. |
Cadena |
errorMessage | El errorMessage si este objeto ha fallado. |
Cadena |
errorStackTrace | El seguimiento de la pila de error si este objeto ha fallado. | Cadena |
@finishedTime | La hora a la que el objeto finalizó su ejecución. | DateTime |
hadoopJobLog | Los registros de trabajos de Hadoop están disponibles en los intentos de actividades EMR basadas en Amazon. | Cadena |
@healthStatus | El estado de salud del objeto que refleja el éxito o el fracaso de la última instancia de objeto que alcanzó un estado terminado. | Cadena |
@healthStatusFromInstanceId | El ID del último objeto de instancia que alcanzó un estado terminado. | Cadena |
@ Hora healthStatusUpdated | La hora a la que el estado de salud se actualizó la última vez. | DateTime |
hostname | El nombre de host del cliente que recogió el intento de tarea. | Cadena |
@lastDeactivatedTime | La hora a la que este objeto se desactivó la última vez. | DateTime |
@ latestCompletedRun Hora | La hora de la última ejecución para la que se completó la ejecución. | DateTime |
@latestRunTime | La hora de la última ejecución para la que se programó la ejecución. | DateTime |
@nextRunTime | La hora de la ejecución que se va a programar a continuación. | DateTime |
reportProgressTime | La hora más reciente a la que la actividad remota notificó algún progreso. | DateTime |
@scheduledEndTime | La hora de finalización programada para el objeto. | DateTime |
@scheduledStartTime | La hora de comienzo programada para el objeto. | DateTime |
@status | El estado del objeto. | Cadena |
@version | La AWS Data Pipeline versión utilizada para crear el objeto. | Cadena |
@waitingOn | La descripción de la lista de dependencias para la que este objeto está a la espera. | Objeto de referencia, por ejemplo, "waitingOn«: {" ref»:» myRunnableObject Id "} |
Campos del sistema | Descripción | Tipo de slot |
---|---|---|
@error | El error al describir el objeto mal estructurado. | Cadena |
@pipelineId | El ID de la canalización a la que pertenece este objeto. | Cadena |
@sphere | El lugar de un objeto en el ciclo de vida. Los objetos de componente dan lugar a objetos de instancia, que ejecutan objetos de intento. | Cadena |