Compartilhar via


Início rápido da API do Fabric

Introdução

Para trabalhar com APIs do Fabric, como muitos outros serviços da Microsoft, primeiro você precisa obter um token do Microsoft Entra para o serviço Fabric e, em seguida, usar esse token no cabeçalho de autorização da chamada à API.

Neste tutorial rápido, você criará um aplicativo de console C#, que adquirirá um token de ID da Entra usando a biblioteca MSAL.Net e, em seguida, usará o HttpClient do C# para chamar a API Listar Espaços de Trabalho.

Criar registro de aplicativo

Para obter um token do Microsoft Entra, primeiro você precisa registrar um aplicativo com a ID do Microsoft Entra.

Para saber mais sobre como registrar um aplicativo e propriedades diferentes do aplicativo e como ele pode ser aplicável ao seu cenário, consulte Registrar um aplicativo na plataforma de identidade da Microsoft.

Neste tutorial de início rápido, você criará um cliente público com URI de redirecionamento = http://localhost

  1. Entre no Centro de administração do Microsoft Entra como pelo menos Administrador de Aplicativos de Nuvem.

  2. Navegue até Aplicativos > Registro de Aplicativos.

  3. Clique em Novo registro.

  4. Insira um nome de exibição para seu aplicativo e adicione o URI de redirecionamento de cliente público http://localhost

    Captura de tela que mostra uma forma de registro de aplicativo.

  5. Selecione Registrar.

  6. Copie a ID do aplicativo (cliente) e cole-a em um bloco de notas a ser usado posteriormente.

Captura de tela que mostra um aplicativo no Azure após o registro.

Obter o token

Neste tutorial, você usará MSAL.Net para adquirir um token de ID da Entra para o serviço Fabric com os seguintes escopos: Workspace.ReadWrite.All, Item.ReadWrite.All.

Para obter mais informações sobre aquisição de tokens com a MSAL.Net, consulte Aquisição de token – Biblioteca de Autenticação da Microsoft para .NET.

Cole o ID do aplicativo (cliente) que você copiou anteriormente e cole-o para a variável ClientId.

Exemplo de código C# para adquirir um token de acesso do Microsoft Entra

#region parameters section 
string ClientId = "YourApplicationId"; 
string Authority = "https://login.microsoftonline.com/organizations"; 
string RedirectURI = "http://localhost"; 
#endregion 

#region Acquire a token for Fabric APIs 
// In this sample we acquire a token for Fabric service with the scopes  
// Workspace.ReadWrite.All and Item.ReadWrite.All 
string[] scopes = new string[] { "https://api.fabric.microsoft.com/Workspace.ReadWrite.All https://api.fabric.microsoft.com/Item.ReadWrite.All" }; 

PublicClientApplicationBuilder PublicClientAppBuilder = 
        PublicClientApplicationBuilder.Create(ClientId) 
        .WithAuthority(Authority) 
        .WithRedirectUri(RedirectURI); 

IPublicClientApplication PublicClientApplication = PublicClientAppBuilder.Build(); 

AuthenticationResult result = await PublicClientApplication.AcquireTokenInteractive(scopes) 
        .ExecuteAsync() 
        .ConfigureAwait(false); 

Console.WriteLine(result.AccessToken); 
#endregion 

API de gerenciamento de listas de chamadas

Nesta seção, você vai:

  1. Crie o HttpClient em C# com o token que adquirimos na seção anterior.
  2. Adicione https://api.fabric.microsoft.com/v1/ como a URL base para o cliente.
  3. Chamar a API de List Workspaces e gravar a resposta no console.

Exemplo de código C# para criação de um cliente HTTP e chamada à API de listagem de espaços de trabalho.

// Create client 
HttpClient client = new HttpClient(); 
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken); 
string baseUrl = "https://api.fabric.microsoft.com/v1/"; 
client.BaseAddress = new Uri(baseUrl); 

// Call list workspaces API 
HttpResponseMessage response = await client.GetAsync("workspaces"); 
string responseBody = await response.Content.ReadAsStringAsync(); 
Console.WriteLine(responseBody); 

Exemplo de código completo do aplicativo de console do C#

using Microsoft.Identity.Client; 
using System.Net.Http.Headers; 

#region parameters section 
string ClientId = "YourApplicationId";  
string Authority = "https://login.microsoftonline.com/organizations"; 
string RedirectURI = "http://localhost";  
#endregion 

#region Acquire a token for Fabric APIs 
// In this sample we acquire a token for Fabric service with the scopes Workspace.ReadWrite.All and Item.ReadWrite.All 
string[] scopes = new string[] { "https://api.fabric.microsoft.com/Workspace.ReadWrite.All https://api.fabric.microsoft.com/Item.ReadWrite.All" }; 

PublicClientApplicationBuilder PublicClientAppBuilder = 
        PublicClientApplicationBuilder.Create(ClientId) 
        .WithAuthority(Authority) 
        .WithRedirectUri(RedirectURI); 

IPublicClientApplication PublicClientApplication = PublicClientAppBuilder.Build(); 

AuthenticationResult result = await PublicClientApplication.AcquireTokenInteractive(scopes) 
        .ExecuteAsync() 
        .ConfigureAwait(false); 

Console.WriteLine(result.AccessToken); 
#endregion 

#region Create an HTTP client and call the Fabric APIs 
// Create client 
HttpClient client = new HttpClient(); 
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken); 
string baseUrl = "https://api.fabric.microsoft.com/v1/"; 
client.BaseAddress = new Uri(baseUrl); 

// Call list workspaces API 
HttpResponseMessage response = await client.GetAsync("workspaces"); 
string responseBody = await response.Content.ReadAsStringAsync(); 
Console.WriteLine(responseBody); 
#endregion