Category: azure

Expose database objects, stored procedures, and views, including GraphQL relationships (DP-800 Exam Prep)

This post is a part of the DP-800: Developing AI-Enabled Database Solutions Exam Prep Hub.
This topic falls under these sections:
Secure, optimize, and deploy database solutions (35–40%)
   --> Integrate SQL solutions with Azure services
      --> Expose database objects, stored procedures, and views, including GraphQL relationships


Note that there are 10 practice questions (with answers) at the end of each section to help you solidify your knowledge of the material. Also, there are 4 practice tests with 30 questions each available from the hub's main page below the exam topics section.

Introduction

Modern applications rarely communicate directly with a database. Instead, they interact with APIs that expose only the data and operations that applications require. Microsoft’s Data API builder (DAB) provides a secure and efficient way to expose Azure SQL Database, Azure SQL Managed Instance, SQL Server, and Azure Database for PostgreSQL as REST and GraphQL APIs without requiring developers to build custom API services.

One of the primary responsibilities of a SQL AI Developer is deciding which database objects should be exposed, how they should be exposed, and how relationships between entities should be represented, particularly in GraphQL.

For the DP-800 exam, candidates should understand how to expose:

  • Tables
  • Views
  • Stored procedures
  • Relationships between entities
  • GraphQL navigation
  • REST resources
  • Security considerations
  • Performance considerations

Why Expose Database Objects?

Instead of allowing applications to connect directly to a database, organizations commonly expose selected database objects through APIs because APIs provide:

  • Better security
  • Controlled access
  • Versioning
  • Authentication
  • Authorization
  • Business logic abstraction
  • Simplified client development

Rather than allowing direct SQL access, applications interact with HTTP endpoints such as:

GET /api/Products

or GraphQL queries like:

query {
products {
ProductID
Name
Price
}
}

Objects That Can Be Exposed

Microsoft Data API builder can expose several database object types.

1. Tables

Tables are the most common objects exposed.

Example:

Products
Customers
Orders
Employees

Each table becomes an entity.

Example DAB configuration:

{
"entities": {
"Products": {
"source": "Products"
}
}
}

REST endpoints generated:

GET /api/Products
POST /api/Products
PATCH /api/Products
DELETE /api/Products

GraphQL automatically generates:

products
product_by_pk

and corresponding mutations.


2. Views

Views provide a secure way to expose pre-filtered or joined data.

Example:

vwSalesSummary

Instead of exposing many tables, clients consume the view.

Benefits include:

  • Simplified queries
  • Hidden table structure
  • Security abstraction
  • Read-only reporting

Example:

CustomerName
OrderCount
TotalSales

instead of requiring joins.

Views are especially useful for reporting applications.


3. Stored Procedures

Stored procedures expose business logic rather than raw tables.

Example:

EXEC usp_CreateOrder

Instead of allowing clients to insert rows manually.

Advantages include:

  • Validation
  • Business rules
  • Transactions
  • Consistent processing

Data API builder supports stored procedures as API operations.

Example REST endpoint:

POST /api/CreateOrder

Why Use Stored Procedures?

Stored procedures provide:

  • Better security
  • Centralized business rules
  • Reduced network traffic
  • Transaction handling
  • Parameter validation

Example:

Instead of:

Insert Order
Insert Items
Update Inventory
Calculate Discount
Commit Transaction

The application calls:

CreateOrder()

The stored procedure performs every operation safely.


Exposing Views vs Tables

TablesViews
Raw dataProcessed data
Often updateableOften read-only
Complete schemaSimplified schema
Less abstractionGreater abstraction
Better for CRUDBetter for reporting

Exposing Stored Procedures

Stored procedures typically become REST POST operations because they execute actions.

Example:

POST
/api/ProcessPayment

Input:

{
"OrderID":1054
}

The procedure performs the transaction.


GraphQL Relationships

One of GraphQL’s greatest advantages is navigating relationships between entities.

Instead of making several REST calls:

Customers
Orders
OrderDetails

GraphQL can retrieve all related information in one request.

Example:

query {
customers {
CustomerName
orders {
OrderID
OrderDate
orderDetails {
ProductName
Quantity
}
}
}

GraphQL traverses relationships automatically.


Understanding Relationships

Suppose the database contains:

Customers
Orders
Products
OrderDetails

Relationships:

Customer
|
| 1:M
|
Orders
|
| 1:M
|
OrderDetails
|
| M:1
|
Products

GraphQL follows these relationships naturally.


One-to-Many Relationships

Example:

Customer

↓

Orders

Example query:

query{
customers{
CustomerName
orders{
OrderID
OrderDate
}
}
}

The response includes each customer’s orders.


Many-to-One Relationships

Example:

OrderDetails

↓

Product

query{
orderDetails{
Quantity
product{
Name
Price
}
}
}

Many-to-Many Relationships

Many-to-many relationships are typically implemented through junction tables.

Example:

Students
Courses
StudentCourses

GraphQL can expose navigation through the junction table.


REST vs GraphQL for Relationships

REST

GET Customers
GET Orders
GET OrderDetails

Multiple requests required.

GraphQL

One query retrieves everything.

Advantages:

  • Reduced network traffic
  • Less over-fetching
  • Less under-fetching
  • Better performance

Relationship Configuration in Data API Builder

Relationships are defined inside the configuration.

Example concept:

Customers
hasMany
Orders

and

Orders
belongsTo
Customers

This allows nested GraphQL queries.


CRUD Support

Depending on configuration, exposed entities may support:

Create

POST

Read

GET

Update

PUT
PATCH

Delete

DELETE

Not every entity must support every operation.

For example:

Views

Read Only

Tables

Read + Write

Restricting Exposed Objects

Best practice is not to expose every table.

Expose only:

  • Required tables
  • Required views
  • Required procedures

Avoid exposing:

  • Audit tables
  • Internal configuration
  • Security tables
  • Temporary tables
  • Logging tables

Least privilege always applies.


Security Considerations

When exposing database objects:

  • Require HTTPS
  • Use Microsoft Entra authentication
  • Apply least privilege
  • Use role-based authorization
  • Expose only necessary objects
  • Validate procedure parameters
  • Avoid exposing sensitive columns
  • Audit endpoint usage

Performance Considerations

Good API design includes:

  • Return only needed fields
  • Use pagination
  • Cache reference data
  • Optimize SQL queries
  • Index frequently queried columns
  • Avoid unnecessary nested GraphQL queries
  • Use views for complex reporting

Common DP-800 Exam Tips

Know when to expose:

ObjectTypical Use
TableCRUD operations
ViewReporting and simplified queries
Stored ProcedureBusiness logic and transactions
GraphQL RelationshipNested related data
REST EndpointResource-oriented operations

Summary

For the DP-800 exam, you should understand that Data API builder can expose tables, views, and stored procedures as secure REST and GraphQL endpoints. Tables are commonly used for CRUD operations, views simplify reporting and hide underlying schemas, and stored procedures encapsulate business logic and transactional operations. GraphQL relationships allow clients to traverse related entities in a single request, reducing network calls and simplifying application development. Developers should expose only the objects required by the application, apply least-privilege security principles, and optimize endpoints for performance and maintainability.


Practice Exam Questions

Question 1

Your organization wants external applications to retrieve product information without exposing the underlying table structure or requiring complex joins. Which database object should you expose?

A. A view

B. A database trigger

C. A SQL Agent job

D. A temporary table

Correct Answer:

A. A view

Explanation

Views present a simplified, controlled representation of data by encapsulating joins and filters. They hide the underlying schema, making them ideal for reporting and read-only access. Triggers, SQL Agent jobs, and temporary tables are not intended to expose data to applications.


Question 2

Which type of database object is best suited for encapsulating business logic that performs multiple database operations within a single transaction?

A. A view

B. A stored procedure

C. A synonym

D. An index

Correct Answer:

B. A stored procedure

Explanation

Stored procedures centralize business logic, validate inputs, manage transactions, and execute multiple SQL statements as a single unit of work. Views are primarily for querying data, while synonyms and indexes do not execute business logic.


Question 3

An application uses GraphQL to retrieve customer information and all associated orders in a single request.

Which GraphQL capability makes this possible?

A. Automatic indexing

B. HTTP caching

C. Entity relationships

D. SQL triggers

Correct Answer:

C. Entity relationships

Explanation

GraphQL relationships allow clients to traverse related entities through nested queries, enabling retrieval of customers and their orders in a single request. This is one of GraphQL’s primary advantages over traditional REST APIs.


Question 4

A developer exposes a database table through Data API builder and wants clients to retrieve records using REST.

Which HTTP method should clients use?

A. DELETE

B. PATCH

C. POST

D. GET

Correct Answer:

D. GET

Explanation

REST uses the GET method to retrieve resources. POST creates resources, PATCH updates existing resources, and DELETE removes resources.


Question 5

Which object is most appropriate for exposing aggregated sales totals without allowing users to modify the underlying data?

A. A stored procedure

B. A table

C. A view

D. A trigger

Correct Answer:

C. A view

Explanation

Views are commonly used to expose aggregated or summarized information while hiding the complexity of the underlying tables. Many reporting views are read-only, preventing accidental modifications.


Question 6

A Data API builder configuration includes only the Products and Categories entities.

What happens if a client attempts to access the Employees table?

A. The request succeeds because all tables are exposed automatically.

B. The table is exposed only through GraphQL.

C. The request fails because Employees is not configured as an exposed entity.

D. Data API builder creates the endpoint automatically.

Correct Answer:

C. The request fails because Employees is not configured as an exposed entity.

Explanation

Data API builder exposes only the entities explicitly defined in its configuration. Objects not configured remain inaccessible through both REST and GraphQL endpoints.


Question 7

Why should developers avoid exposing every database table through REST or GraphQL endpoints?

A. Because GraphQL cannot access multiple tables.

B. To follow the principle of least privilege and reduce security risks.

C. Because Data API builder supports only five entities.

D. To improve SQL syntax compatibility.

Correct Answer:

B. To follow the principle of least privilege and reduce security risks.

Explanation

Exposing only required objects reduces the attack surface, protects sensitive data, and aligns with security best practices. Internal, audit, configuration, and security tables should generally remain inaccessible.


Question 8

Which GraphQL feature reduces the need for multiple REST API calls when retrieving related data?

A. Stored procedures

B. Pagination

C. HTTP status codes

D. Nested queries using relationships

Correct Answer:

D. Nested queries using relationships

Explanation

GraphQL allows nested queries that follow entity relationships, enabling clients to retrieve related objects in a single request. This minimizes network traffic and simplifies application development.


Question 9

Which database object is generally the best choice for exposing an operation that validates inventory, creates an order, updates stock levels, and commits the transaction?

A. A stored procedure

B. A view

C. A nonclustered index

D. A foreign key

Correct Answer:

A. A stored procedure

Explanation

Stored procedures encapsulate complex business processes, ensure transactional consistency, and centralize business rules. Views and indexes cannot perform transactional workflows.


Question 10

A GraphQL query retrieves customer information along with orders and order details.

What is the primary benefit of this approach compared to making several REST requests?

A. SQL Server automatically creates indexes.

B. Database permissions are no longer required.

C. Authentication becomes optional.

D. Multiple related resources can be retrieved in a single request, reducing network overhead.

Correct Answer:

D. Multiple related resources can be retrieved in a single request, reducing network overhead.

Explanation

GraphQL enables clients to retrieve exactly the required data—including related entities—in a single query. This reduces round trips, minimizes over-fetching and under-fetching, and often improves application performance.


Go to the DP-800 Exam Prep Hub main page

Configure REST or GraphQL endpoints (DP-800 Exam Prep)

This post is a part of the DP-800: Developing AI-Enabled Database Solutions Exam Prep Hub.
This topic falls under these sections:
Secure, optimize, and deploy database solutions (35–40%)
   --> Integrate SQL solutions with Azure services
      --> Configure REST or GraphQL endpoints


Note that there are 10 practice questions (with answers) at the end of each section to help you solidify your knowledge of the material. Also, there are 4 practice tests with 30 questions each available from the hub's main page below the exam topics section.

Introduction

Modern applications rarely connect directly to a database. Instead, they communicate with APIs that provide a secure, scalable, and well-defined interface for accessing and modifying data. Microsoft Data API Builder (DAB) simplifies this process by automatically exposing SQL Server and Azure SQL Database objects through REST and GraphQL endpoints with minimal custom code.

For the DP-800: Developing AI-Enabled Database Solutions certification exam, candidates should understand how to configure and secure REST and GraphQL endpoints, determine when each API style is appropriate, configure authentication and authorization, expose database objects as entities, and optimize endpoint performance.

This topic builds on previous areas such as configuring entities and Data API Builder configuration files. While entities define what database objects are exposed, endpoints determine how applications interact with those objects.


Learning Objectives

After completing this topic, you should be able to:

  • Explain the purpose of REST and GraphQL endpoints.
  • Understand how Data API Builder exposes SQL data.
  • Configure REST endpoints.
  • Configure GraphQL endpoints.
  • Understand endpoint routing.
  • Configure CRUD operations.
  • Secure API endpoints.
  • Implement authentication and authorization.
  • Optimize endpoint performance.
  • Choose between REST and GraphQL for various scenarios.
  • Troubleshoot common endpoint issues.

Why APIs Are Important

Without APIs:

Application
↓
Direct Database Connection
↓
SQL Database

Applications require:

  • Database credentials
  • Knowledge of table structures
  • SQL query logic
  • Network connectivity to the database

This approach introduces security and maintenance challenges.

With Data API Builder:

Application
↓
REST / GraphQL API
↓
Data API Builder
↓
Azure SQL Database

Benefits include:

  • Simplified development
  • Better security
  • Centralized authentication
  • Controlled data exposure
  • Consistent API design
  • Easier scalability

Understanding REST

REST (Representational State Transfer) is an architectural style that exposes resources through HTTP methods.

Common HTTP verbs include:

MethodPurpose
GETRetrieve data
POSTCreate data
PUTReplace an existing resource
PATCHUpdate part of a resource
DELETERemove data

Example:

GET /api/products

returns:

[
{
"ProductID":1,
"Name":"Laptop"
}
]

REST Endpoint Structure

Typical endpoint format:

https://server/api/entity

Examples:

GET /api/customers
GET /api/orders
POST /api/products
PATCH /api/orders/25
DELETE /api/customers/10

REST uses URLs to identify resources.


Understanding GraphQL

GraphQL is a query language developed to allow clients to request exactly the data they require.

Unlike REST, GraphQL typically uses a single endpoint.

Example:

/graphql

The client submits queries.

Example:

query {
products {
Name
Price
}
}

Only the requested fields are returned.


REST vs. GraphQL

FeatureRESTGraphQL
EndpointsMultipleUsually one
Data returnedFixed by endpointClient specifies fields
Over-fetchingPossibleMinimized
Under-fetchingPossibleRare
CRUD supportNative HTTP verbsQueries and mutations
Learning curveLowerSlightly higher
CachingExcellent HTTP supportMore complex

Neither approach is universally better.

Microsoft expects developers to choose the appropriate API based on application requirements.


Data API Builder Architecture

Data API Builder sits between applications and the database.

Application
↓
REST / GraphQL
↓
Data API Builder
↓
Azure SQL Database

Responsibilities include:

  • Endpoint generation
  • Authentication
  • Authorization
  • SQL execution
  • CRUD operations
  • Entity mapping
  • Relationship handling

Configuring REST Endpoints

REST endpoints are enabled within the Data API Builder configuration.

Developers specify:

  • Entity
  • Source table
  • Permissions
  • Allowed operations

Example concept:

Entity
↓
Customers
↓
REST Enabled

Automatically creates endpoints similar to:

GET /api/customers
POST /api/customers
PATCH /api/customers/15
DELETE /api/customers/15

Configuring GraphQL Endpoints

When GraphQL is enabled, Data API Builder generates a GraphQL schema automatically.

Example query:

query {
customers {
CustomerName
City
}
}

Mutation example:

mutation {
createCustomer(...)
}

Developers do not manually write the GraphQL schema.


Endpoint Routing

Routing determines how incoming requests reach the appropriate entity.

REST example:

/api/products

Routes to:

Products Entity

GraphQL example:

/GraphQL

Routes all requests through:

GraphQL Engine

The GraphQL engine determines which entities participate in the query.


CRUD Operations

Data API Builder supports CRUD operations.

OperationRESTGraphQL
CreatePOSTMutation
ReadGETQuery
UpdatePATCH/PUTMutation
DeleteDELETEMutation

Organizations often disable unnecessary operations.

Example:

Internal reporting API:

Allowed:

  • GET

Disabled:

  • POST
  • PATCH
  • DELETE

This reduces security risks.


Endpoint Configuration Best Practices

Microsoft recommends exposing only the endpoints required by the application.

Good practices include:

  • Enable only necessary entities.
  • Disable unnecessary CRUD operations.
  • Hide internal tables.
  • Use descriptive endpoint names.
  • Keep URL structures consistent.
  • Avoid exposing sensitive objects.

Authentication

Authentication answers:

Who is making the request?

Common authentication methods include:

  • Microsoft Entra ID
  • Managed Identity
  • JWT Bearer Tokens
  • OAuth 2.0
  • API keys (where appropriate)

Microsoft strongly recommends Microsoft Entra ID for Azure-hosted solutions.


Microsoft Entra ID Integration

Data API Builder integrates with Microsoft Entra ID.

Authentication flow:

User
↓
Microsoft Entra ID
↓
Access Token
↓
REST / GraphQL
↓
Data API Builder
↓
Azure SQL Database

Benefits include:

  • Single sign-on
  • Central identity management
  • Multi-factor authentication
  • Conditional Access
  • Token-based authentication

Authorization

Authentication determines identity.

Authorization determines permissions.

Example:

Developer:

Can:

  • Read
  • Update

Auditor:

Can:

  • Read only

Guest:

Can:

  • View public data only

Authorization should follow the principle of least privilege.


Endpoint Security

APIs should never expose more information than necessary.

Security recommendations include:

  • Use HTTPS exclusively.
  • Require authentication.
  • Use Microsoft Entra ID where possible.
  • Implement role-based authorization.
  • Validate client input.
  • Disable unused operations.
  • Avoid exposing sensitive columns.
  • Log API access.
  • Monitor suspicious activity.

Protecting Sensitive Data

Poor API:

Employee
Name
Salary
SSN
PasswordHash

Better API:

Employee
Name
Department
Title

Sensitive fields should remain inaccessible.

Often this is accomplished through:

  • Database views
  • Entity configuration
  • Role-based permissions

Error Handling

REST commonly returns HTTP status codes.

Examples:

CodeMeaning
200Success
201Created
400Bad Request
401Unauthorized
403Forbidden
404Not Found
500Internal Server Error

Applications should use these responses to handle failures appropriately.


GraphQL Error Responses

GraphQL responses may contain both successful data and error information.

Example concept:

{
"data": {
"products": null
},
"errors": [
{
"message":"Unauthorized"
}
]
}

Unlike REST, GraphQL often returns HTTP 200 while including error details in the response body.

Developers should inspect both the HTTP status code and the GraphQL response payload.


Performance Considerations

Well-designed endpoints improve application performance.

Recommendations include:

  • Return only required data.
  • Filter data at the database.
  • Use pagination.
  • Cache relatively static responses.
  • Index frequently searched columns.
  • Avoid returning excessively large result sets.
  • Reduce unnecessary joins.

GraphQL helps minimize over-fetching because clients specify the required fields.


REST Performance

REST benefits from mature HTTP infrastructure.

Advantages include:

  • Browser caching
  • Proxy caching
  • Azure Front Door
  • Azure API Management caching
  • CDN support

REST is often preferred for:

  • Public APIs
  • High-volume read workloads
  • Static content
  • Mobile applications

GraphQL Performance

GraphQL reduces unnecessary network traffic.

Instead of:

GET Customer
GET Orders
GET Products

A single GraphQL query can retrieve all related information.

Example:

{
customer(id:1){
Name
Orders{
OrderDate
Total
}
}
}

This minimizes the number of client-server round trips.


Monitoring Endpoints

Production APIs should be monitored continuously.

Useful Azure services include:

  • Azure Monitor
  • Application Insights
  • Log Analytics
  • Azure API Management analytics

Monitor:

  • Request counts
  • Response times
  • Error rates
  • Authentication failures
  • Throughput
  • Latency

These metrics help identify bottlenecks and security issues.


Common DP-800 Exam Scenarios

You should be comfortable answering questions such as:

  • When should REST be preferred over GraphQL?
  • When is GraphQL more efficient than REST?
  • How are CRUD operations exposed through each API style?
  • Why should unnecessary CRUD operations be disabled?
  • Which authentication mechanism is recommended for Azure-hosted APIs?
  • How should endpoint authorization be implemented?
  • How can API performance be improved?
  • Why is HTTPS required?
  • How does GraphQL reduce over-fetching?
  • What monitoring information should be collected for production APIs?

DP-800 Exam Tips

  • Know the differences between REST and GraphQL.
  • Understand how Data API Builder automatically generates endpoints.
  • Remember that REST typically uses multiple endpoints, while GraphQL commonly uses a single endpoint.
  • Understand the mapping between CRUD operations and HTTP verbs.
  • Recognize the importance of Microsoft Entra ID authentication.
  • Apply least-privilege authorization principles.
  • Use HTTPS for all endpoint communication.
  • Know when GraphQL reduces over-fetching and when REST benefits from HTTP caching.
  • Understand how endpoint configuration affects security, scalability, and performance.

Summary

Configuring REST and GraphQL endpoints is a core competency for developers building modern SQL-backed applications with Microsoft Data API Builder. REST provides resource-oriented endpoints that align naturally with HTTP methods and benefit from widespread tooling and caching support. GraphQL offers a flexible query model that enables clients to retrieve exactly the data they need, reducing over-fetching and minimizing network traffic.

For the DP-800 exam, candidates should understand how Data API Builder automatically generates these endpoints from configured entities, how CRUD operations map to each API style, how to secure endpoints using Microsoft Entra ID and role-based authorization, and how to optimize performance through pagination, filtering, caching, and efficient query design. Mastering these concepts enables developers to build secure, scalable, and maintainable APIs that integrate SQL databases with modern cloud-native applications.


Practice Exam Questions


Question 1

You are deploying Microsoft Data API builder in front of an Azure SQL Database. The security team requires that users authenticate with Microsoft Entra ID before accessing either the REST or GraphQL endpoints.

Which authentication provider should you configure?

A. Anonymous authentication

B. Microsoft Entra ID authentication

C. Basic Authentication

D. SQL Authentication

Correct Answer:

B. Microsoft Entra ID authentication

Explanation

Microsoft Entra ID (formerly Azure Active Directory) is Microsoft’s recommended authentication mechanism for cloud services. Data API builder supports Microsoft Entra ID authentication, enabling secure token-based authentication for both REST and GraphQL endpoints.

Why the other answers are incorrect:

  • A: Anonymous authentication provides no identity validation.
  • C: Basic authentication transmits usernames and passwords and is generally discouraged.
  • D: SQL Authentication secures the database connection but is not intended for authenticating API consumers.

Question 2

A development team wants consumers of a REST endpoint to retrieve data using standard HTTP semantics.

Which HTTP method should clients use when reading data?

A. POST

B. PUT

C. GET

D. DELETE

Correct Answer:

C. GET

Explanation

REST follows standard HTTP conventions.

  • GET retrieves data.
  • POST creates resources.
  • PUT replaces existing resources.
  • DELETE removes resources.

Using the appropriate HTTP method improves interoperability and aligns with REST best practices.


Question 3

A GraphQL endpoint exposes Customer information.

A client application only requires the customer’s first name and email address.

What is the primary advantage of GraphQL in this scenario?

A. GraphQL automatically encrypts returned data.

B. GraphQL always executes faster than REST.

C. GraphQL allows clients to request only the required fields.

D. GraphQL eliminates authentication requirements.

Correct Answer:

C. GraphQL allows clients to request only the required fields.

Explanation

GraphQL enables clients to specify exactly which fields should be returned, reducing unnecessary data transfer and improving application efficiency.

The other options are incorrect because:

  • GraphQL does not provide encryption.
  • Performance depends on workload.
  • Authentication remains necessary.

Question 4

An organization wants to expose only the Products table through Data API builder.

The Orders and Customers tables must never be accessible.

What is the best configuration?

A. Configure only the Products entity in the DAB configuration.

B. Create views for all tables.

C. Grant db_owner permissions.

D. Disable GraphQL.

Correct Answer:

A. Configure only the Products entity in the DAB configuration.

Explanation

Only configured entities become accessible through DAB endpoints. Tables not defined in the configuration cannot be queried through the generated APIs.

Granting broad database permissions or disabling GraphQL does not prevent REST access.


Question 5

A developer receives HTTP 401 Unauthorized when calling a secured REST endpoint.

Which issue is the most likely cause?

A. The endpoint uses HTTPS.

B. The client failed to provide a valid authentication token.

C. The SQL query contains joins.

D. Pagination is enabled.

Correct Answer:

B. The client failed to provide a valid authentication token.

Explanation

HTTP 401 indicates that authentication failed or credentials were not supplied.

Typical causes include:

  • Missing bearer token
  • Expired token
  • Invalid token
  • Incorrect authentication configuration

The remaining options are unrelated to authentication failures.


Question 6

Your organization wants GraphQL clients to create new database records.

Which GraphQL operation should the clients perform?

A. Query

B. Subscription

C. Mutation

D. Schema

Correct Answer:

C. Mutation

Explanation

GraphQL defines three primary operation types:

  • Query → Read data
  • Mutation → Insert, update, or delete data
  • Subscription → Receive real-time updates (where supported)

Creating records is accomplished using mutations.


Question 7

An application experiences slower response times because every request repeatedly retrieves identical reference data.

Which feature would most likely improve endpoint performance?

A. Increase SQL authentication timeout.

B. Enable response caching where appropriate.

C. Replace GraphQL with SOAP.

D. Disable indexes.

Correct Answer:

B. Enable response caching where appropriate.

Explanation

Caching reduces repeated database reads for frequently requested data.

Benefits include:

  • Lower latency
  • Reduced database workload
  • Improved scalability

Disabling indexes would significantly reduce performance.


Question 8

Which statement best describes GraphQL schemas?

A. They define the structure of available queries, mutations, and data types.

B. They replace SQL indexes.

C. They encrypt REST endpoints.

D. They create database backups.

Correct Answer:

A. They define the structure of available queries, mutations, and data types.

Explanation

The GraphQL schema acts as the contract between clients and the API.

It specifies:

  • Available object types
  • Fields
  • Queries
  • Mutations
  • Relationships

It does not manage indexing, encryption, or backups.


Question 9

Your organization deploys Data API builder to production.

Which practice best protects REST and GraphQL endpoints?

A. Enable anonymous access for easier testing.

B. Store secrets directly in configuration files.

C. Require HTTPS and strong authentication.

D. Disable authorization checks.

Correct Answer:

C. Require HTTPS and strong authentication.

Explanation

Production APIs should always:

  • Use HTTPS
  • Authenticate users
  • Authorize requests
  • Protect credentials
  • Follow least-privilege principles

Anonymous access and embedded secrets introduce significant security risks.


Question 10

A developer modifies a Data API builder configuration file by adding a new entity.

What must occur before clients can use the new endpoint?

A. Restart or redeploy the Data API builder service so the updated configuration is loaded.

B. Rebuild the Azure SQL Database.

C. Delete the GraphQL schema.

D. Recreate the database indexes.

Correct Answer:

A. Restart or redeploy the Data API builder service so the updated configuration is loaded.

Explanation

After modifying the DAB configuration, the running service must reload the updated configuration. Depending on the hosting environment, this typically involves restarting the application or redeploying the container or service.

Database rebuilding, deleting the GraphQL schema, and recreating indexes are unrelated to exposing newly configured endpoints.


Exam Tips for DP-800

For the exam, you should be comfortable with:

  • Configuring REST and GraphQL endpoints using Microsoft Data API builder.
  • Understanding REST HTTP methods (GET, POST, PUT/PATCH, DELETE).
  • Understanding GraphQL queries, mutations, and schemas.
  • Configuring Microsoft Entra ID authentication.
  • Applying authorization using database permissions and DAB configuration.
  • Exposing only intended database objects.
  • Using HTTPS to secure endpoint communications.
  • Improving performance through caching and efficient endpoint design.
  • Deploying configuration changes safely.
  • Understanding the differences and appropriate use cases for REST versus GraphQL.

Go to the DP-800 Exam Prep Hub main page

Configure entities for REST and GraphQL, including data caching, pagination, searching, and filtering (DP-800 Exam Prep)

This post is a part of the DP-800: Developing AI-Enabled Database Solutions Exam Prep Hub.
This topic falls under these sections:
Secure, optimize, and deploy database solutions (35–40%)
   --> Integrate SQL solutions with Azure services
      --> Configure entities for REST and GraphQL, including data caching, pagination, searching, and filtering


Note that there are 10 practice questions (with answers) at the end of each section to help you solidify your knowledge of the material. Also, there are 4 practice tests with 30 questions each available from the hub's main page below the exam topics section.

Introduction

Modern applications increasingly expose data through APIs rather than allowing applications to connect directly to databases. APIs provide a secure abstraction layer that simplifies application development while protecting the underlying database.

For the DP-800 certification, Microsoft expects candidates to understand how Data API Builder (DAB) exposes SQL Server and Azure SQL Database objects through automatically generated REST and GraphQL endpoints. Candidates should know how to configure entities, control which operations are available, implement pagination, filtering, searching, caching, relationships, and understand the security implications of exposing database objects through APIs.

Unlike traditional custom-built APIs that require significant development effort, Data API Builder allows developers to expose database objects by using a configuration file. Developers describe database objects as entities, define the allowed operations, and configure API behavior.

Understanding entity configuration is an important skill because it enables organizations to rapidly build secure, scalable APIs without writing extensive backend code.


Learning Objectives

After completing this topic, you should be able to:

  • Explain how Data API Builder exposes SQL data.
  • Configure entities in a DAB configuration file.
  • Expose entities through REST and GraphQL.
  • Configure CRUD operations.
  • Configure relationships between entities.
  • Implement pagination.
  • Configure filtering and searching.
  • Configure sorting.
  • Understand caching behavior.
  • Apply security best practices.

What is Data API Builder (DAB)?

Data API Builder is an open-source Microsoft service that automatically creates REST and GraphQL APIs for relational databases.

Supported databases include:

  • Azure SQL Database
  • SQL Server
  • Azure SQL Managed Instance
  • Azure Database for PostgreSQL
  • Azure Cosmos DB (NoSQL support in certain scenarios)

Rather than developing controllers and endpoints manually, developers define a configuration file that describes:

  • Database connection
  • Authentication
  • Authorization
  • Entities
  • API settings
  • Runtime behavior

DAB automatically generates the endpoints.

Example architecture:

Application
│
REST / GraphQL
│
Data API Builder
│
Azure SQL Database

Why Use Data API Builder?

Benefits include:

  • Rapid API development
  • Less custom code
  • Built-in GraphQL
  • Automatic REST endpoints
  • Security integration
  • Microsoft Entra authentication
  • Managed Identity support
  • Authorization rules
  • Entity relationships
  • Simplified deployment

For many internal business applications, DAB eliminates the need to build an entire ASP.NET Web API project.


Understanding Entities

An entity represents a database object that Data API Builder exposes through an API.

Typically an entity maps to:

  • Table
  • View
  • Stored procedure (REST only in specific scenarios)

Example database:

Customers
CustomerID
FirstName
LastName
Email

Entity configuration:

Customers

Automatically becomes

REST

GET /api/Customers
POST /api/Customers
GET /api/Customers/{id}

GraphQL

customers
customer_by_pk
createCustomer
updateCustomer
deleteCustomer

Entity Configuration Basics

Each entity is defined inside the configuration file.

Typical properties include:

  • Source object
  • Permissions
  • REST settings
  • GraphQL settings
  • Relationships
  • Fields
  • Operations

Conceptually:

Entity
Source Table
REST enabled
GraphQL enabled
Permissions
Relationships

Entity Source

The source identifies the database object.

Examples include:

  • Table
  • View

Example concept:

Entity
Product
Source
dbo.Products

The entity name does not have to match the table name.

Example:

Database table

SalesOrders

Exposed as

Orders

This abstraction creates cleaner APIs.


Exposing REST Endpoints

REST endpoints are enabled per entity.

Typical operations include:

  • GET
  • POST
  • PUT
  • PATCH
  • DELETE

Example endpoints:

GET /api/products
GET /api/products/10
POST /api/products
PATCH /api/products/10
DELETE /api/products/10

Developers can disable operations they do not want clients to perform.

Example:

Allow:

  • GET

Disable:

  • DELETE

This creates read-only APIs.


Exposing GraphQL Endpoints

When GraphQL is enabled, DAB generates a GraphQL schema automatically.

Example query:

query
{
books
{
BookID
Title
Price
}
}

Mutation example:

mutation
{
createBook(...)
}

GraphQL allows clients to request exactly the fields they need.

Example:

{
products
{
Name
Price
}
}

instead of

SELECT *

This reduces network traffic.


Configuring CRUD Operations

Each entity can expose one or more CRUD operations.

Supported operations include:

OperationRESTGraphQL
CreateYesYes
ReadYesYes
UpdateYesYes
DeleteYesYes

Organizations frequently expose:

  • Read
  • Create

while disabling:

  • Delete

to protect data.


Primary Keys

Entities require primary keys for many operations.

Example

CustomerID

REST endpoint

GET /api/customers/25

GraphQL

customer_by_pk

Without a primary key:

  • Updates become difficult
  • Deletes become difficult
  • Relationships cannot always be generated

Composite Keys

Some tables use multiple columns as a primary key.

Example

OrderID
ProductID

REST requests must uniquely identify both values.

GraphQL also requires all key fields.

Candidates should understand that Data API Builder supports composite keys but requires complete key values for entity identification.


Entity Relationships

Relationships allow clients to retrieve related data.

Database:

Customers
Orders

Relationship

Customer
│
Many Orders

GraphQL example:

{
customers
{
CustomerName
orders
{
OrderDate
Total
}
}
}

REST clients can also retrieve related resources depending on configuration.

Relationships reduce the need for multiple API requests.


Data Caching

Caching improves API performance by reducing repeated database queries.

Although Data API Builder itself is intentionally lightweight, caching can be implemented through surrounding Azure services such as:

  • Azure Front Door
  • Azure API Management
  • Azure CDN
  • Reverse proxy caches
  • Client-side caching
  • HTTP caching headers

Benefits include:

  • Lower latency
  • Reduced database load
  • Better scalability
  • Faster responses

Example

Without cache:

1000 requests
↓
1000 SQL queries

With cache:

1000 requests
↓
50 SQL queries
↓
950 cached responses

Caching is especially useful for:

  • Product catalogs
  • Reference data
  • Geographic lookup tables
  • Public information
  • Configuration data

It is generally less appropriate for frequently changing transactional data.


Pagination

Returning every row from a large table is inefficient.

Pagination divides results into smaller pages.

Example

Instead of:

100,000 rows

Return:

100 rows
Page 1

then

Page 2
Page 3
Page 4

Benefits include:

  • Faster response time
  • Lower memory usage
  • Better user experience
  • Reduced network traffic

Common pagination parameters include:

Page Size
Offset
Limit
Continuation Tokens

GraphQL implementations may also support cursor-based pagination depending on the configuration and client.


Best Practices for Pagination

Microsoft recommends:

Choose reasonable page sizes.

Avoid unlimited result sets.

Return metadata when appropriate, such as:

  • Total records
  • Current page
  • Next page
  • Previous page

Limit maximum page size to prevent excessive resource consumption.

Example:

Good

50 rows

Better

100 rows

Poor

500,000 rows

Filtering

Filtering reduces the number of returned records.

Example:

Products
Price > 100

Instead of every product:

5000 products

Return only

150 products

Examples include:

Category = 'Electronics'
Status = 'Active'
Price > 100
City = 'London'

Benefits:

  • Reduced bandwidth
  • Faster queries
  • Better application performance
  • Improved user experience

Filtering should be pushed to the database whenever possible rather than filtering results in application code after retrieval.


Searching

Searching differs from filtering.

Filtering matches specific conditions.

Searching finds records based on user-provided values.

Example

Search text:

Laptop

Possible matches:

Gaming Laptop
Business Laptop
Laptop Bag

Search operations commonly involve:

  • LIKE
  • Full-text search
  • Prefix searches
  • Keyword searches

Organizations should consider indexing frequently searched columns to improve performance.


Sorting

Sorting determines the order of results.

Examples:

Ascending:

Product Name
A → Z

Descending:

Price
High → Low

Sorting can be combined with:

  • Filtering
  • Pagination
  • Searching

Example workflow:

Products
↓
Filter
↓
Search
↓
Sort
↓
Page Results

Combining these capabilities creates efficient, user-friendly APIs while minimizing unnecessary data transfer.


Performance Considerations

When configuring entities, developers should avoid exposing inefficient queries.

Recommendations include:

  • Use indexed columns for filtering.
  • Paginate large datasets.
  • Avoid returning unnecessary columns.
  • Limit expensive joins.
  • Optimize frequently executed queries.
  • Use appropriate database indexes.
  • Cache relatively static data where appropriate.
  • Monitor API and query performance using Azure monitoring tools and SQL performance features.

Proper entity design directly affects both API responsiveness and database workload.


Security Considerations

Exposing database objects through APIs introduces additional security considerations.

Best practices include:

  • Expose only required tables and views.
  • Disable unnecessary CRUD operations.
  • Use Microsoft Entra ID authentication whenever possible.
  • Implement role-based authorization.
  • Avoid exposing sensitive columns such as passwords, secrets, or internal identifiers.
  • Validate client input.
  • Use HTTPS for all API traffic.
  • Apply the principle of least privilege.
  • Monitor API usage and audit access.

Remember that DAB simplifies API generation but does not replace the need for a comprehensive security strategy.


Common DP-800 Exam Scenarios

You should be comfortable answering questions such as:

  • When should you expose a table as an entity versus creating a custom API?
  • How do REST and GraphQL differ when exposing SQL data?
  • When should pagination be implemented?
  • Which workloads benefit most from API caching?
  • How do filtering and searching differ?
  • Why should delete operations be disabled for certain entities?
  • Why are primary keys required for update and delete operations?
  • How do entity relationships simplify GraphQL queries?
  • Which API design practices improve performance for large datasets?
  • How should security be enforced when exposing database objects through Data API Builder?

Scenario-based questions may ask you to identify the most appropriate configuration for performance, scalability, or security, requiring an understanding of how entity settings affect API behavior.


DP-800 Exam Tips

  • Understand the differences between REST and GraphQL entity exposure.
  • Know how entities map to database tables and views.
  • Be familiar with CRUD operation configuration.
  • Understand why primary keys and relationships are important.
  • Know when to use pagination, filtering, sorting, and searching.
  • Understand that caching is typically implemented by Azure services surrounding DAB rather than by DAB itself.
  • Apply security best practices, including least privilege and selective exposure of database objects.
  • Recognize performance optimization techniques such as indexing filtered columns, limiting result sets, and avoiding over-fetching.

Summary

Configuring entities in Data API Builder is a foundational skill for developing modern SQL-based APIs. By defining entities that map to database objects, developers can automatically expose secure REST and GraphQL endpoints with minimal code. Effective entity configuration includes selecting appropriate CRUD operations, defining relationships, implementing pagination, filtering, searching, and sorting, and designing for scalability and security. For the DP-800 exam, candidates should understand not only how these features work individually but also how they combine to create performant, maintainable, and secure API solutions that integrate SQL databases with modern cloud applications.


Practice Exam Questions


Question 1

A company uses Azure SQL Database to store product information. Developers want to expose product data through Data API Builder. Customers should be able to view products but must not be able to modify or delete product records.

Which configuration should you implement?

A. Enable only the POST operation for the product entity
B. Enable only read operations for the product entity
C. Disable REST and enable GraphQL mutations only
D. Create a stored procedure that handles all product requests

Correct Answer: B

Explanation

Data API Builder allows developers to control which operations are exposed for each entity. If customers should only view product information, the entity should expose read-only access.

A read-only entity configuration allows:

  • GET operations through REST
  • Query operations through GraphQL

but prevents:

  • INSERT
  • UPDATE
  • DELETE

Why the other options are incorrect:

  • A. POST allows creating new records, which violates the requirement.
  • C. GraphQL mutations allow data modification and should not be enabled.
  • D. A stored procedure is unnecessary for this requirement and does not directly address entity permissions.

Question 2

A developer exposes an Orders table as a Data API Builder entity. The table contains 5 million rows. Users need to browse orders through a web application.

What should the developer implement to improve API performance?

A. Return all rows and allow the browser to filter results
B. Disable indexing because APIs handle optimization automatically
C. Implement pagination with reasonable page sizes
D. Duplicate the table into multiple databases

Correct Answer: C

Explanation

Pagination is the appropriate solution when exposing large datasets through APIs.

Benefits include:

  • Reduced response size
  • Lower memory consumption
  • Faster response times
  • Improved user experience

Why the other options are incorrect:

  • A. Returning millions of rows creates unnecessary network and database overhead.
  • B. Indexing remains important for database performance.
  • D. Database duplication does not solve the API result-size problem.

Question 3

A developer creates a GraphQL endpoint using Data API Builder. Users want to retrieve customers and their related orders in a single query.

What should the developer configure?

A. A relationship between the Customer and Order entities
B. A separate database for each entity
C. A REST-only endpoint for the Orders table
D. A SQL Agent job to combine the tables nightly

Correct Answer: A

Explanation

Entity relationships allow related data to be retrieved together, especially through GraphQL queries.

Example:

{
customers {
CustomerName
orders {
OrderDate
}
}
}

The relationship configuration enables Data API Builder to understand how entities are connected.

Why the other options are incorrect:

  • B. Separate databases do not create entity relationships.
  • C. REST-only endpoints do not enable GraphQL relationship queries.
  • D. Scheduled jobs do not provide real-time relational querying.

Question 4

A company exposes a Product entity through Data API Builder. Users frequently search products by product name. Query performance has degraded as the product catalog grows.

What should you do first?

A. Remove filtering capabilities from the API
B. Store product names in an external file
C. Add appropriate database indexing for search columns
D. Increase the API response size limit

Correct Answer: C

Explanation

Search operations frequently depend on database performance. Adding appropriate indexes improves query execution speed for commonly searched columns.

For example:

CREATE INDEX IX_Product_Name
ON Products(ProductName);

Why the other options are incorrect:

  • A. Removing functionality does not solve the performance problem.
  • B. External files are not an appropriate database optimization strategy.
  • D. Increasing response size can make performance worse.

Question 5

A developer wants users to retrieve only active products from a Data API Builder endpoint.

Which capability should be used?

A. Filtering
B. Pagination
C. Caching
D. Sorting

Correct Answer: A

Explanation

Filtering restricts returned records based on conditions.

Example:

Status = 'Active'

Only matching records are returned.

Why the other options are incorrect:

  • B. Pagination controls the number of results returned, not which records qualify.
  • C. Caching improves performance but does not limit returned data.
  • D. Sorting changes order but does not restrict records.

Question 6

An application displays a product catalog. Product information changes only once per day, but thousands of users access the catalog every hour.

What approach provides the greatest performance benefit?

A. Disable indexes on product tables
B. Implement caching for product API responses
C. Return every product column for every request
D. Disable pagination

Correct Answer: B

Explanation

Caching is ideal for frequently accessed, rarely changing data.

Examples of good caching candidates:

  • Product catalogs
  • Reference data
  • Geographic lookup information
  • Configuration settings

Caching reduces repeated database queries and improves scalability.

Why the other options are incorrect:

  • A. Removing indexes reduces performance.
  • C. Returning unnecessary data increases workload.
  • D. Disabling pagination can create large inefficient responses.

Question 7

A developer configures an entity in Data API Builder but update and delete operations fail. The table does not have a primary key.

What is the most likely reason?

A. GraphQL cannot access SQL databases
B. REST endpoints require Azure Functions
C. Entity identification requires a primary key
D. Pagination prevents updates

Correct Answer: C

Explanation

Primary keys allow Data API Builder to uniquely identify individual records.

Operations such as:

  • Update
  • Delete
  • Retrieve by identifier

typically require a primary key.

Example:

GET /api/customers/100

requires knowing which row represents customer 100.

Why the other options are incorrect:

  • A. GraphQL supports SQL data sources.
  • B. REST endpoints do not require Azure Functions.
  • D. Pagination does not prevent updates.

Question 8

A developer creates a REST endpoint for a Customer entity. The application needs to retrieve customers located in a specific city.

Which capability should be used?

A. Sorting
B. Filtering
C. Caching
D. Relationship mapping

Correct Answer: B

Explanation

Filtering returns only records matching specified criteria.

Example:

City = 'Seattle'

The database performs the filtering before returning results.

Why the other options are incorrect:

  • A. Sorting changes ordering only.
  • C. Caching improves performance but does not select records.
  • D. Relationships connect entities but do not filter records.

Question 9

A developer exposes a table containing employee information through Data API Builder. The table contains salary information that should never be visible to API consumers.

What should the developer do?

A. Expose the table but rely on client applications to hide the salary column
B. Create an entity that exposes only required fields
C. Increase the database timeout value
D. Enable caching for the employee table

Correct Answer: B

Explanation

A secure API design exposes only the data required by consumers.

Possible approaches include:

  • Creating database views
  • Limiting exposed fields
  • Configuring entity permissions

Sensitive information should not be sent to clients and hidden only through application logic.

Why the other options are incorrect:

  • A. Client-side hiding is not a security control.
  • C. Timeout settings do not protect sensitive data.
  • D. Caching sensitive data can increase risk.

Question 10

A company uses GraphQL through Data API Builder. Developers want clients to request only the fields they need instead of receiving large unnecessary payloads.

Which GraphQL capability supports this requirement?

A. Field selection in queries
B. Database replication
C. SQL Server Agent scheduling
D. Data compression only

Correct Answer: A

Explanation

One of GraphQL’s primary advantages is allowing clients to specify exactly which fields they need.

Example:

{
products {
Name
Price
}
}

Only the requested fields are returned.

Benefits include:

  • Reduced network traffic
  • Smaller responses
  • Improved application performance

Why the other options are incorrect:

  • B. Replication improves availability but does not control query fields.
  • C. SQL Agent scheduling is unrelated to API responses.
  • D. Compression reduces payload size but does not allow field selection.

Topic Summary

Key concepts tested in this section:

ConceptKey Exam Point
EntitiesMap database objects to API resources
RESTAutomatically exposes HTTP CRUD operations
GraphQLProvides flexible queries and field selection
Primary keysRequired for identifying individual records
RelationshipsEnable related entity retrieval
PaginationImproves performance for large datasets
FilteringLimits returned records
SearchingFinds matching records based on values
SortingControls result ordering
CachingImproves scalability for frequently accessed static data
SecurityExpose only required data and operations

Go to the DP-800 Exam Prep Hub main page

Create configuration files for Data API builder (DAB) – Part 2 (DP-800 Exam Prep)

This post is a part of the DP-800: Developing AI-Enabled Database Solutions Exam Prep Hub.
This topic falls under these sections:
Secure, optimize, and deploy database solutions (35–40%)
   --> Integrate SQL solutions with Azure services
      --> Create configuration files for Data API builder (DAB)


Note that there are 10 practice questions (with answers) at the end of each section to help you solidify your knowledge of the material. Also, there are 4 practice tests with 30 questions each available from the hub's main page below the exam topics section.

Advanced Entity Configuration

While a basic DAB configuration can expose an entire table with only a few lines of JSON, enterprise applications typically require much more granular control. Developers can customize how entities are exposed, which operations are permitted, and who can access specific data.

Advanced entity configuration allows you to:

  • Rename API endpoints
  • Restrict CRUD operations
  • Configure role-based permissions
  • Expose only selected database objects
  • Map views and stored procedures
  • Customize GraphQL object names
  • Define relationships between entities

This flexibility allows developers to build secure APIs without writing application code.


Configuring Entity Permissions

One of the most important sections of a DAB configuration file is the permissions section.

Example:

"permissions": [
{
"role": "anonymous",
"actions": [ "read" ]
}
]

Permissions determine which operations a role may perform.

Supported actions include:

  • Read
  • Create
  • Update
  • Delete
  • Execute (stored procedures)

For DP-800, understand that permissions are configured at the entity level rather than the database level.


Role-Based Authorization

DAB uses roles to authorize requests after a user has been authenticated.

Example roles might include:

  • anonymous
  • authenticated
  • reader
  • contributor
  • manager
  • administrator

Example:

"permissions": [
{
"role": "reader",
"actions": [ "read" ]
},
{
"role": "administrator",
"actions": [ "create","read","update","delete" ]
}
]

In this example:

Readers can only retrieve data.

Administrators can perform all CRUD operations.


Field-Level Permissions

Some applications should expose only specific columns.

For example:

Employee table

  • EmployeeID
  • Name
  • Department
  • Salary
  • SocialSecurityNumber

Instead of exposing every column, DAB can restrict access through permissions and by configuring the entity to expose only approved fields (combined with database permissions where appropriate).

Although SQL permissions remain the primary security boundary, DAB provides another layer of API security.


Using Views Instead of Tables

Many organizations expose SQL views instead of tables.

Advantages include:

  • Hide sensitive columns
  • Simplify queries
  • Enforce business rules
  • Reduce accidental data exposure

Example

"source": {
"object": "dbo.vwCustomerSummary",
"type": "view"
}

Views are often considered a security best practice.


Exposing Stored Procedures

DAB supports stored procedures as API endpoints.

Example

"source": {
"object": "dbo.GetSalesSummary",
"type": "stored-procedure"
}

REST example

POST /api/GetSalesSummary

GraphQL example

mutation

Stored procedures are especially useful when:

  • Complex business logic exists
  • Multiple tables must be updated
  • Validation is required
  • Reporting queries are expensive

Authentication Providers

Authentication determines who a user is.

Authorization determines what that user may do.

Data API builder supports multiple authentication providers.

Common providers include:

  • Anonymous
  • Microsoft Entra ID
  • Azure Static Web Apps Authentication
  • JSON Web Tokens (JWT)
  • OAuth providers

The authentication provider is configured in the runtime section.


Microsoft Entra ID Authentication

Microsoft recommends Microsoft Entra ID for production environments.

Benefits include:

  • Enterprise identity management
  • Single Sign-On (SSO)
  • Multi-factor authentication
  • Conditional Access
  • Managed identities
  • Centralized security

Using Entra ID reduces the need to manage usernames and passwords within applications.


Azure Static Web Apps Authentication

When DAB is deployed alongside Azure Static Web Apps, authentication can be handled automatically.

Supported providers include:

  • Microsoft
  • GitHub
  • Google
  • X (formerly Twitter) (where supported)
  • Custom OpenID Connect providers

The application receives authenticated user information without requiring developers to implement custom login functionality.


JSON Web Tokens (JWT)

JWT authentication is commonly used in REST APIs.

Workflow:

  1. User authenticates.
  2. Identity provider issues a JWT.
  3. Client sends the JWT with each request.
  4. DAB validates the token.
  5. Permissions are applied.

JWT authentication enables stateless API security.


Managed Identity

Managed Identity is one of Microsoft’s preferred authentication methods for Azure resources.

Instead of storing credentials:

Username
Password

Azure automatically manages an identity for the application.

The application authenticates using Azure Active Directory (Microsoft Entra ID).

Benefits include:

  • No passwords
  • Automatic credential rotation
  • Improved security
  • Easier administration
  • Reduced risk of credential leakage

This is a frequently tested DP-800 topic.


Connecting DAB to Azure SQL with Managed Identity

Typical flow:

Azure App Service
↓
Managed Identity
↓
Microsoft Entra ID
↓
Azure SQL Database

No SQL username or password needs to be stored in the configuration file.


Connection Strings with Managed Identity

Instead of:

Server=...
User ID=admin
Password=...

Developers use an authentication method supported by Azure SQL that relies on Managed Identity (for example, Authentication=Active Directory Managed Identity in the connection string, depending on the client and environment).

Benefits include:

  • No secrets
  • Easier rotation
  • Improved compliance
  • Better security posture

Cross-Origin Resource Sharing (CORS)

Modern web applications often call APIs hosted on different domains.

Example:

Website

https://contoso.com

API

https://api.contoso.com

Without CORS configuration:

Browser blocks the request.

DAB allows developers to configure permitted origins.

Example

Allowed Origins
https://contoso.com

This prevents unauthorized websites from making browser-based requests to the API.


Azure App Service Deployment

DAB is frequently deployed to Azure App Service.

Deployment steps typically include:

  1. Publish DAB.
  2. Upload configuration file.
  3. Configure environment variables.
  4. Configure Managed Identity.
  5. Grant Azure SQL permissions.
  6. Enable HTTPS.
  7. Test REST endpoints.
  8. Test GraphQL endpoints.

Azure Container Apps

Container Apps provide a lightweight alternative to Kubernetes.

Benefits include:

  • Autoscaling
  • Container support
  • Easy deployment
  • Native Azure integration
  • Lower operational overhead than managing a Kubernetes cluster

DAB runs well inside containers.


Azure Kubernetes Service (AKS)

Large organizations often deploy DAB using Kubernetes.

Benefits include:

  • High availability
  • Rolling updates
  • Autoscaling
  • Container orchestration
  • Enterprise management

The configuration file remains largely the same regardless of the hosting platform.


Azure Static Web Apps Integration

One common architecture is:

Static Web App
↓
Data API Builder
↓
Azure SQL Database

Advantages include:

  • Secure authentication
  • Built-in authorization integration
  • REST support
  • GraphQL support
  • Low operational cost
  • Automatic HTTPS

Environment Variables

Instead of storing values inside the configuration file:

Connection String
JWT Secret
API Keys
URLs

Developers store them as environment variables.

Benefits include:

  • Easier deployments
  • Better security
  • CI/CD friendly
  • No secrets in Git
  • Different values for Dev/Test/Production

Azure Key Vault

Environment variables may reference secrets stored in Azure Key Vault.

Typical secrets include:

  • Database passwords
  • Certificates
  • API keys
  • OAuth secrets
  • Encryption keys

Benefits include:

  • Centralized secret management
  • Access auditing
  • Automatic secret rotation
  • Fine-grained access control
  • Compliance support

Logging

Production deployments should enable logging.

Common information includes:

  • Authentication failures
  • API requests
  • SQL errors
  • Performance metrics
  • Authorization failures

Logs can be integrated with:

  • Azure Monitor
  • Application Insights
  • Log Analytics

These tools help diagnose operational issues and monitor API health.


Common Configuration Mistakes

Many deployment failures result from configuration errors rather than application bugs.

Common mistakes include:

  • Invalid JSON syntax
  • Missing commas or braces
  • Incorrect object names
  • Typographical errors in table names
  • Invalid connection strings
  • Missing environment variables
  • Authentication configuration errors
  • Missing permissions
  • Disabled REST endpoints
  • Disabled GraphQL endpoints

Always validate configuration before deployment.


Troubleshooting REST Endpoints

If an endpoint does not respond correctly, verify:

  • Is REST enabled?
  • Does the entity exist?
  • Does the SQL object exist?
  • Is authentication configured correctly?
  • Are permissions assigned?
  • Is the endpoint path correct?
  • Is the API reachable over HTTPS?

These are common troubleshooting steps in real-world deployments.


Troubleshooting GraphQL

If GraphQL queries fail:

  • Verify GraphQL is enabled.
  • Check entity names.
  • Confirm relationships are configured correctly.
  • Validate user permissions.
  • Review authentication settings.
  • Inspect logs for schema generation or query errors.

GraphQL errors are often related to configuration rather than SQL syntax.


DAB Best Practices

Microsoft recommends the following practices:

  • Use Microsoft Entra ID whenever possible.
  • Prefer Managed Identity over passwords.
  • Store secrets in Azure Key Vault.
  • Keep configuration files in source control.
  • Exclude secrets from Git repositories.
  • Use separate environments for development, testing, and production.
  • Follow the principle of least privilege.
  • Expose only the database objects required by the application.
  • Prefer views when exposing sensitive data.
  • Monitor API activity using Azure Monitor and Application Insights.
  • Regularly review permissions and authentication settings.
  • Test configuration changes in a non-production environment before deployment.

Real-World Example

A retail company wants to expose product information to a web application.

Requirements:

  • Customers can view products.
  • Employees can update inventory.
  • Administrators can manage all data.
  • No passwords should be stored in source control.
  • APIs should support both REST and GraphQL.
  • Azure SQL Database is used as the backend.

A recommended DAB solution would include:

  • Azure SQL Database as the data source.
  • Microsoft Entra ID for authentication.
  • Managed Identity for connecting to Azure SQL.
  • Entity permissions granting read access to customers, update access to employees, and full CRUD access to administrators.
  • REST and GraphQL endpoints enabled.
  • Environment variables and Azure Key Vault for configuration and secrets.
  • Deployment to Azure App Service or Azure Container Apps with HTTPS enabled.

DP-800 Exam Tips

When preparing for the DP-800 exam, be sure you can:

  • Explain the purpose of each major section in a DAB configuration file.
  • Configure data sources for Azure SQL Database.
  • Understand how entities map to tables, views, and stored procedures.
  • Configure REST and GraphQL endpoints.
  • Implement role-based permissions.
  • Distinguish authentication from authorization.
  • Explain the benefits of Microsoft Entra ID and Managed Identity.
  • Describe how environment variables and Azure Key Vault improve security.
  • Recognize appropriate Azure hosting options for DAB.
  • Identify common configuration and deployment errors.
  • Apply security best practices when exposing database objects through APIs.

Practice Exam Questions


Question 1

Your organization wants to expose data from an Azure SQL Database through Data API builder. You want to specify the database connection information in the DAB configuration file.

Which section of the configuration file should you modify?

A. runtime

B. entities

C. data-source

D. authentication

Correct Answer: C

Explanation

The data-source section defines the backend database used by Data API builder. It contains information such as the database type, connection string, and provider.

  • The runtime section controls API behavior.
  • The entities section defines which database objects are exposed.
  • Authentication settings belong under the runtime configuration.

Question 2

A development team wants to avoid storing database passwords in the DAB configuration file stored in GitHub.

What is the recommended approach?

A. Encrypt the password using Base64.

B. Store the connection string in an environment variable or Azure Key Vault.

C. Place the password in a separate JSON file.

D. Store the password inside the runtime section.

Correct Answer: B

Explanation

Microsoft recommends storing sensitive information such as connection strings and secrets outside the configuration file by using environment variables or Azure Key Vault. This improves security and supports multiple deployment environments.

Base64 encoding is not encryption and does not protect credentials.


Question 3

A developer creates an entity that maps to the Products table.

What is the primary purpose of the entity definition?

A. Configure Azure authentication.

B. Define database backup policies.

C. Specify which database object is exposed through REST and GraphQL endpoints.

D. Enable SQL auditing.

Correct Answer: C

Explanation

Entities map database objects—such as tables, views, or stored procedures—to automatically generated REST and GraphQL endpoints.

Authentication, auditing, and backup configuration are handled elsewhere.


Question 4

A company wants every database API to support both REST and GraphQL.

Which runtime configuration should be enabled?

A. Enable REST and GraphQL in the runtime section.

B. Configure only the data-source section.

C. Configure only entity permissions.

D. Enable Azure Monitor.

Correct Answer: A

Explanation

The runtime section controls whether REST and GraphQL endpoints are available. Enabling both services allows clients to access the exposed entities through either API style.

Azure Monitor provides monitoring but does not enable APIs.


Question 5

A developer wants to expose a SQL view instead of a table.

Why is this commonly recommended?

A. Views automatically improve SQL Server performance.

B. Views prevent SQL injection attacks.

C. Views can simplify data exposure and hide sensitive columns.

D. Views eliminate the need for permissions.

Correct Answer: C

Explanation

Views allow organizations to expose only the required columns and business logic while hiding sensitive information. They also simplify complex joins and provide an additional abstraction layer.

Views do not automatically improve performance or eliminate security requirements.


Question 6

Your Data API builder application is deployed to Azure App Service.

How should the application authenticate to Azure SQL Database without storing credentials?

A. SQL Authentication

B. Windows Authentication

C. Shared Access Signature (SAS)

D. Managed Identity

Correct Answer: D

Explanation

Managed Identity allows Azure resources to authenticate securely without storing usernames or passwords. Azure automatically manages credential creation and rotation.

This is Microsoft’s recommended authentication approach for Azure-hosted applications.


Question 7

A company wants to expose a stored procedure through Data API builder.

Which object type should be configured?

A. Table

B. View

C. Function

D. Stored-procedure

Correct Answer: D

Explanation

When exposing stored procedures through DAB, the entity’s source type should be configured as stored-procedure.

Tables and views are configured using their respective object types.


Question 8

A web application hosted at https://contoso.com calls a Data API builder service hosted at https://api.contoso.com, but the browser blocks the request.

Which feature should be configured?

A. Transparent Data Encryption

B. Always Encrypted

C. Cross-Origin Resource Sharing (CORS)

D. Dynamic Data Masking

Correct Answer: C

Explanation

Because the application and API are hosted on different origins, the browser enforces the Same-Origin Policy. Configuring CORS allows approved origins to access the API.

Database encryption technologies do not affect browser security policies.


Question 9

An organization uses Microsoft Entra ID to authenticate users accessing Data API builder.

What is the primary benefit?

A. Automatic SQL indexing

B. Enterprise identity management with centralized authentication

C. Automatic query optimization

D. Elimination of REST endpoints

Correct Answer: B

Explanation

Microsoft Entra ID provides centralized authentication, Single Sign-On, Conditional Access, Multi-Factor Authentication, and enterprise identity management.

It does not optimize SQL queries or change API functionality.


Question 10

A development team stores its DAB configuration file in Git and uses Azure DevOps pipelines to deploy to Development, Test, and Production.

Which design best supports this deployment strategy?

A. Maintain separate configuration files containing hardcoded credentials for every environment.

B. Store all passwords directly inside the JSON configuration file.

C. Disable authentication during deployment.

D. Store secrets externally using environment variables or Azure Key Vault while using a common configuration file.

Correct Answer: D

Explanation

A single configuration file combined with environment-specific variables or Azure Key Vault simplifies CI/CD deployments while keeping secrets out of source control. This approach follows Microsoft’s security best practices and makes deployments easier to maintain across multiple environments.


Exam Essentials

For the DP-800 exam, be comfortable with the following concepts:

  • Understand the purpose of the data-source, runtime, and entities sections of a DAB configuration file.
  • Know how Data API builder automatically exposes SQL tables, views, and stored procedures as REST and GraphQL APIs.
  • Recognize when to use tables, views, or stored procedures as entities.
  • Understand how REST and GraphQL endpoints are enabled and configured.
  • Know the difference between authentication and authorization.
  • Understand role-based permissions within DAB.
  • Understand why Microsoft recommends Microsoft Entra ID and Managed Identity for production deployments.
  • Know why secrets should be stored in Azure Key Vault or environment variables instead of configuration files.
  • Understand how CORS enables secure browser-based access across different origins.
  • Recognize common Azure hosting options, including Azure App Service, Azure Container Apps, Azure Kubernetes Service (AKS), and Azure Static Web Apps.
  • Be able to identify common configuration and deployment issues, including invalid JSON, missing environment variables, incorrect entity mappings, and permission misconfigurations.

Final DP-800 Takeaways

Data API builder (DAB) is designed to dramatically simplify API development by exposing database objects through configuration rather than custom code. For the DP-800 exam, Microsoft expects candidates to understand how to configure secure, maintainable, and cloud-ready APIs that integrate with Azure SQL Database and other supported data sources.

Pay particular attention to these frequently tested areas:

  • The structure and purpose of the DAB configuration file.
  • Entity definitions and source object mapping.
  • REST versus GraphQL endpoint configuration.
  • Authentication with Microsoft Entra ID.
  • Passwordless access using Managed Identity.
  • Secrets management with Azure Key Vault and environment variables.
  • Role-based authorization and least-privilege access.
  • Secure deployment practices in Azure environments.

Mastering these concepts will prepare you not only for the DP-800 certification exam but also for implementing secure, production-ready Data API builder solutions in real-world Azure environments.


Go to the DP-800 Exam Prep Hub main page

Create configuration files for Data API builder (DAB) – Part 1 (DP-800 Exam Prep)

This post is a part of the DP-800: Developing AI-Enabled Database Solutions Exam Prep Hub.
This topic falls under these sections:
Secure, optimize, and deploy database solutions (35–40%)
   --> Integrate SQL solutions with Azure services
      --> Create configuration files for Data API builder (DAB)


Note that there are 10 practice questions (with answers) at the end of each section to help you solidify your knowledge of the material. Also, there are 4 practice tests with 30 questions each available from the hub's main page below the exam topics section.

Introduction

Modern application development increasingly relies on APIs rather than direct database connectivity. Instead of allowing client applications to connect directly to a SQL database, developers commonly expose database functionality through secure REST or GraphQL APIs. Microsoft Data API builder (DAB) is designed specifically for this purpose.

Data API builder is an open-source Microsoft tool that automatically creates secure REST and GraphQL endpoints over Azure SQL Database, SQL Server, Azure Database for PostgreSQL, Azure Cosmos DB, and several other supported databases—all from a single configuration file.

Rather than writing thousands of lines of API code, developers describe their database and security requirements in a configuration file. DAB then generates the API automatically.

For the DP-800 certification exam, candidates should understand how to:

  • Create DAB configuration files
  • Configure data sources
  • Define entities
  • Configure REST endpoints
  • Configure GraphQL endpoints
  • Secure APIs
  • Configure authentication
  • Deploy DAB in Azure
  • Manage permissions
  • Configure environment-specific settings

What is Data API Builder?

Data API builder (DAB) is a lightweight API engine that exposes database objects as secure REST and GraphQL endpoints.

Instead of building APIs manually using ASP.NET Core or Node.js, developers configure DAB using a JSON configuration file.

Example:

Database Table

Customers

Automatically becomes

REST

GET /api/Customers

GraphQL

query
{
customers
{
CustomerID
Name
}
}

No custom API coding is required.


Why Microsoft Created Data API Builder

Traditional API development often requires developers to:

  • Design endpoints
  • Write controllers
  • Create models
  • Configure authentication
  • Build CRUD operations
  • Handle serialization
  • Create GraphQL schemas
  • Maintain documentation

This can take weeks.

Data API builder automates these tasks through configuration.

Benefits include:

  • Faster development
  • Less code
  • Standardized APIs
  • Secure default behavior
  • Easy Azure deployment
  • Automatic GraphQL support
  • Automatic OpenAPI generation (REST)

Where DAB Fits in Azure Architecture

Application
│
▼
Data API Builder
│
▼
Azure SQL Database

Instead of:

Application
│
ASP.NET API
│
Business Layer
│
Repository Layer
│
Entity Models
│
Azure SQL

DAB dramatically reduces application complexity.


Configuration-Driven Development

Everything DAB does is controlled through a configuration file.

The configuration file defines:

  • Database connection
  • Authentication
  • API routes
  • GraphQL schema
  • REST routes
  • Permissions
  • Relationships
  • Stored procedures

This makes the API reproducible and source-control friendly.


Creating a Configuration File

A new configuration file can be created using the DAB CLI.

Example

dab init

This generates a starter configuration file.

Example

dab-config.json

This file becomes the central definition of the API.


Typical Configuration File Structure

A simplified configuration looks like this:

{
"data-source": {
},
"runtime": {
},
"entities": {
}
}

Everything inside these three sections controls the behavior of DAB.


Major Sections of the Configuration File

The most important sections are:

  • data-source
  • runtime
  • entities

Each serves a distinct purpose.


The Data Source Section

The data source defines where the database resides.

Example

"data-source": {
}

Typical information includes:

  • Database type
  • Connection string
  • Database name
  • Authentication method

Example database types

  • SQL Server
  • Azure SQL Database
  • PostgreSQL
  • Azure Cosmos DB

Configuring the Database Type

Example

"database-type": "mssql"

Common supported values

  • mssql
  • postgresql
  • cosmosdb

For DP-800, SQL Server and Azure SQL are the primary focus.


Configuring the Connection String

Example

"connection-string": "@env('SQL_CONNECTION_STRING')"

Notice that the connection string references an environment variable rather than storing credentials directly.

This is considered a security best practice.


Why Environment Variables Are Preferred

Avoid this:

"connection-string":
"Server=myserver;
User=admin;
Password=P@ssword123"

Prefer this:

@env("SQL_CONNECTION_STRING")

Benefits include:

  • No passwords in source control
  • Easier deployment
  • Different environments use different values
  • Improved security

Runtime Configuration

The runtime section controls how the API behaves.

Example

"runtime": {
}

This section contains:

  • REST settings
  • GraphQL settings
  • Host configuration
  • Authentication
  • CORS
  • Logging

Runtime REST Configuration

Example

"rest": {
"enabled": true
}

REST endpoints become available automatically.

Example

GET /api/Products

Runtime GraphQL Configuration

Example

"graphql": {
"enabled": true
}

GraphQL becomes available at

/graphql

Runtime Host Configuration

Example

"host": {
"mode": "development"
}

Common modes include

  • Development
  • Production

Production mode disables many development features.


Authentication Configuration

The runtime section also defines authentication.

Example

"authentication": {
}

Authentication options may include:

  • Anonymous
  • Static Web Apps Authentication
  • Microsoft Entra ID
  • JWT
  • OAuth

Why Authentication Matters

Without authentication:

Anyone can access the API.

With authentication:

  • Users are identified
  • Roles are assigned
  • Permissions are enforced
  • Sensitive data remains protected

Authentication is one of the most tested DAB concepts on the DP-800 exam.


Entities

The most important section is the entity configuration.

Entities represent:

  • Tables
  • Views
  • Stored procedures

Example

"entities": {
}

Each entity becomes one or more API endpoints.


Example Entity

"Products": {
}

This creates

REST

/api/Products

GraphQL

products

Configuring the Source Object

Example

"source": {
"object": "dbo.Products",
"type": "table"
}

The object tells DAB which SQL object to expose.

Supported object types include

  • Table
  • View
  • Stored Procedure

Entity REST Configuration

Example

"rest": {
"enabled": true
}

REST endpoints become available automatically.

Examples

GET /api/Products
POST /api/Products
PUT /api/Products
DELETE /api/Products

depending on permissions.


Custom REST Paths

Instead of

/api/Products

you can configure

/api/catalog

Example

"path": "catalog"

This creates cleaner URLs.


Entity GraphQL Configuration

Example

"graphql": {
"enabled": true
}

GraphQL queries become available.

Example

query
{
products
{
ProductID
Name
}
}

Configuring Relationships

DAB can automatically expose database relationships.

Example

Customers
Orders

Relationship

CustomerID

GraphQL can then retrieve

Customer
Orders

in a single query.

This greatly reduces application complexity.


Stored Procedure Support

Entities may expose stored procedures.

Example

"type": "stored-procedure"

Stored procedures are commonly used for

  • Complex business logic
  • Reporting
  • Batch processing
  • Controlled updates

Environment-Specific Configuration

Different environments often require different settings.

Typical environments include:

  • Development
  • Test
  • QA
  • Staging
  • Production

Rather than maintaining separate configuration files, DAB commonly relies on environment variables.

For example:

Development

SQL_CONNECTION_STRING

points to a local SQL Server.

Production

The same variable name points to an Azure SQL Database.

This approach allows the same configuration file to be deployed across environments while changing only the environment variables.


Common Deployment Scenarios

DP-800 candidates should recognize the most common places where Data API builder is hosted.

Azure App Service

A popular option for enterprise applications. DAB runs as a web application and connects securely to Azure SQL Database.

Azure Container Apps

Suitable for containerized deployments that require scalability and simplified management.

Azure Kubernetes Service (AKS)

Used in large enterprise environments requiring orchestration, high availability, and microservices architectures.

Azure Static Web Apps

Frequently paired with DAB to provide secure APIs for modern JavaScript applications.

Local Development

Developers commonly test DAB locally before deploying to Azure.


Security Best Practices When Creating Configuration Files

When creating DAB configuration files, Microsoft recommends several best practices:

  • Never hardcode passwords or connection strings.
  • Store secrets in environment variables or Azure Key Vault.
  • Use Microsoft Entra ID or Managed Identity whenever possible.
  • Grant only the minimum required database permissions.
  • Disable anonymous access unless explicitly required.
  • Expose only the entities that applications need.
  • Restrict CRUD operations based on user roles.
  • Use HTTPS for all deployments.
  • Keep configuration files under source control while excluding secrets.
  • Regularly review and update authentication and authorization settings.

DP-800 Exam Tips

  • Understand that the configuration file is the core of Data API builder.
  • Be able to identify the purpose of the data-source, runtime, and entities sections.
  • Know how to configure REST and GraphQL endpoints.
  • Understand why environment variables are preferred over hardcoded connection strings.
  • Recognize how tables, views, and stored procedures are exposed as entities.
  • Understand how authentication settings affect API security.
  • Be familiar with common Azure hosting options for DAB.
  • Expect scenario-based questions asking which configuration changes are needed to expose or secure database objects.

Go to the DP-800 Exam Prep Hub main page

Implement auditing – Part 2 (DP-800 Exam Prep)

This post is a part of the DP-800: Developing AI-Enabled Database Solutions Exam Prep Hub.
This topic falls under these sections:
Secure, optimize, and deploy database solutions (35–40%)
   --> Implement data security and compliance
      --> Implement auditing


Note that there are 10 practice questions (with answers) at the end of each section to help you solidify your knowledge of the material. Also, there are 4 practice tests with 30 questions each available from the hub's main page below the exam topics section.

Introduction

In Part 1, you learned about the SQL Server Audit architecture, audit specifications, audit targets, audit action groups, and how to configure and manage audits in SQL Server. In this section, we’ll examine how auditing works in Azure SQL services, how audit data integrates with Azure monitoring solutions, and the performance and operational considerations that are especially relevant for the DP-800 exam.


Auditing in Azure SQL Database

Azure SQL Database includes built-in auditing capabilities that are designed for cloud-native environments. Unlike on-premises SQL Server, Azure SQL Database can automatically integrate with Azure services for centralized monitoring and compliance.

Azure SQL auditing records database events such as:

  • Successful and failed logins
  • Database schema changes
  • Permission modifications
  • Data access (SELECT)
  • Data modifications (INSERT, UPDATE, DELETE)
  • Stored procedure execution
  • Security configuration changes
  • Administrative operations

Auditing can be configured at two levels:

  • Server level
  • Individual database level

Server-level auditing provides a consistent policy across all databases on the logical SQL server, while database-level auditing allows different auditing configurations for specific databases.


Azure SQL Auditing Architecture

Azure SQL Database
│
▼
SQL Auditing
│
┌──────┼────────┐
▼ ▼ ▼
Storage Log Analytics Event Hub
Account Workspace

One audit configuration can send events to one or more Azure services.


Audit Destinations in Azure

Unlike SQL Server, Azure SQL Database supports several cloud-based audit destinations.

Azure Storage Account

The most common destination.

Benefits include:

  • Low-cost storage
  • Long-term retention
  • Backup
  • Archive capabilities
  • Easy export
  • Compliance support

Organizations frequently retain audit logs in Storage Accounts for multiple years.


Log Analytics Workspace

Many organizations choose Log Analytics because it supports:

  • Interactive searches
  • Kusto Query Language (KQL)
  • Dashboards
  • Alerting
  • Workbooks
  • Azure Monitor integration

Example investigations include:

  • Failed login trends
  • Privileged user activity
  • Permission changes
  • Suspicious DELETE operations

Azure Event Hubs

Event Hubs allows organizations to stream audit events in near real time.

Typical integrations include:

  • SIEM platforms
  • Security monitoring solutions
  • Custom monitoring applications
  • Third-party security tools

Configuring Azure SQL Auditing

Auditing can be enabled through:

  • Azure Portal
  • Azure CLI
  • PowerShell
  • ARM templates
  • Bicep
  • Terraform
  • Azure REST API

Within the Azure Portal, the configuration typically involves:

  1. Select the SQL Server or database.
  2. Open Auditing under the Security section.
  3. Enable auditing.
  4. Choose one or more destinations.
  5. Configure retention settings.
  6. Save the configuration.

Retention Policies

Azure Storage destinations support configurable retention periods.

Examples include:

  • 90 days
  • 180 days
  • 1 year
  • Multiple years

Retention should match organizational compliance requirements.

Examples:

RegulationTypical Retention
PCI DSSAt least one year
HIPAASeveral years (organization-specific)
SOXOften seven years
Internal security policiesVaries

Azure SQL Managed Instance Auditing

Azure SQL Managed Instance supports auditing capabilities similar to SQL Server while integrating with Azure services.

Supported destinations include:

  • Azure Storage
  • Log Analytics
  • Event Hubs

Managed Instance also supports many SQL Server auditing features, making it easier to migrate on-premises workloads to Azure without redesigning security monitoring.


Microsoft Fabric SQL Auditing Considerations

Microsoft Fabric SQL databases and SQL analytics endpoints are integrated into the broader Microsoft Fabric governance ecosystem.

Rather than relying solely on traditional SQL Server Audit objects, Fabric environments also benefit from:

  • Microsoft Purview governance
  • Activity monitoring
  • Workspace monitoring
  • Capacity monitoring
  • Microsoft Fabric Activity Log
  • Azure Monitor integration
  • Microsoft Defender integration

For the DP-800 exam, understand that auditing in Fabric emphasizes cloud-native monitoring and governance rather than traditional SQL Server Audit files.


Viewing Audit Logs

Azure Portal

Administrators can review:

  • Audit status
  • Destination
  • Retention
  • Recent activity

The portal provides quick access to Log Analytics and Storage Accounts where audit records reside.


Log Analytics

Audit records become searchable using Kusto Query Language (KQL).

Example:

AzureDiagnostics
| where Category == "SQLSecurityAuditEvents"
| where statement_s contains "DELETE"

This query returns DELETE statements captured by SQL auditing.


Storage Account

Audit files stored in Azure Storage can be:

  • Downloaded
  • Archived
  • Imported
  • Processed by external tools
  • Loaded into Power BI
  • Queried with Azure Data Explorer

Integrating Auditing with Azure Monitor

Azure Monitor provides centralized monitoring across Azure resources.

Audit logs can generate:

  • Alerts
  • Dashboards
  • Metrics
  • Workbooks
  • Notifications

Example alert:

Notify the security team whenever more than ten failed login attempts occur within five minutes.


Microsoft Sentinel Integration

Microsoft Sentinel is Microsoft’s cloud-native Security Information and Event Management (SIEM) platform.

Audit logs can be streamed into Sentinel where security analysts can:

  • Detect attacks
  • Investigate incidents
  • Correlate events
  • Create analytics rules
  • Build hunting queries
  • Automate responses

Example scenario:

  1. Repeated failed logins
  2. Successful privileged login
  3. Mass DELETE operations

Sentinel correlates these events into a potential security incident.


Microsoft Defender for SQL

Auditing and Microsoft Defender for SQL complement one another.

AuditingDefender for SQL
Records activityDetects threats
Supports complianceUses behavioral analytics
Captures eventsGenerates security alerts
Used during investigationsIdentifies suspicious behavior

For example:

Auditing records that a user executed a large number of DELETE statements, while Defender for SQL may identify that behavior as anomalous and raise a security alert.


Performance Considerations

Auditing introduces some performance overhead because every audited event must be written to an audit target.

The impact depends on factors such as:

  • Number of audited events
  • Frequency of activity
  • Storage performance
  • Audit destination
  • Network latency (Azure)

Fortunately, SQL Server auditing is highly optimized and generally has minimal impact when configured appropriately.


Reducing Performance Overhead

Microsoft recommends several strategies.

Audit Only Necessary Events

Avoid auditing every possible action.

Instead, focus on:

  • Logins
  • Permission changes
  • Sensitive table access
  • Administrative operations

Avoid Excessive SELECT Auditing

High-volume transactional systems may execute millions of SELECT statements daily.

Auditing every SELECT can:

  • Increase storage consumption
  • Generate enormous audit files
  • Reduce performance

Instead, audit only access to sensitive tables.


Separate Audit Storage

Whenever possible:

  • Store audit files on separate disks.
  • Use dedicated Azure Storage Accounts.
  • Avoid sharing storage with transaction logs.

Archive Older Logs

Large audit repositories become difficult to search.

Implement:

  • Automatic archiving
  • Lifecycle management
  • Long-term storage
  • Periodic cleanup

Monitoring Audit Health

Administrators should routinely verify that auditing is functioning correctly.

Check:

  • Audit status
  • Storage availability
  • Remaining storage capacity
  • Failed audit writes
  • Log Analytics ingestion
  • Event Hub connectivity
  • Audit retention settings

Monitoring helps prevent gaps in audit coverage.


Common Auditing Scenarios

Scenario 1

A hospital must record every update to patient records.

Recommended approach:

  • Database auditing
  • Audit UPDATE operations
  • Store logs in Azure Storage
  • Retain logs according to healthcare regulations

Scenario 2

A bank wants immediate notification when administrators change permissions.

Recommended approach:

  • Audit permission changes
  • Send events to Log Analytics
  • Create Azure Monitor alerts
  • Forward alerts to Microsoft Sentinel

Scenario 3

A company wants to investigate suspicious DELETE statements after a potential insider attack.

Recommended approach:

  • Query audit logs
  • Identify user accounts
  • Review timestamps
  • Correlate activity with authentication logs

Common Mistakes

Candidates often confuse several related security technologies.

FeaturePurpose
AuditingRecords activity
Dynamic Data MaskingHides data
Row-Level SecurityFilters rows
Always EncryptedEncrypts data
Transparent Data EncryptionEncrypts database files
Microsoft Defender for SQLDetects threats

Remember:

  • Auditing records activity.
  • It does not prevent activity.
  • It does not encrypt data.
  • It does not mask data.

DP-800 Exam Tips

Expect scenario-based questions such as:

  • Which audit destination should be selected?
  • Which service enables security investigations?
  • Which Azure service should receive audit logs?
  • How should audits be configured for compliance?
  • Which audit events should be enabled?
  • How can auditing be integrated with Azure Monitor?

Also remember:

  • Azure Storage is commonly used for long-term retention.
  • Log Analytics is best for querying and analysis.
  • Event Hubs is designed for real-time event streaming.
  • Microsoft Sentinel builds on audit logs to provide advanced threat detection and incident response.
  • Microsoft Defender for SQL complements auditing by detecting suspicious behavior rather than simply recording it.

Best Practices Summary

  • Enable auditing for all production databases.
  • Audit only security-relevant events to minimize overhead.
  • Prefer centralized monitoring using Azure Monitor and Log Analytics.
  • Protect audit logs from unauthorized modification or deletion.
  • Configure retention policies that satisfy organizational and regulatory requirements.
  • Integrate auditing with Microsoft Sentinel for security operations.
  • Periodically review audit logs and validate that auditing remains enabled after deployments or configuration changes.
  • Document audit policies and test recovery procedures for audit data.

Go to the DP-800 Exam Prep Hub main page

Exam Prep Hub for AI-901: Azure AI Fundamentals

Welcome to the AI-901: Azure AI Fundamentals Exam Prep Hub!

Welcome to the one-stop hub with information for preparing for the AI-901: Azure AI Fundamentals certification exam. The content for this exam helps you to demonstrate that “you have conceptual knowledge of AI solutions in Azure and the foundational technical skills to work with them”. You will also need “knowledge of Python coding syntax and programming techniques, and you should be familiar with Azure resources”.
Upon successful completion of the exam, you earn the Microsoft Certified: Azure AI Fundamentals certification.

This hub provides information directly here (topic-by-topic as outlined in the official study guide), links to a number of external resources, tips for preparing for the exam, practice tests, and section questions to help you prepare. Bookmark this page and use it as a guide to ensure that you are fully covering all relevant topics for the AI-901 exam and making use of as many of the resources available as possible.


Audience profile (from Microsoft’s site)



As a candidate for this Microsoft Certification, you’re at the beginning of your career in AI solution development. These Microsoft certifications offer opportunities to demonstrate your understanding of machine learning, AI concepts, and Azure services, whether you are starting your career or advancing your skills in AI solution development. Both certifications are designed for candidates from technical and non-technical backgrounds—prior experience in data science or software engineering is not required, though familiarity with basic cloud concepts and client-server applications will be helpful.
For the AI-901, you should have foundational knowledge of AI workloads and understand the basic principles of AI and machine learning. And also, you should have foundational technical skills for working with AI solutions in Azure, conceptual knowledge of Azure-based AI solutions, and familiarity with Python coding syntax and programming techniques, as well as Azure resources.
You may be eligible for ACE college credit if you pass this certification. See ACE college credit for certification exams for details.


Skills at a glance (as specified in the official study guide)

  • Identify AI concepts and responsibilities (40–45%)
  • Implement AI solutions by using Microsoft Foundry (55–60%)

Topic-by-Topic Exam Content

[click a topic link to access the content and practice questions for that topic]

Identify AI concepts and capabilities (40–45%)

Describe principles of responsible AI

Identify AI model components and configurations

Identify AI workloads

Implement AI solutions by using Microsoft Foundry (55–60%)

Implement generative AI apps and agents by using Foundry

Implement AI solutions for text and speech by using Foundry

Implement AI solutions with computer vision and image-generation capabilities by using Foundry

Implement AI solutions for information extraction by using Foundry


AI-901 Practice Exams


Important AI-901 Resources


Good luck to you on your data journey!

Build a lightweight application with Information Extraction capabilities by using Content Understanding (AI-901 Exam Prep)

This post is a part of the AI-901: Microsoft Azure AI Fundamentals Exam Prep Hub. 
This topic falls under these sections:
Implement AI solutions by using Microsoft Foundry (55–60%)
--> Implement AI solutions for information extraction by using Foundry
--> Build a lightweight application with Information Extraction capabilities by using Content Understanding


Note that there are 10 practice questions (with answers and explanations) for each section to help you solidify your knowledge of the material. Also, there are 2 practice tests with 60 questions each available on the hub below the exam topics section.

Modern organizations often need applications that can automatically extract information from documents, images, audio, and video. Azure AI services and Microsoft Foundry tools make it possible to create lightweight applications that use AI-powered content understanding without requiring advanced machine learning expertise.

For the AI-901 certification exam, candidates should understand the foundational concepts involved in building lightweight applications with information extraction capabilities by using Azure Content Understanding and Microsoft Foundry.

This topic falls under the “Implement AI solutions for information extraction by using Foundry” section of the AI-901 exam objectives.


What Is Information Extraction?

Information extraction is the process of automatically identifying and retrieving useful data from content.

AI systems can extract information from:

  • Documents
  • Images
  • Audio
  • Video
  • Text

Examples include:

  • Names
  • Dates
  • Invoice totals
  • Keywords
  • Objects
  • Spoken words

What Is Azure Content Understanding?

Azure Content Understanding enables AI-powered analysis of different types of content.

Capabilities include:

  • OCR (Optical Character Recognition)
  • Speech recognition
  • Entity extraction
  • Image analysis
  • Video analysis
  • Classification
  • Caption generation

What Is a Lightweight Application?

A lightweight application is a simple application that performs focused tasks using cloud-based AI services.

Characteristics include:

  • Minimal infrastructure
  • API-based communication
  • Rapid development
  • Simple user interface
  • Cloud-hosted AI processing

For AI-901, candidates should understand concepts and workflows rather than advanced coding details.


Azure AI Foundry

Azure AI Foundry provides tools for building and testing AI applications.

Developers can:

  • Access AI models
  • Configure services
  • Test prompts
  • Analyze content
  • Build AI-powered workflows

Common Information Extraction Capabilities


OCR (Optical Character Recognition)

OCR extracts text from images and scanned documents.


Example

Input

Photo of a receipt

Output

  • Store name
  • Total amount
  • Purchase date

Entity Extraction

AI systems can identify important entities within content.


Examples of Entities

  • Names
  • Locations
  • Organizations
  • Phone numbers
  • Dates

Speech Recognition

Speech recognition converts spoken language into text.


Example

Input

Customer support call recording

Output

Searchable transcript


Object Detection

Object detection identifies objects within images or video.


Example

A warehouse-monitoring application may detect:

  • Boxes
  • Forklifts
  • Employees

Sentiment Analysis

Sentiment analysis determines emotional tone.


Example

Customer feedback classified as:

  • Positive
  • Neutral
  • Negative

Typical Lightweight Application Workflow

A lightweight information-extraction application often follows these steps:

  1. User uploads content
  2. Application sends content to Azure AI service
  3. AI analyzes content
  4. Structured results are returned
  5. Application displays extracted information

Example Workflow

User uploads:

  • Image
  • PDF
  • Audio file
  • Video file

AI extracts:

  • Text
  • Keywords
  • Objects
  • Entities
  • Captions

APIs and Endpoints

Applications communicate with Azure AI services through:

  • APIs
  • Endpoints

The application sends content to the AI service and receives structured results.


Authentication

Applications must authenticate securely before using Azure AI services.

Common authentication methods include:

  • API keys
  • Azure credentials
  • Managed identities

Example High-Level Pseudocode

content = upload_file()
results = analyze_content(content)
display_results(results)

For AI-901, understanding the workflow is more important than memorizing exact syntax.


Structured Outputs

AI systems often return structured data formats such as:

  • JSON
  • Tables
  • Lists
  • Metadata

Structured outputs make integration easier.


Example JSON-Like Output

{
"invoiceNumber": "INV-1001",
"date": "2026-05-15",
"total": "$245.99"
}

Common Real-World Scenarios


Scenario 1: Invoice Processing

Goal

Automatically extract invoice data.

Extracted Information

  • Vendor name
  • Invoice number
  • Total amount
  • Due date

Scenario 2: Customer Service Analytics

Goal

Analyze customer interactions.

Extracted Information

  • Topics
  • Sentiment
  • Keywords
  • Transcripts

Scenario 3: Healthcare Document Analysis

Goal

Extract information from medical documents.

Extracted Information

  • Patient names
  • Dates
  • Medical terms

Scenario 4: Media Monitoring

Goal

Analyze audio and video content.

Extracted Information

  • Captions
  • Objects
  • Speakers
  • Keywords

Responsible AI Considerations

Information-extraction applications should follow Responsible AI principles.

Key considerations include:

  • Privacy
  • Fairness
  • Transparency
  • Inclusiveness
  • Accountability
  • Security

Privacy Concerns

Content may contain:

  • Personal information
  • Financial records
  • Medical data
  • Private conversations

Organizations should secure sensitive data appropriately.


Fairness and Bias

AI systems may perform differently across:

  • Languages
  • Accents
  • Demographics
  • Image quality
  • Environmental conditions

Testing and evaluation are important.


Transparency

Users should understand:

  • AI is analyzing their content
  • AI-generated outputs may contain errors
  • Human review may still be needed

Accuracy Limitations

Information-extraction systems may struggle with:

  • Blurry images
  • Poor audio quality
  • Handwritten text
  • Background noise
  • Low-resolution files

Hallucinations and Errors

AI systems may occasionally:

  • Extract incorrect information
  • Misidentify objects
  • Misinterpret speech
  • Generate inaccurate summaries

Applications should validate important outputs.


Error Handling

Applications should handle:

  • Unsupported file formats
  • Corrupted files
  • Authentication failures
  • Network interruptions
  • Rate limits

Advantages of Lightweight AI Applications

Benefits include:

  • Rapid deployment
  • Reduced development complexity
  • Scalability
  • Automation
  • Faster information processing

Limitations of Lightweight AI Applications

Challenges include:

  • Dependence on cloud services
  • Accuracy limitations
  • Privacy concerns
  • Potential bias
  • Environmental variability

Multimodal AI

Modern AI systems can combine:

  • Text
  • Speech
  • Vision
  • Generative AI

These systems can process multiple content types together.


High-Level Architecture

A simplified architecture often includes:

  1. User uploads content
  2. Application sends content to Azure AI service
  3. AI analyzes content
  4. Structured results are returned
  5. Application displays extracted information

Important AI-901 Exam Tips

For the exam, remember these key points:

  • Information extraction retrieves useful data from content.
  • OCR extracts text from images and documents.
  • Speech recognition converts speech into text.
  • Object detection identifies objects within images or video.
  • APIs and endpoints connect applications to Azure AI services.
  • Authentication secures access to AI resources.
  • Structured outputs often use JSON-like formats.
  • Responsible AI principles apply to information extraction systems.
  • Poor-quality content can reduce accuracy.
  • Hallucinations are inaccurate AI-generated outputs.
  • Azure AI Foundry supports AI application development.

Quick Knowledge Check

Question 1

What does OCR do?

Answer

Extracts text from images and scanned documents.


Question 2

What does speech recognition do?

Answer

Converts spoken language into text.


Question 3

Why is authentication important?

Answer

It secures access to Azure AI services.


Question 4

What can reduce information-extraction accuracy?

Answer

Poor-quality images, background noise, and blurry documents.


Practice Exam Questions

Exam: AI-901

Topic: Build a Lightweight Application with Information Extraction Capabilities by Using Content Understanding


Question 1

What is the PRIMARY purpose of information extraction in AI applications?

A. To automatically retrieve useful data from content
B. To increase internet speed
C. To replace operating systems
D. To improve monitor resolution


Correct Answer

A. To automatically retrieve useful data from content


Explanation

Information extraction uses AI to identify and retrieve meaningful data from documents, images, audio, video, and text.


Why the Other Answers Are Incorrect

B. To increase internet speed

Information extraction does not improve networking performance.

C. To replace operating systems

AI extraction tools do not replace operating systems.

D. To improve monitor resolution

This is unrelated to AI information extraction.


Question 2

What does OCR stand for?

A. Optical Character Recognition
B. Open Cloud Routing
C. Operational Content Reporting
D. Object Classification Retrieval


Correct Answer

A. Optical Character Recognition


Explanation

OCR extracts machine-readable text from images and scanned documents.


Why the Other Answers Are Incorrect

B. Open Cloud Routing

This is not an OCR term.

C. Operational Content Reporting

This is unrelated to text extraction.

D. Object Classification Retrieval

This is not the meaning of OCR.


Question 3

Which AI capability converts spoken language into text?

A. Speech recognition
B. Image classification
C. Speech synthesis
D. Object detection


Correct Answer

A. Speech recognition


Explanation

Speech recognition transcribes spoken words into text.


Why the Other Answers Are Incorrect

B. Image classification

This categorizes images.

C. Speech synthesis

This converts text into spoken audio.

D. Object detection

This identifies objects within images or video.


Question 4

What is a lightweight AI application?

A. A simple application that uses cloud AI services for focused tasks
B. A hardware-only system
C. A networking device
D. A spreadsheet management tool


Correct Answer

A. A simple application that uses cloud AI services for focused tasks


Explanation

Lightweight applications typically use APIs and cloud services to provide AI capabilities without requiring complex infrastructure.


Why the Other Answers Are Incorrect

B. A hardware-only system

Lightweight AI apps commonly use cloud services.

C. A networking device

Networking devices are unrelated.

D. A spreadsheet management tool

This is unrelated to AI application design.


Question 5

How do lightweight AI applications commonly communicate with Azure AI services?

A. Through APIs and endpoints
B. Through printer drivers
C. Through monitor settings
D. Through USB-only connections


Correct Answer

A. Through APIs and endpoints


Explanation

Applications use APIs and endpoints to send content to Azure AI services and receive analysis results.


Why the Other Answers Are Incorrect

B. Through printer drivers

Printers are unrelated to Azure AI communication.

C. Through monitor settings

This is unrelated to cloud AI services.

D. Through USB-only connections

Cloud AI services use network communication.


Question 6

Why is authentication important in Azure AI applications?

A. To secure access to AI resources
B. To improve image brightness
C. To increase network speed
D. To improve speaker volume


Correct Answer

A. To secure access to AI resources


Explanation

Authentication ensures that only authorized users and applications can access Azure AI services.


Why the Other Answers Are Incorrect

B. To improve image brightness

Authentication does not affect image quality.

C. To increase network speed

Authentication does not improve networking.

D. To improve speaker volume

Authentication does not affect audio playback.


Question 7

Which format is commonly used for structured AI output data?

A. JSON
B. JPEG
C. MP3
D. ZIP


Correct Answer

A. JSON


Explanation

AI systems often return structured data in JSON-like formats for easy application integration.


Why the Other Answers Are Incorrect

B. JPEG

JPEG is an image format.

C. MP3

MP3 is an audio format.

D. ZIP

ZIP is a compressed archive format.


Question 8

Which factor can reduce information-extraction accuracy?

A. Poor-quality input content
B. Spreadsheet formatting
C. Keyboard layout changes
D. Screen brightness settings


Correct Answer

A. Poor-quality input content


Explanation

Blurry images, poor audio quality, and noisy environments can negatively affect AI extraction accuracy.


Why the Other Answers Are Incorrect

B. Spreadsheet formatting

This does not affect AI extraction services.

C. Keyboard layout changes

This is unrelated to AI analysis.

D. Screen brightness settings

This does not affect AI processing accuracy.


Question 9

Which Responsible AI concern is especially important for information extraction applications?

A. Protecting sensitive personal data
B. Increasing printer performance
C. Improving spreadsheet formulas
D. Reducing monitor power usage


Correct Answer

A. Protecting sensitive personal data


Explanation

Extracted content may contain financial, medical, or personal information that must be protected securely.


Why the Other Answers Are Incorrect

B. Increasing printer performance

This is unrelated to Responsible AI.

C. Improving spreadsheet formulas

This is unrelated to information extraction.

D. Reducing monitor power usage

This is unrelated to AI ethics.


Question 10

What are hallucinations in AI information-extraction systems?

A. Incorrect or fabricated AI-generated outputs
B. Hardware installation failures
C. Network outages
D. Operating system crashes


Correct Answer

A. Incorrect or fabricated AI-generated outputs


Explanation

Hallucinations occur when AI systems generate inaccurate extracted information, captions, summaries, or identifications.


Why the Other Answers Are Incorrect

B. Hardware installation failures

This is unrelated to AI-generated outputs.

C. Network outages

This is a connectivity issue.

D. Operating system crashes

This is unrelated to AI hallucinations.


Final Thoughts

Building lightweight applications with information extraction capabilities is an important topic for the AI-901 certification exam. Microsoft expects candidates to understand foundational concepts such as OCR, speech recognition, APIs, authentication, structured outputs, Responsible AI principles, and lightweight AI workflows.

Azure AI services and Azure AI Foundry provide powerful tools for creating scalable applications capable of extracting valuable information from text, images, audio, video, and documents.


Go to the AI-901 Exam Prep Hub main page

Extract information from audio and video by using Content Understanding (AI-901 Exam Prep)

This post is a part of the AI-901: Microsoft Azure AI Fundamentals Exam Prep Hub. 
This topic falls under these sections:
Implement AI solutions by using Microsoft Foundry (55–60%)
--> Implement AI solutions for information extraction by using Foundry
--> Extract information from audio and video by using Content Understanding


Note that there are 10 practice questions (with answers and explanations) for each section to help you solidify your knowledge of the material. Also, there are 2 practice tests with 60 questions each available on the hub below the exam topics section.

Organizations increasingly rely on AI systems to analyze audio and video content for automation, accessibility, security, analytics, and customer experiences. AI-powered content understanding solutions can extract valuable information from spoken language, sounds, images, and moving video streams.

For the AI-901 certification exam, candidates should understand the foundational concepts behind extracting information from audio and video by using Azure Content Understanding and Microsoft Foundry tools.

This topic falls under the “Implement AI solutions for information extraction by using Foundry” section of the AI-901 exam objectives.


What Is Content Understanding?

Content understanding refers to AI systems analyzing and interpreting different forms of content, including:

  • Audio
  • Video
  • Images
  • Documents
  • Text

AI systems can identify patterns, extract information, and generate useful insights.


Azure Content Understanding

Azure Content Understanding enables AI-powered analysis of multimedia content.

Capabilities include:

  • Speech recognition
  • Video analysis
  • Speaker identification
  • Caption generation
  • Object detection
  • Keyword extraction

Azure AI Foundry

Azure AI Foundry provides tools for building, testing, and managing AI applications.

Developers can:

  • Deploy AI services
  • Process multimedia content
  • Build lightweight applications
  • Test AI workflows

Audio Information Extraction

AI systems can analyze audio files to extract useful information.

Examples include:

  • Spoken words
  • Speaker identity
  • Keywords
  • Emotions
  • Language detection

Speech Recognition

Speech recognition converts spoken language into text.


Example

Input

Audio recording of a meeting

Output

Meeting transcript


Speaker Identification

AI systems can distinguish between different speakers.


Example

A meeting transcription may identify:

  • Speaker 1
  • Speaker 2
  • Speaker 3

Language Detection

AI systems can identify the spoken language within audio content.


Example

An AI system determines whether audio is:

  • English
  • Spanish
  • French
  • Japanese

Keyword Extraction

AI systems can identify important terms within conversations.


Example

A customer support call may extract:

  • Product names
  • Complaint topics
  • Order numbers

Sentiment Analysis

AI systems can analyze emotional tone in speech.


Example

A customer call may be classified as:

  • Positive
  • Neutral
  • Negative

Video Information Extraction

Video analysis combines:

  • Audio analysis
  • Image analysis
  • Motion analysis

Common Video Analysis Capabilities

AI systems may perform:

  • Object detection
  • Facial analysis
  • Activity recognition
  • Scene description
  • Text extraction
  • Caption generation

Object Detection in Video

AI systems can identify objects appearing in video frames.


Example

A traffic-monitoring system may detect:

  • Cars
  • Trucks
  • Pedestrians
  • Traffic lights

Scene Detection

AI systems can identify scene changes within videos.


Example

A sports video may identify:

  • Game start
  • Replay segments
  • Commercial breaks

Video Captioning

AI systems can generate descriptions or subtitles for videos.


Example

A training video may automatically generate captions for accessibility.


Optical Character Recognition (OCR) in Video

AI systems can extract text appearing in video frames.


Example

A video may contain:

  • Street signs
  • License plates
  • Product labels

APIs and Endpoints

Applications communicate with Azure AI services using:

  • APIs
  • Endpoints

Audio and video content is submitted programmatically for analysis.


Authentication

Applications must securely authenticate before accessing Azure AI services.

Common authentication methods include:

  • API keys
  • Azure credentials
  • Managed identities

Lightweight Application Workflow

A typical workflow includes:

  1. User uploads audio or video
  2. Application sends content to AI service
  3. AI analyzes multimedia content
  4. Results are returned
  5. Application displays extracted information

Example High-Level Pseudocode

media = upload_media()
results = analyze_media(media)
display_results(results)

For AI-901, understanding the workflow is more important than memorizing exact syntax.


Common Real-World Scenarios


Scenario 1: Meeting Transcription

Goal

Convert meeting audio into searchable text.

Features

  • Speech recognition
  • Speaker identification
  • Keyword extraction

Scenario 2: Call Center Analytics

Goal

Analyze customer service calls.

Features

  • Sentiment analysis
  • Topic extraction
  • Call summarization

Scenario 3: Security Monitoring

Goal

Analyze surveillance video.

Features

  • Object detection
  • Activity recognition
  • Facial analysis

Scenario 4: Video Accessibility

Goal

Improve accessibility for multimedia content.

Features

  • Caption generation
  • Speech transcription
  • Scene descriptions

Responsible AI Considerations

Audio and video AI systems should follow Responsible AI principles.

Key considerations include:

  • Privacy
  • Fairness
  • Transparency
  • Inclusiveness
  • Accountability
  • Security

Privacy Concerns

Audio and video may contain:

  • Personal conversations
  • Faces
  • Biometric data
  • Sensitive information

Organizations should protect multimedia data appropriately.


Fairness and Bias

Speech and video systems may perform differently across:

  • Languages
  • Accents
  • Dialects
  • Lighting conditions
  • Demographics

Testing and evaluation are important.


Transparency

Users should understand:

  • AI is analyzing multimedia content
  • AI-generated outputs may contain errors
  • Human review may still be needed

Accuracy Limitations

Audio and video analysis systems may struggle with:

  • Background noise
  • Poor audio quality
  • Low-resolution video
  • Obstructed visuals
  • Multiple overlapping speakers

Hallucinations and Errors

AI systems may occasionally:

  • Misidentify speakers
  • Generate inaccurate captions
  • Misinterpret speech
  • Detect nonexistent objects

Applications should validate important outputs.


Error Handling

Applications should handle:

  • Unsupported file formats
  • Corrupted media files
  • Authentication failures
  • Network interruptions
  • Rate limits

Advantages of Multimedia Information Extraction

Benefits include:

  • Automation
  • Faster analysis
  • Improved accessibility
  • Searchable content
  • Scalable processing

Limitations of Multimedia Information Extraction

Challenges include:

  • Privacy concerns
  • Accuracy limitations
  • Bias
  • Environmental variability
  • Ethical considerations

Multimodal AI

Modern AI systems may combine:

  • Speech
  • Vision
  • Text
  • Generative AI

These systems can:

  • Analyze multimedia content
  • Answer questions
  • Generate summaries
  • Create captions and descriptions

High-Level Architecture

A simplified architecture often includes:

  1. User uploads audio/video
  2. Application sends media to Azure AI service
  3. AI processes multimedia content
  4. Structured results are returned
  5. Application displays extracted information

Important AI-901 Exam Tips

For the exam, remember these key points:

  • Speech recognition converts speech to text.
  • Speaker identification distinguishes speakers.
  • Sentiment analysis detects emotional tone.
  • OCR can extract text from video frames.
  • Object detection identifies objects in video.
  • APIs and endpoints connect applications to AI services.
  • Authentication secures AI resources.
  • Responsible AI principles apply to multimedia AI systems.
  • Poor audio or video quality can reduce accuracy.
  • Hallucinations are inaccurate AI-generated outputs.
  • Azure AI Foundry supports multimedia AI application development.

Quick Knowledge Check

Question 1

What does speech recognition do?

Answer

Converts spoken language into text.


Question 2

What is speaker identification?

Answer

Distinguishing between different speakers in audio content.


Question 3

Why is authentication important?

Answer

It secures access to Azure AI services.


Question 4

What can reduce multimedia-analysis accuracy?

Answer

Background noise, low-quality audio, and poor video quality.


Practice Exam Questions

Exam: AI-901

Topic: Extract Information from Audio and Video by Using Content Understanding


Question 1

What is the PRIMARY purpose of content understanding in AI systems?

A. To analyze and interpret multimedia content such as audio and video
B. To increase internet bandwidth
C. To replace operating systems
D. To improve keyboard performance


Correct Answer

A. To analyze and interpret multimedia content such as audio and video


Explanation

Content understanding enables AI systems to analyze audio, video, images, and other forms of content to extract useful information.


Why the Other Answers Are Incorrect

B. To increase internet bandwidth

Content understanding does not improve networking speed.

C. To replace operating systems

AI multimedia analysis does not replace operating systems.

D. To improve keyboard performance

This is unrelated to AI content understanding.


Question 2

What does speech recognition do?

A. Converts spoken language into text
B. Converts images into audio
C. Encrypts media files
D. Repairs damaged videos


Correct Answer

A. Converts spoken language into text


Explanation

Speech recognition transcribes spoken words into machine-readable text.


Why the Other Answers Are Incorrect

B. Converts images into audio

This is unrelated to speech recognition.

C. Encrypts media files

Encryption is unrelated to speech transcription.

D. Repairs damaged videos

Speech recognition does not repair media files.


Question 3

Which AI capability identifies different speakers in an audio recording?

A. Speaker identification
B. OCR
C. Image classification
D. Object compression


Correct Answer

A. Speaker identification


Explanation

Speaker identification distinguishes between different speakers within audio content.


Why the Other Answers Are Incorrect

B. OCR

OCR extracts text from images.

C. Image classification

This categorizes images.

D. Object compression

This is not a multimedia AI capability.


Question 4

What is sentiment analysis used for in audio processing?

A. Detecting emotional tone in speech
B. Increasing audio volume
C. Compressing audio files
D. Repairing broken microphones


Correct Answer

A. Detecting emotional tone in speech


Explanation

Sentiment analysis identifies whether speech content is positive, negative, or neutral.


Why the Other Answers Are Incorrect

B. Increasing audio volume

This is unrelated to AI analysis.

C. Compressing audio files

Compression is unrelated to sentiment detection.

D. Repairing broken microphones

This is a hardware issue.


Question 5

Which AI capability can extract text from video frames?

A. OCR
B. Speech synthesis
C. Audio normalization
D. File compression


Correct Answer

A. OCR


Explanation

OCR can identify and extract text that appears visually within video frames.


Why the Other Answers Are Incorrect

B. Speech synthesis

This converts text into speech.

C. Audio normalization

This adjusts sound levels.

D. File compression

This reduces file size.


Question 6

How do lightweight multimedia-analysis applications typically communicate with Azure AI services?

A. Through APIs and endpoints
B. Through printer drivers
C. Through monitor settings
D. Through USB-only connections


Correct Answer

A. Through APIs and endpoints


Explanation

Applications use APIs and endpoints to send audio and video content to Azure AI services for analysis.


Why the Other Answers Are Incorrect

B. Through printer drivers

Printers are unrelated to multimedia AI communication.

C. Through monitor settings

This is unrelated to cloud AI services.

D. Through USB-only connections

Cloud AI services use network communication.


Question 7

Why is authentication important when using Azure AI multimedia services?

A. To secure access to AI resources
B. To improve speaker volume
C. To increase internet speed
D. To improve video resolution


Correct Answer

A. To secure access to AI resources


Explanation

Authentication ensures that only authorized users and applications can access Azure AI services.


Why the Other Answers Are Incorrect

B. To improve speaker volume

Authentication does not affect sound levels.

C. To increase internet speed

Authentication does not improve networking.

D. To improve video resolution

Authentication does not affect video quality.


Question 8

Which factor can reduce speech-recognition accuracy?

A. Background noise
B. Spreadsheet formatting
C. Keyboard layout changes
D. Monitor brightness


Correct Answer

A. Background noise


Explanation

Noise and poor audio quality can make it difficult for AI systems to correctly recognize speech.


Why the Other Answers Are Incorrect

B. Spreadsheet formatting

This does not affect audio AI systems.

C. Keyboard layout changes

This is unrelated to speech recognition.

D. Monitor brightness

This does not affect audio analysis.


Question 9

Which Responsible AI concern is especially important for audio and video analysis systems?

A. Protecting sensitive personal information
B. Increasing printer speed
C. Improving spreadsheet formulas
D. Reducing file storage costs


Correct Answer

A. Protecting sensitive personal information


Explanation

Audio and video files may contain faces, voices, and personal conversations that require privacy protection.


Why the Other Answers Are Incorrect

B. Increasing printer speed

This is unrelated to Responsible AI.

C. Improving spreadsheet formulas

This is unrelated to multimedia analysis.

D. Reducing file storage costs

This is not a Responsible AI principle.


Question 10

What are hallucinations in multimedia AI systems?

A. Incorrect or fabricated AI-generated outputs
B. Hardware installation failures
C. Network outages
D. Speaker hardware malfunctions


Correct Answer

A. Incorrect or fabricated AI-generated outputs


Explanation

Hallucinations occur when AI systems produce inaccurate captions, object detections, speaker identifications, or transcriptions.


Why the Other Answers Are Incorrect

B. Hardware installation failures

This is unrelated to AI-generated outputs.

C. Network outages

This is a connectivity issue.

D. Speaker hardware malfunctions

This is a hardware problem, not an AI hallucination.


Final Thoughts

Extracting information from audio and video by using Content Understanding is an important topic for the AI-901 certification exam. Microsoft expects candidates to understand foundational concepts such as speech recognition, video analysis, OCR, APIs, authentication, Responsible AI principles, and lightweight multimedia-analysis workflows.

Azure AI services and Azure AI Foundry provide powerful tools for building intelligent multimedia applications capable of understanding spoken language, video content, and visual information at scale.


Go to the AI-901 Exam Prep Hub main page

Extract information from documents and forms by using Azure Content Understanding in Foundry Tools (AI-901 Exam Prep)

This post is a part of the AI-901: Microsoft Azure AI Fundamentals Exam Prep Hub. 
This topic falls under these sections:
Implement AI solutions by using Microsoft Foundry (55–60%)
--> Implement AI solutions for information extraction by using Foundry
--> Extract information from documents and forms by using Azure Content Understanding in Foundry Tools


Note that there are 10 practice questions (with answers and explanations) for each section to help you solidify your knowledge of the material. Also, there are 2 practice tests with 60 questions each available on the hub below the exam topics section.

Organizations process enormous amounts of documents every day, including invoices, receipts, forms, contracts, and identification documents. AI-powered information extraction solutions help automate the process of reading, understanding, and organizing document data.

For the AI-901 certification exam, candidates should understand the foundational concepts behind extracting information from documents and forms by using Azure Content Understanding and Microsoft Foundry tools.

This topic falls under the “Implement AI solutions for information extraction by using Foundry” section of the AI-901 exam objectives.


What Is Information Extraction?

Information extraction is the process of identifying and retrieving useful data from documents, images, forms, audio, or other content.

Examples include extracting:

  • Names
  • Dates
  • Invoice totals
  • Addresses
  • Phone numbers
  • Product information

What Is Azure Content Understanding?

Azure Content Understanding helps AI systems analyze and interpret structured and unstructured documents.

Capabilities include:

  • Text extraction
  • Form recognition
  • Document analysis
  • Information classification
  • Key-value pair extraction

Azure AI Foundry

Azure AI Foundry provides tools for building, testing, and managing AI-powered applications.

Developers can:

  • Configure AI services
  • Process documents
  • Test extraction workflows
  • Build lightweight AI applications

Structured vs. Unstructured Documents


Structured Documents

Structured documents follow a consistent layout.

Examples include:

  • Tax forms
  • Invoices
  • Receipts
  • Application forms

Unstructured Documents

Unstructured documents have less predictable layouts.

Examples include:

  • Emails
  • Letters
  • Articles
  • Contracts

Optical Character Recognition (OCR)

OCR converts text within images or scanned documents into machine-readable text.


Example

Input

Scanned receipt image

OCR Output

  • Store name
  • Date
  • Total amount

Form Recognition

Form recognition identifies fields and values within forms.


Example

Form

Insurance application

Extracted Data

  • Customer name
  • Policy number
  • Address
  • Claim amount

Key-Value Pair Extraction

AI systems can identify relationships between labels and values.


Example

KeyValue
Invoice NumberINV-1045
Total$250.00
Due Date05/30/2026

Table Extraction

AI can identify and extract tables from documents.


Example

A receipt table may contain:

  • Item names
  • Quantities
  • Prices

Classification

Document classification identifies the type of document being processed.


Example

The system determines whether a file is:

  • Invoice
  • Contract
  • Receipt
  • Resume

Named Entity Recognition (NER)

NER identifies important entities within text.

Entities may include:

  • People
  • Organizations
  • Locations
  • Dates

Example

Text

“John Smith works for Contoso in Seattle.”

Extracted Entities

  • John Smith (Person)
  • Contoso (Organization)
  • Seattle (Location)

APIs and Endpoints

Applications communicate with Azure AI services through:

  • APIs
  • Endpoints

Documents are submitted for analysis programmatically.


Authentication

Applications must securely authenticate before accessing Azure AI services.

Common authentication methods include:

  • API keys
  • Azure credentials
  • Managed identities

Lightweight Application Workflow

A typical workflow includes:

  1. User uploads document
  2. Application sends file to AI service
  3. AI extracts information
  4. Results are returned
  5. Application displays or stores extracted data

Example Workflow

Input

Scanned invoice

AI Processing

  • OCR
  • Key-value extraction
  • Table analysis

Output

Structured invoice data


Example High-Level Pseudocode

document = upload_document()
results = analyze_document(document)
display_results(results)

For AI-901, understanding the workflow is more important than memorizing exact syntax.


Common Real-World Scenarios


Scenario 1: Invoice Processing

Goal

Automate invoice data extraction.

Features

  • OCR
  • Table extraction
  • Total amount detection

Scenario 2: Receipt Scanning

Goal

Extract purchase information from receipts.

Features

  • Text extraction
  • Merchant identification
  • Expense categorization

Scenario 3: Resume Processing

Goal

Extract candidate information from resumes.

Features

  • Name extraction
  • Skill identification
  • Contact information detection

Scenario 4: Healthcare Forms

Goal

Digitize patient records.

Features

  • Form recognition
  • Key-value extraction
  • Classification

Responsible AI Considerations

Document-processing applications should follow Responsible AI principles.

Key considerations include:

  • Privacy
  • Security
  • Fairness
  • Transparency
  • Accountability
  • Inclusiveness

Privacy Concerns

Documents may contain:

  • Personal information
  • Financial data
  • Medical information
  • Legal records

Organizations should protect sensitive data appropriately.


Security Considerations

Applications should secure:

  • Uploaded files
  • Stored documents
  • API credentials
  • Extracted data

Transparency

Users should understand:

  • AI is analyzing documents
  • Extracted data may contain errors
  • Human review may still be needed

Accuracy Limitations

AI extraction systems may struggle with:

  • Poor scan quality
  • Handwritten text
  • Complex layouts
  • Damaged documents

Hallucinations and Errors

AI systems may occasionally:

  • Extract incorrect values
  • Miss fields
  • Misclassify documents

Applications should validate important information.


Error Handling

Applications should handle:

  • Unsupported file formats
  • Corrupted documents
  • Authentication failures
  • Network interruptions
  • Rate limits

Advantages of Information Extraction AI

Benefits include:

  • Faster document processing
  • Reduced manual entry
  • Improved scalability
  • Increased automation
  • Better searchability

Limitations of Information Extraction AI

Challenges include:

  • Variable document quality
  • Handwriting recognition difficulties
  • Inconsistent layouts
  • Privacy concerns
  • Extraction inaccuracies

Generative AI and Information Extraction

Some modern systems combine:

  • OCR
  • Document intelligence
  • Generative AI

This enables:

  • Summarization
  • Question answering
  • Conversational document analysis

High-Level Architecture

A simplified architecture often includes:

  1. User uploads document
  2. Application sends document to Azure AI service
  3. AI analyzes content
  4. Structured data is returned
  5. Application displays or stores results

Important AI-901 Exam Tips

For the exam, remember these key points:

  • OCR extracts text from documents and images.
  • Form recognition identifies fields and values.
  • Key-value extraction identifies label-value relationships.
  • Table extraction retrieves structured table data.
  • Classification identifies document types.
  • APIs and endpoints connect applications to Azure AI services.
  • Authentication secures access to AI resources.
  • Responsible AI principles apply to document-processing systems.
  • Poor document quality can reduce extraction accuracy.
  • AI-generated outputs may still require validation.

Quick Knowledge Check

Question 1

What does OCR do?

Answer

Extracts machine-readable text from images or scanned documents.


Question 2

What is form recognition?

Answer

Identifying and extracting fields and values from forms.


Question 3

Why is authentication important?

Answer

It secures access to Azure AI services and protects resources.


Question 4

What can reduce extraction accuracy?

Answer

Poor scan quality, handwriting, and inconsistent document layouts.


Practice Exam Questions

Exam: AI-901

Topic: Extract Information from Documents and Forms by Using Azure Content Understanding in Foundry Tools


Question 1

What is the PRIMARY purpose of information extraction AI solutions?

A. To retrieve useful data from documents and content
B. To increase internet bandwidth
C. To replace operating systems
D. To improve monitor resolution


Correct Answer

A. To retrieve useful data from documents and content


Explanation

Information extraction AI systems identify and retrieve meaningful information such as names, dates, totals, and addresses from documents and forms.


Why the Other Answers Are Incorrect

B. To increase internet bandwidth

Information extraction does not affect network speed.

C. To replace operating systems

AI document processing does not replace operating systems.

D. To improve monitor resolution

This is unrelated to AI information extraction.


Question 2

What does OCR stand for?

A. Optical Character Recognition
B. Open Content Retrieval
C. Object Classification Routing
D. Operational Compute Reporting


Correct Answer

A. Optical Character Recognition


Explanation

OCR converts printed or handwritten text within images and scanned documents into machine-readable text.


Why the Other Answers Are Incorrect

B. Open Content Retrieval

This is not the meaning of OCR.

C. Object Classification Routing

This is unrelated to document analysis.

D. Operational Compute Reporting

This is not an OCR term.


Question 3

Which AI capability identifies fields and values within forms?

A. Form recognition
B. Speech synthesis
C. Image compression
D. Network monitoring


Correct Answer

A. Form recognition


Explanation

Form recognition extracts structured information such as names, dates, totals, and addresses from forms and documents.


Why the Other Answers Are Incorrect

B. Speech synthesis

This converts text into speech.

C. Image compression

This reduces file size and is unrelated to field extraction.

D. Network monitoring

This is unrelated to document AI.


Question 4

Which Azure platform provides tools for building and managing AI-powered applications?

A. Azure AI Foundry
B. Microsoft Paint
C. Windows Task Manager
D. Azure DNS


Correct Answer

A. Azure AI Foundry


Explanation

Azure AI Foundry provides tools for deploying, testing, and managing AI applications and services.


Why the Other Answers Are Incorrect

B. Microsoft Paint

Paint is a graphics editor.

C. Windows Task Manager

This is a system monitoring tool.

D. Azure DNS

This is a networking service.


Question 5

What is key-value pair extraction?

A. Identifying labels and their associated values in documents
B. Encrypting document files
C. Compressing image sizes
D. Converting audio into text


Correct Answer

A. Identifying labels and their associated values in documents


Explanation

Key-value extraction identifies relationships such as:

  • Invoice Number → INV-1045
  • Total → $250.00

Why the Other Answers Are Incorrect

B. Encrypting document files

Encryption is unrelated to data extraction.

C. Compressing image sizes

Compression is unrelated to document intelligence.

D. Converting audio into text

This is speech recognition.


Question 6

What is the purpose of document classification?

A. To identify the type of document being processed
B. To increase network performance
C. To generate music files
D. To repair damaged documents physically


Correct Answer

A. To identify the type of document being processed


Explanation

Document classification determines whether a file is an invoice, contract, receipt, resume, or another document type.


Why the Other Answers Are Incorrect

B. To increase network performance

Classification does not improve networking.

C. To generate music files

This is unrelated to document AI.

D. To repair damaged documents physically

AI classification does not physically repair documents.


Question 7

How do lightweight document-processing applications typically communicate with Azure AI services?

A. Through APIs and endpoints
B. Through USB-only connections
C. Through monitor calibration tools
D. Through printer drivers


Correct Answer

A. Through APIs and endpoints


Explanation

Applications send documents to Azure AI services using APIs and endpoints and receive structured analysis results.


Why the Other Answers Are Incorrect

B. Through USB-only connections

Cloud services use network communication.

C. Through monitor calibration tools

This is unrelated to AI services.

D. Through printer drivers

Printers are unrelated to cloud AI communication.


Question 8

Which factor can reduce the accuracy of document extraction systems?

A. Poor document quality
B. Spreadsheet color themes
C. Keyboard layout changes
D. Audio playback speed


Correct Answer

A. Poor document quality


Explanation

Blurry scans, damaged pages, handwriting, and poor lighting can negatively affect extraction accuracy.


Why the Other Answers Are Incorrect

B. Spreadsheet color themes

This does not affect document extraction AI.

C. Keyboard layout changes

This is unrelated to AI document analysis.

D. Audio playback speed

This is unrelated to document processing.


Question 9

Why is authentication important when using Azure AI services?

A. To secure access to AI resources
B. To improve image resolution
C. To increase internet speed
D. To compress document files


Correct Answer

A. To secure access to AI resources


Explanation

Authentication ensures that only authorized users and applications can access AI services.


Why the Other Answers Are Incorrect

B. To improve image resolution

Authentication does not affect image quality.

C. To increase internet speed

Authentication does not improve networking.

D. To compress document files

Authentication is unrelated to file compression.


Question 10

Which Responsible AI concern is especially important when processing documents?

A. Protecting sensitive personal information
B. Increasing monitor brightness
C. Improving printer speed
D. Reducing spreadsheet file size


Correct Answer

A. Protecting sensitive personal information


Explanation

Documents may contain financial, medical, legal, or personal information that must be protected appropriately.


Why the Other Answers Are Incorrect

B. Increasing monitor brightness

This is unrelated to Responsible AI.

C. Improving printer speed

This is unrelated to document intelligence.

D. Reducing spreadsheet file size

This is unrelated to AI ethics or privacy.


Final Thoughts

Extracting information from documents and forms using Azure Content Understanding and Foundry tools is an important topic for the AI-901 certification exam. Microsoft expects candidates to understand foundational concepts such as OCR, form recognition, document analysis, APIs, authentication, Responsible AI principles, and lightweight document-processing workflows.

Azure AI services and Azure AI Foundry provide powerful tools for automating information extraction and improving efficiency across business, healthcare, finance, and administrative scenarios.


Go to the AI-901 Exam Prep Hub main page