Compartir a través de


Actividad de filtro en canalizaciones de Azure Data Factory y Synapse Analytics

Puede usar una actividad de filtro en una canalización para aplicar una expresión de filtro a una matriz de entrada.

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.

Sintaxis

{
    "name": "MyFilterActivity",
    "type": "filter",
    "typeProperties": {
        "condition": "<condition>",
        "items": "<input array>"
    }
}

Creación de una actividad de filtro con la interfaz de usuario

Para usar una actividad de filtro en una canalización, complete los pasos siguientes:

  1. Puede usar cualquier variable de tipo de matriz o salidas de otras actividades como entrada para la condición de filtro. Para crear una variable de matriz, seleccione el fondo del lienzo de canalización y, luego, seleccione la pestaña Variables para agregar una variable de tipo de matriz como se muestra a continuación.

    Muestra un lienzo de canalización vacío con una variable de tipo de matriz agregada a la canalización.

  2. Busque Filtrar en el panel Actividades de canalización y arrastre una actividad de filtro al lienzo de canalización.

  3. Seleccione la nueva actividad de filtro en el lienzo si aún no está seleccionada y su pestaña Configuración para editar sus detalles.

    Muestra la UI de la actividad de filtro.

  4. Seleccione el campo Elementos y, después, el vínculo Incorporación de contenido dinámico para abrir el panel del editor de contenido dinámico.

    Muestra el   Agregar contenido dinámico  vínculo para la propiedad Items.

  5. Seleccione la matriz de entrada que se va a filtrar en el editor de contenido dinámico. En este ejemplo, hemos seleccionado la variable creada en el primer paso.

    Muestra el editor de contenido dinámico con la variable creada en el primer paso seleccionada.

  6. Use de nuevo el editor de contenido dinámico para especificar una condición de filtro para la propiedad Condición, como se ha indicado anteriormente.

  7. Puede usar la salida de la actividad de filtro como entrada para otras actividades como la actividad ForEach.

Propiedades de tipo

Propiedad Descripción Valores permitidos Obligatorio
name Nombre de la actividad Filter. String
type Se debe establecer en filter. String
condición Condición que se usará para filtrar la entrada. Expression Yes
items Matriz de entrada en la que se debe aplicar el filtro. Expression

Ejemplo

En este ejemplo, la canalización tiene dos actividades: Filtro y Para cada uno. La actividad de filtro está configurada para filtrar la matriz de entrada correspondiente a los elementos con un valor mayor que 3. La actividad "Para cada uno" recorre en iteración los valores filtrados y establece la variable test en el valor actual.

{
    "name": "PipelineName",
    "properties": {
        "activities": [{
                "name": "MyFilterActivity",
                "type": "filter",
                "typeProperties": {
                    "condition": "@greater(item(),3)",
                    "items": "@pipeline().parameters.inputs"
                }
            },
            {
            "name": "MyForEach",
            "type": "ForEach",
            "dependsOn": [
                {
                    "activity": "MyFilterActivity",
                    "dependencyConditions": [
                        "Succeeded"
                    ]
                }
            ],
            "userProperties": [],
            "typeProperties": {
                "items": {
                    "value": "@activity('MyFilterActivity').output.value",
                    "type": "Expression"
                },
                "isSequential": "false",
                "batchCount": 1,
                "activities": [
                    {
                        "name": "Set Variable1",
                        "type": "SetVariable",
                        "dependsOn": [],
                        "userProperties": [],
                        "typeProperties": {
                            "variableName": "test",
                            "value": {
                                "value": "@string(item())",
                                "type": "Expression"
                            }
                        }
                    }
                ]
            }
        }],
        "parameters": {
            "inputs": {
                "type": "Array",
                "defaultValue": [1, 2, 3, 4, 5, 6]
            }
        },
        "variables": {
            "test": {
                "type": "String"
            }
        },
        "annotations": []
    }
}

Vea otras actividades de flujo de control admitidas: