Partilhar via


Introdução rápida à API Fabric

Introdução

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

Neste tutorial de introdução rápida, você criará uma aplicação de consola C#, que adquirirá um token de ID Entra usando a biblioteca MSAL.Net e, em seguida, usará o HttpClient de C# para chamar a API de listas de espaços de trabalho.

Criar registo de aplicações

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

Para saber mais sobre como registrar um aplicativo e diferentes propriedades 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, no mínimo, um administrador de aplicações na nuvem.

  2. Navegue até > Registos de Aplicações.

  3. Clique em Novo registo.

  4. Insira um Nome de exibição para a sua aplicação e adicione o URI de redirecionamento de cliente público http://localhost

    Captura de ecrã que mostra uma forma de registo da aplicação.

  5. Selecione Register.

  6. Copie o ID do aplicativo (cliente) e cole-o em um bloco de notas para ser usado mais tarde.

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

Obter token

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

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

Cole o ID do aplicativo (cliente) copiado 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 gestão de espaços de trabalho de listas de chamadas

Nesta secção, irá:

  1. Crie o C# HttpClient com o token que adquirimos na seção anterior.
  2. Adicione https://api.fabric.microsoft.com/v1/ como URL base para o cliente.
  3. Chamar a API dos espaços de trabalho da Lista e Escrever a resposta no console.

Exemplo de código C# de criação de um cliente http e chamada da API List Workspaces

// 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 de aplicativo de console C# completo

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