Compartir vía


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.

    Shows an empty pipeline canvas with an array type variable added to the pipeline.

  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.

    Shows the UI for a Filter activity.

  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.

    Shows the  Add dynamic content  link for the Items property.

  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.

    Shows the dynamic content editor with the variable created in the first step selected

  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: