Actividad de las funciones de Azure en Azure Data Factory

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.

La actividad Función de Azure permite ejecutar Azure Functions en una canalización de Azure Data Factory o Synapse. Para ejecutar una función de Azure, debe crear una conexión de servicio vinculado. A continuación, puede usar el servicio vinculado con una actividad que especifique la función de Azure que planea ejecutar.

Creación de una actividad de función de Azure con la interfaz de usuario

Para usar una actividad de función de Azure en una canalización, realice los pasos siguientes:

  1. Expanda la sección de la función de Azure del panel Actividades de la canalización y arrastre una actividad de función de Azure al lienzo de la canalización.

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

    Shows the UI for an Azure Function activity.

  3. Si aún no tiene definido un servicio vinculado de función de Azure, seleccione Nuevo para crear uno nuevo. En el nuevo panel del servicio vinculado de función de Azure, elija la dirección URL de la aplicación de funciones de Azure existente y proporcione una clave de función.

    Shows the new Azure Function linked service creation pane.

  4. Después de seleccionar el servicio vinculado de función de Azure, proporcione el nombre de la función y otros detalles para completar la configuración.

Servicio vinculado de la función de Azure

El tipo de valor devuelto de la función de Azure tiene que ser un elemento JObject válido. (Tenga en cuenta que JArrayno es un JObject.) Los tipos de valor devuelto que no sean JObject producen un error y generan el error de usuario El contenido de la respuesta no es un elemento JObject válido.

La clave de función proporciona acceso seguro al nombre de la función; cada una de ellas tiene claves únicas independientes o una clave maestra dentro de una aplicación de funciones. La identidad administrada proporciona acceso seguro a toda la aplicación de funciones. El usuario debe proporcionar la clave para acceder al nombre de la función. Consulte la documentación de la función para más información sobre la clave de acceso de la función.

Propiedad Descripción Obligatorio
Tipo La propiedad type debe establecerse en: AzureFunction
Dirección URL de la aplicación de funciones Dirección URL de la instancia de Azure Function App. El formato es https://<accountname>.azurewebsites.net. Esta dirección URL es el valor que aparece en la sección URL al visualizar la instancia de Function App en Azure Portal.
Clave de la función Tecla de acceso de la función de Azure. Haga clic en la sección Administrar de la función correspondiente y copie la tecla de función o la tecla del host. Obtenga más información aquí. Enlaces y desencadenadores HTTP de Azure Functions
Authentication El método de autenticación que se usa para llamar a la función de Azure. Los valores admitidos son "Identidad administrada asignada por el sistema" o "anónima".
Id. de recurso El identificador de aplicación (cliente) de la función de Azure. Cambie a la sección Autenticación de la función correspondiente y obtenga el identificador de aplicación (cliente) en Proveedor de identidades. Esta propiedad se mostrará al usar una identidad administrada asignada por el sistema. Para obtener más información, consulte Configuración de una aplicación de App Service o Azure Functions para usar el inicio de sesión de Microsoft Entra. No

Nota

Cuando use la autenticación anónima, asegúrese de haber retirado la identidad en el lado de la función de Azure.

Actividad de función de Azure

Propiedad Descripción Valores permitidos Obligatorio
Nombre Nombre de la actividad en la canalización String
Tipo El tipo de actividad es “AzureFunctionActivity” String
Servicio vinculado El servicio vinculado de la función de Azure para la instancia correspondiente de Azure Function App Referencia al servicio vinculado
Nombre de función Nombre de la función de la instancia de Azure Function App al que esta actividad llama String
Método Método de API de REST para llamar a la función Tipos de cadena admitidos: "GET", "POST" y "PUT"
Encabezado Encabezados que se envían a la solicitud. Por ejemplo, para establecer el idioma y el tipo en una solicitud: "headers": { "Accept-Language": "en-us", "Content-Type": "application/json" } Cadena (o expresión con un valor resultType de cadena) No
Body Cuerpo que se envía junto con la solicitud al método de API de la función Cadena (o expresión con un valor resultType de cadena) u objeto. Necesario para los métodos POST o PUT

Vea el esquema de la carga de solicitud en la sección Solicitar un esquema de carga.

Enrutamiento y consultas

La actividad de la función de Azure admite enrutamiento. Por ejemplo, si la función de Azure tiene el punto de conexión https://functionAPP.azurewebsites.net/api/<functionName>/<value>?code=<secret>, el elemento functionName que se va a usar en la actividad de función de Azure es <functionName>/<value>. Se puede parametrizar esta función para proporcionar el elemento functionName que se quiera en el tiempo de ejecución.

Nota

El valor de functionName de Durable Functions se debe tomar de la propiedad route del enlace de la función en su definición JSON, para incluir su información de enrutamiento. Si se usa simplemente functionName sin el detalle de la ruta incluido, se produce un error porque no se encuentra la aplicación de funciones.

La actividad de la función de Azure admite consultas. Se debe incluir una consulta como parte del elemento functionName. Por ejemplo, cuando el nombre de función es HttpTriggerCSharp y la consulta que se quiere incluir es name=hello, se puede construir functionName en la actividad de la función de Azure como HttpTriggerCSharp?name=hello. Esta función se puede parametrizar, por lo que el valor se puede determinar en el tiempo de ejecución.

Funciones de tiempo de espera y de larga duración

Azure Functions agota el tiempo de espera después de 230 segundos, independientemente del valor de functionTimeout que se haya configurado. Para obtener más información, consulte este artículo. Para evitar este comportamiento, siga un patrón asincrónico o use Durable Functions. La ventaja de Durable Functions es que ofrece su propio mecanismo de seguimiento de estado, por lo que no tendrá que implementar el suyo propio.

Obtenga más información sobre Durable Functions en este artículo. Puede configurar una actividad de la función de Azure para llamar a la función duradera, lo que devolverá una respuesta con un URI diferente, como en este ejemplo. Dado que statusQueryGetUri devuelve código de estado HTTP 202 mientras la función se ejecuta, puede sondear el estado de la función mediante una actividad web. Configure una actividad web con el campo url establecido en @activity('<AzureFunctionActivityName>').output.statusQueryGetUri. Cuando se completa la función duradera, la salida de la función será el resultado de la actividad web.

Muestra

Aquí puede encontrar un ejemplo que usa una función de Azure para extraer el contenido de un archivo tar.

Obtenga más información sobre las actividades admitidas en Canalizaciones y actividades.