Todos los productos
Search
Centro de documentos

DataWorks:Nodo Shell

Última actualización: Sep 04, 2026

El nodo Shell de DataWorks está diseñado para ingenieros de datos. Ejecuta scripts de shell estándar no interactivos y resulta ideal para tareas de automatización, como el procesamiento de archivos en Object Storage Service (OSS) y la invocación de herramientas. El nodo integra ossutil de forma nativa, lo que permite acceder a OSS de manera segura mediante archivos de configuración o parámetros de línea de comandos. También admite la inyección de parámetros de programación, la referencia de recursos y la extensión del entorno de ejecución con imágenes personalizadas para cumplir con los requisitos de programación y operaciones y mantenimiento a nivel de producción.

Permisos

Agregue la cuenta de RAM utilizada para el desarrollo de nodos al workspace de destino y asígnele el rol de desarrollador o administrador del workspace. Para obtener más información, consulte Add a member to a workspace.

Tipos de nodos de procesamiento de datos

DataWorks ofrece diversos tipos de nodos de procesamiento de datos. Puede seleccionar un nodo según su escenario de negocio para realizar tareas de limpieza de datos a gran escala. Sus opciones no se limitan a los scripts de shell.

  • batch synchronization node: Adecuado para la migración y transformación de datos a gran escala; admite la sincronización por lotes entre distintas fuentes de datos.

  • MaxCompute SQL node: Ideal para procesos ETL basados en SQL sobre conjuntos de datos masivos; compatible con cómputo distribuido.

  • Nodo Shell (este tema): Diseñado para invocar herramientas externas o ejecutar lógica de scripts personalizados.

  • Assignment node con un for-each node: Recomendado para el procesamiento por lotes en bucles. Permite iterar sobre un conjunto de datos y ejecutar operaciones en cada elemento.

Notas de uso

  1. Limitaciones de sintaxis

    • Se admite la sintaxis de shell estándar. No se admite la sintaxis interactiva.

  2. Entorno de ejecución y acceso a la red

    • Un nodo Shell puede ejecutarse en un resource group serverless (recomendado) o en un resource group exclusivo para programación (versiones anteriores). Para adquirir y utilizar un resource group serverless, consulte Use serverless resource groups.

    • Cuando un nodo Shell se ejecuta en un resource group serverless, debe add the IP address or CIDR block of the serverless resource group a la lista de permitidos del destino si esta se encuentra configurada.

    • Al utilizar un resource group serverless, una sola tarea admite una configuración máxima de 64CU. Para evitar la escasez de recursos que pueda afectar el inicio de la tarea, se recomienda no exceder 16CU.

  3. Extensión del entorno de desarrollo

    • Si su tarea requiere un entorno de desarrollo específico, utilice la función de imagen personalizada en DataWorks para crear uno que satisfaga sus necesidades. Para obtener más información, consulte Custom image.

  4. Recursos y múltiples llamadas a scripts

    • Evite iniciar una gran cantidad de subprocesos en un nodo Shell. Dado que actualmente los nodos Shell no tienen límites de recursos, un número elevado de subprocesos podría afectar otras tareas que se ejecuten en el mismo resource group para programación.

    • El tamaño del código de la tarea no puede superar los 128 KB.

Inicio rápido

El siguiente ejemplo le guía a través de todo el proceso de creación, depuración, configuración y despliegue de un nodo Shell que muestra "Hello DataWorks!".

Desarrollo de nodos

  1. Inicie sesión en la consola de DataWorks. Después de cambiar a la región de destino, haga clic en Data Development and O&M > Data Development en el panel de navegación izquierdo. Seleccione el workspace de destino en la lista desplegable y luego haga clic en Go to DataStudio.

  2. Pase el cursor sobre el icono Create y haga clic en Create Node > General > Shell. En el cuadro de diálogo Create Node, introduzca el nombre y la ruta del nodo.

  3. Introduzca código de shell estándar en el editor de scripts (no se admite sintaxis interactiva):

    echo "Hello DataWorks!"
  4. Una vez completado el código, haga clic en image, seleccione el resource group y la imagen de destino, y ejecute la tarea del nodo Shell.

  5. Después de que el script pase la depuración, haga clic en Scheduling Settings en el lado derecho para configurar directivas de programación a nivel de producción, como el horario de ejecución y las propiedades de los recursos. Esto permite que el nodo se ejecute periódicamente según lo planificado. Para obtener más información sobre cómo configurar las propiedades de programación de nodos, consulte Configure schedule settings.

Desplegar y gestionar nodos

  1. Tras configurar las propiedades de programación, puede enviar el nodo al entorno de desarrollo y luego deploy al entorno de producción para su programación periódica.

  2. Una vez desplegado el nodo, la tarea se ejecuta periódicamente según la programación configurada. Puede hacer clic en el icono image en la esquina superior izquierda y luego seleccionar All Products > Data Development and O&M > Operation Center en la página de navegación que aparece para ir a Operation Center. A continuación, en el menú izquierdo, vaya a Task O&M > Auto Triggered Task O&M > Periodic tasks para consultar las tareas programadas desplegadas. Para obtener más información, consulte Manage scheduled tasks.

Uso avanzado

Referenciar recursos

  1. DataWorks permite cargar recursos mediante la gestión de recursos para utilizarlos en nodos Shell. Para obtener más información, consulte Manage resources.

    Nota

    Un recurso debe enviarse antes de que un nodo pueda referenciarlo. Si una tarea de producción requiere el recurso, también debe desplegarlo en el entorno de producción. Para obtener más información, consulte Deploy nodes.

  2. En el árbol de directorios izquierdo de Data Studio, localice el recurso cargado.

  3. Haga clic con el botón derecho en el recurso y seleccione Insert Resource Path. De este modo, el recurso queda referenciado en el nodo actual. Puede escribir código en la página de edición del nodo para ejecutar el recurso.

    Nota

    Tras una referencia correcta, el sistema inserta automáticamente un comentario de declaración con el formato ##@resource_reference{resource_name} al inicio del script.

    Este comentario es un identificador obligatorio para que DataWorks reconozca las dependencias de recursos y monte automáticamente el recurso correspondiente en el entorno de ejecución durante el tiempo de ejecución. No lo modifique ni elimine manualmente.

Usar parámetros de programación

Los parámetros de programación se inyectan en los nodos Shell como parámetros posicionales. No se admiten nombres de variables personalizadas. DataWorks pasa los valores de los parámetros de programación que configure en Scheduling Settings de un nodo al script de shell en orden, como parámetros posicionales tales como $1, $2, $3, etc. Cuando se utilicen más de 9 parámetros, emplee la sintaxis de llaves, como ${10} y ${11}, para garantizar un análisis sintáctico correcto. Los valores de múltiples parámetros deben separarse con espacios, y el orden debe coincidir estrictamente con las referencias posicionales en el script.

En este ejemplo:

  • El parámetro integrado $1 tiene asignada la fecha de negocio: $bizdate.

  • El parámetro personalizado $2 tiene asignada la fecha de negocio: ${yyyymmdd}.

  • El parámetro personalizado $3 tiene asignada la fecha de negocio: $[yyyymmdd].

Nota
  • Si el valor de un parámetro contiene espacios, enciérrelo entre comillas. Todo el contenido dentro de las comillas se trata como un solo parámetro.

  • Para obtener más información sobre cómo configurar y utilizar parámetros de programación, consulte Configure scheduling parameters.

Usar ossutil para acceder a OSS

El nodo Shell de DataWorks admite de forma nativa la herramienta de línea de comandos de Alibaba Cloud OSS ossutil, la cual permite la gestión de buckets, la carga y descarga de archivos, operaciones por lotes y otras tareas. Puede configurar credenciales de acceso para usar ossutil y acceder a OSS mediante un archivo de configuración o parámetros de línea de comandos.

Apéndice: Códigos de salida de scripts

Puede utilizar los códigos de salida de scripts para determinar con mayor precisión si un script se ejecutó correctamente.

  • Código de salida 0: Indica éxito.

  • Código de salida -1: Indica que el proceso finalizó.

  • Código de salida 2: Indica que la plataforma necesita volver a ejecutar la tarea automáticamente una vez.

  • Otros códigos de salida: Indican fallo.

A continuación se muestra un ejemplo de registro de ejecución cuando el nodo Shell se ejecuta correctamente (código de salida 0).

INFO Exit code of the Shell command 0 INFO --- Invocation of Shell command completed --- INFO Shell run successfully!

Nota

Debido al mecanismo subyacente de shell, el código de salida de todo el script en un nodo Shell equivale al código de salida del último comando ejecutado.

Referencia

Para aprender a usar comandos de Python 2 o Python 3 en un nodo Shell para ejecutar scripts de Python, consulte Run Python scripts in a shell node.