Azure-docs: Function App : Error calling the endpoint - From ADF WebActivity

Created on 8 Aug 2019  Â·  10Comments  Â·  Source: MicrosoftDocs/azure-docs

I have an ADF Pipeline that would be called concurrently(many-times) which has a webActivity that invokes a FunctionApp. I could see a few failures while invoking the function App, a rerun of the activity succeeds, I don't see any failure logs in AppInsights for the FunctionApp. Looks strange to me.
The error says "Error calling the Endpoint", but the same activity succeeds in the rerun without any modifications

image


Document details

⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Pri1 cxp data-factorsvc product-question triaged

All 10 comments

@ask-imran Thanks for the feedback. We are investigating into the issue and will update you shortly.

I am receiving the above mentioned error using ADF with a Pipeline that has Web activity calling a Logic App via POST (which sends an email). The logic app runs when hit by Fiddler. Logic app is not logging the failure, however, like ADF is unable to trigger it.

@ask-imran and @VDMT What is the trigger in your azure function? http trigger? Also how is your azure function protected? if protected using AAD you need Bearer token. if you are using keys you need x-function key. https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook#authorization-keys

Here is a video from channel9 that might help:

Run Azure Functions from Azure Data Factory pipelines

https://channel9.msdn.com/Shows/Azure-Friday/Run-Azure-Functions-from-Azure-Data-Factory-pipelines

Ref - https://stackoverflow.com/questions/54441426/error-calling-the-azure-function-endpoint-from-azure-data-factory

The Azure Function Activity in the ADF pipeline expects the Azure Function to return a JSON object instead of an HttpResponseMessage.

Here's a blog that might help you :
https://microsoft-bitools.blogspot.com/2019/01/introducing-azure-function-activity-to.html

@ChiragMishra-MSFT - I am using a Logic App, I can successfully trigger the logic app using fiddler via:
image
However, calling it in ADF like this:
image
Gives me:
image

As seen above i have set my content-type: application/json

Logic app is configured like this:
image

If fiddler can call the logic app, I wouldn't expect ADF to need auth to trigger the logic app.. (?)

@ask-imran and @VDMT What is the trigger in your azure function? http trigger? Also how is your azure function protected? if protected using AAD you need Bearer token. if you are using keys you need x-function key. https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook#authorization-keys

Here is a video from channel9 that might help:

Run Azure Functions from Azure Data Factory pipelines

https://channel9.msdn.com/Shows/Azure-Friday/Run-Azure-Functions-from-Azure-Data-Factory-pipelines

Ref - https://stackoverflow.com/questions/54441426/error-calling-the-azure-function-endpoint-from-azure-data-factory

Thanks for the response.
_What is the trigger in your azure function? http trigger?_
Yes, its an http trigger

_how is your azure function protected? if protected using AAD you need Bearer token. if you are using keys you need x-function key_

I have set AuthorizationLevel as Function, I use function key to access them.

Okay, now to the point., I have No issues accessing the function from ADF.

I am able to invoke the function from the pipeline activity, it fails at time(s). But, succeeds in rerun of the failed activity without any change.
Why does it fail? and how come the rerun succeeds?

Hi
I am baffled how I am tagged on Microsoft azure repo when I have never even forked it or looked at it?
Is this some bug or malware, I would like to know, please let me know!

-Abhinav

Sent from my iPhone

On Aug 8, 2019, at 6:25 AM, VDMT notifications@github.com wrote:

@ChiragMishra-MSFT - I am using a Logic App, I can successfully trigger the logic app using fiddler via:

However, calling it in ADF like this:

Gives me:

As seen above i have set my content-type: application/json

Logic app is configured like this:

If fiddler can call the logic app, I wouldn't expect ADF to need auth to trigger the logic app.. (?)

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@ChiragMishra-MSFT found the solution to this: under "Settings" in the ADF Web Activity, under "Headers" I had to change it from "content-type" to "Content-Type" (i.e case sensitive also no spaces after) - I would request this be changed to avoid future frustration - as suggested in this link, HTTP headers are case-insensitive. https://stackoverflow.com/questions/5258977/are-http-headers-case-sensitive

@abnarain Because of a typo, you got tagged. Kindly disregard. I have updated the doc to make sure you won't be tagged in the future.

@VDMT Thanks for sharing your findings. We will review and update the doc as appropriate.
I will now proceed to close this thread. Please feel free to still comment and tag me.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mrdfuse picture mrdfuse  Â·  3Comments

varma31 picture varma31  Â·  3Comments

jamesgallagher-ie picture jamesgallagher-ie  Â·  3Comments

DeepPuddles picture DeepPuddles  Â·  3Comments

JeffLoo-ong picture JeffLoo-ong  Â·  3Comments