Azure AI Projects SDK for Java High-level SDK for Azure AI Foundry project management with access to connections, datasets, indexes, and evaluations. Installation < dependency
< groupId
com.azure </ groupId
< artifactId
azure-ai-projects </ artifactId
< version
1.0.0-beta.1 </ version
</ dependency
Environment Variables PROJECT_ENDPOINT = https:// < resource
.services.ai.azure.com/api/projects/ < project
Authentication import com . azure . ai . projects . AIProjectClientBuilder ; import com . azure . identity . DefaultAzureCredentialBuilder ; AIProjectClientBuilder builder = new AIProjectClientBuilder ( ) . endpoint ( System . getenv ( "PROJECT_ENDPOINT" ) ) . credential ( new DefaultAzureCredentialBuilder ( ) . build ( ) ) ; Client Hierarchy The SDK provides multiple sub-clients for different operations: Client Purpose ConnectionsClient Enumerate connected Azure resources DatasetsClient Upload documents and manage datasets DeploymentsClient Enumerate AI model deployments IndexesClient Create and manage search indexes EvaluationsClient Run AI model evaluations EvaluatorsClient Manage evaluator configurations SchedulesClient Manage scheduled operations // Build sub-clients from builder ConnectionsClient connectionsClient = builder . buildConnectionsClient ( ) ; DatasetsClient datasetsClient = builder . buildDatasetsClient ( ) ; DeploymentsClient deploymentsClient = builder . buildDeploymentsClient ( ) ; IndexesClient indexesClient = builder . buildIndexesClient ( ) ; EvaluationsClient evaluationsClient = builder . buildEvaluationsClient ( ) ; Core Operations List Connections import com . azure . ai . projects . models . Connection ; import com . azure . core . http . rest . PagedIterable ; PagedIterable < Connection
connections
connectionsClient . listConnections ( ) ; for ( Connection connection : connections ) { System . out . println ( "Name: " + connection . getName ( ) ) ; System . out . println ( "Type: " + connection . getType ( ) ) ; System . out . println ( "Credential Type: " + connection . getCredentials ( ) . getType ( ) ) ; } List Indexes indexesClient . listLatest ( ) . forEach ( index -> { System . out . println ( "Index name: " + index . getName ( ) ) ; System . out . println ( "Version: " + index . getVersion ( ) ) ; System . out . println ( "Description: " + index . getDescription ( ) ) ; } ) ; Create or Update Index import com . azure . ai . projects . models . AzureAISearchIndex ; import com . azure . ai . projects . models . Index ; String indexName = "my-index" ; String indexVersion = "1.0" ; String searchConnectionName = System . getenv ( "AI_SEARCH_CONNECTION_NAME" ) ; String searchIndexName = System . getenv ( "AI_SEARCH_INDEX_NAME" ) ; Index index = indexesClient . createOrUpdate ( indexName , indexVersion , new AzureAISearchIndex ( ) . setConnectionName ( searchConnectionName ) . setIndexName ( searchIndexName ) ) ; System . out . println ( "Created index: " + index . getName ( ) ) ; Access OpenAI Evaluations The SDK exposes OpenAI's official SDK for evaluations: import com . openai . services . EvalService ; EvalService evalService = evaluationsClient . getOpenAIClient ( ) ; // Use OpenAI evaluation APIs directly Best Practices Use DefaultAzureCredential for production authentication Reuse client builder to create multiple sub-clients efficiently Handle pagination when listing resources with PagedIterable Use environment variables for connection names and configuration Check connection types before accessing credentials Error Handling import com . azure . core . exception . HttpResponseException ; import com . azure . core . exception . ResourceNotFoundException ; try { Index index = indexesClient . get ( indexName , version ) ; } catch ( ResourceNotFoundException e ) { System . err . println ( "Index not found: " + indexName ) ; } catch ( HttpResponseException e ) { System . err . println ( "Error: " + e . getResponse ( ) . getStatusCode ( ) ) ; } Reference Links Resource URL Product Docs https://learn.microsoft.com/azure/ai-studio/ API Reference https://learn.microsoft.com/rest/api/aifoundry/aiprojects/ GitHub Source https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/ai/azure-ai-projects Samples https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/ai/azure-ai-projects/src/samples When to Use This skill is applicable to execute the workflow or actions described in the overview.