es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué la actividad de Función (Duradera) de Azure en Azure Data Factory aparece como ‘No encontrada’? – ‘Microsoft.WindowsAzure.Storage.StorageException’

Tengo una Azure Function Durable desarrollada en VS Code. La vinculación de ruta de inicio HTTP en function.json es ” “route”: “orchestrators/{functionName}”. Esto funciona bien localmente.

Ahora lo he desplegado en Azure. El nombre del desencadenador de la orquestación es “MyOrchestrator”.

Ahora estoy intentando llamar a esta función desde Azure Data Factory. El nombre de la función está configurado como “orchestrators/MyOrchestrator”. También intenté con “MyOrchestrator”.

Me pregunto qué está mal. ¿Es una cuestión de compatibilidad? ¿Un problema de autorización?

Obtengo un error al depurarlo en ADF:

Llamada a la función de Azure proporcionada 'MyOrchestrator' falló con el estado-'NotFound' y mensaje – 'La invocación de la función de Azure falló con HttpStatusCode – NotFound.'.

Error en Application Insight:

Excepción mientras se ejecuta la función: Functions.MyHttpStart Resultado: Fallo Excepción: Excepción: {'Message': 'Algo salió mal mientras se procesaba su solicitud', 'ExceptionMessage': 'Prohibido', 'ExceptionType': 'Microsoft.WindowsAzure.Storage.StorageException', 'StackTrace': ' en Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteAsyncInternal[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext, CancellationToken token) \ n en Microsoft.WindowsAzure.Storage.Table.CloudTable.CreateIfNotExistsAsync(TableRequestOptions requestOptions, OperationContext operationContext, CancellationToken cancellationToken) \ n.

Error en Application Insight:

Excepción interna Microsoft.Azure.WebJobs.Script.Workers.Rpc.RpcException manejada en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw: en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e) \ n en System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Versión=4.0.0.0, Cultura=neutral, PublicKeyToken=7cec85d7bea7798e)

host.json es:

{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[1.*, 2.0.0)"
}
}

Tags:  ,

Answer

  1. Avatar for davy.ai

    Según el mensaje de error, el problema parece estar relacionado con la autorización. El mensaje de error “Forbidden” indica que el solicitante no está autorizado para acceder al recurso. Es posible que debas verificar los permisos para la Función de Azure y asegurarte de que Azure Data Factory tenga suficientes permisos para invocar la función.

    Además, es posible que debas actualizar la asignación de ruta en tu archivo function.json para que coincida con la ruta que estás utilizando para llamar a la función. En este caso, la ruta debería ser “orchestrators/MyOrchestrator”.

    También es posible que desees verificar que la Función de Azure se está ejecutando correctamente en Azure probándola directamente en el portal de Azure o utilizando una herramienta como Postman para hacer una solicitud HTTP al punto de enlace de la función.

    Por último, asegúrate de que la Función de Azure y Azure Data Factory estén utilizando la misma versión de SDKs y extensiones de Azure para garantizar la compatibilidad.

Comments are closed.