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:
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.
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.
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.
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 | Sí |
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. |
Sí |
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í: Trabajar con claves de acceso | Sí |
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". | Sí |
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 | Sí |
Tipo | El tipo de actividad es “AzureFunctionActivity” | String | Sí |
Servicio vinculado | El servicio vinculado de la función de Azure para la instancia correspondiente de Azure Function App | Referencia al servicio vinculado | Sí |
Nombre de función | Nombre de la función de la instancia de Azure Function App al que esta actividad llama | String | Sí |
Método | Método de API de REST para llamar a la función | Tipos de cadena admitidos: "GET", "POST" y "PUT" | Sí |
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.
Contenido relacionado
Obtenga más información sobre las actividades admitidas en Canalizaciones y actividades.