Implement generative AI and agentic solutions 2.1 Build generative applications by using Foundry
A Foundry agent must call business logic in Azure Functions through the Azure Functions…
Study guide skill: Integrate generative workflows into applications by using Foundry SDKs and connectors
Question B6-017
A Foundry agent must call business logic in Azure Functions through the Azure Functions tool, which exchanges messages through Azure Queue storage. Which two requirements apply? (Choose two.)
Select 2 answers.
Answer: A, E
The Azure Functions tool needs the queue resources and managed network integration of the standard setup, so the basic setup isn't supported. Both identities need Storage Queue Data Contributor: the agent sends requests and reads results, and the function app processes requests and writes results. The agent places a message in an input queue, a queue trigger runs the function, and the result comes back through an output queue, so separate input and output queues are required.
Deep dive
How it works
The Azure Functions tool connects a Foundry agent to function code through Azure Queue storage, not through HTTP calls:
- The agent connects directly to an input queue monitored by Azure Functions, using the tool definition from
AzureFunctionTool. - An Azure Storage queue trigger runs the function code to process the message.
- The function returns its result through an output queue binding, which the agent reads.
Two requirements follow from that design:
- Standard agent setup. The basic setup isn't supported, because the tool needs the queue resources and managed network integration that the standard setup provides.
- Storage Queue Data Contributor for both identities, on the storage account: the Foundry project's managed identity and the function app's managed identity.
For Azure deployment you need a storage account with separate input and output queues, and the function must use the same queue names as the agent definition.
The other options, and when you'd use them
- Role for the function app only: The agent connects directly to the input queue, so the project's managed identity needs the role too. The docs list both identities.
- HTTP-triggered function with a function key: That's a different integration. For HTTP-trigger functions you describe the function with an OpenAPI specification and register it through the OpenAPI tool.
- One queue for requests and results: The setup calls for separate input and output queues.
Exam tip
Azure Functions tool = queues: standard setup only, input queue → queue trigger → output queue, Storage Queue Data Contributor for both the project identity and the function app identity.
References
Last reviewed: