Compartilhar via


Biblioteca de clientes do Azure Purview Share para .NET – versão 1.0.0-beta.3

Compartilhamento de Dados do Microsoft Purview permite que os dados sejam compartilhados in-loco de contas de Azure Data Lake Storage Gen2 e do Armazenamento do Azure, dentro e entre organizações.

Os provedores de dados podem usar Compartilhamento de Dados do Microsoft Purview para compartilhar seus dados diretamente com outros usuários e parceiros (conhecidos como consumidores de dados) sem duplicação de dados, gerenciando centralmente suas atividades de compartilhamento de dentro do Microsoft Purview.

Para consumidores de dados, Compartilhamento de Dados do Microsoft Purview fornece acesso quase em tempo real aos dados compartilhados com eles por um provedor.

Os principais recursos fornecidos por Compartilhamento de Dados do Microsoft Purview incluem:

  • Compartilhe dados dentro da organização ou com parceiros e clientes fora da organização (dentro do mesmo locatário do Azure ou em diferentes locatários do Azure).
  • Compartilhe dados do ADLS Gen2 ou do armazenamento de blobs in-loco sem duplicação de dados.
  • Compartilhe dados com vários destinatários.
  • Acesse dados compartilhados quase em tempo real.
  • Gerencie as relações de compartilhamento e acompanhe com quem os dados são compartilhados/de cada conta do Armazenamento de Blobs ou ADLSGen2.
  • Encerre o acesso de compartilhamento a qualquer momento.
  • Experiência flexível por meio do portal de governança do Microsoft Purview ou com APIs REST.

Visite os recursos a seguir para saber mais sobre este produto.

Código-fonte | Pacote (NuGet) | Documentação do produto

Introdução

Instalar o pacote

Instale a biblioteca de clientes do Microsoft Purview Share para .NET com o NuGet:

dotnet add package Azure.Analytics.Purview.Sharing --prerelease

Pré-requisitos

Autenticar o cliente

Como usar o Azure Active Directory

Este exemplo demonstra o uso de DefaultAzureCredential para autenticar por meio do Azure Active Directory. No entanto, qualquer uma das credenciais oferecidas pelo Azure.Identity será aceita. Consulte a documentação do Azure.Identity para obter mais informações sobre outras credenciais.

Depois de escolher e configurar sua credencial, você poderá criar instâncias do SentSharesClient.

Principais conceitos

Provedor de dados: Um provedor de dados é o indivíduo que cria um compartilhamento selecionando uma fonte de dados, escolhendo quais arquivos e pastas compartilhar e com quem compartilhá-los. Em seguida, o Microsoft Purview envia um convite para cada consumidor de dados.

Consumidor de dados: Um consumidor de dados é o indivíduo que aceita o convite especificando uma conta de armazenamento de destino em sua própria assinatura do Azure que usará para acessar os dados compartilhados.

Métodos de protocolo

As operações expostas pela biblioteca de clientes do Purview Share para .NET usam métodos de protocolo para expor as operações REST subjacentes. Você pode saber mais sobre como usar clientes do SDK do Azure que usam métodos de protocolo em nossa documentação.

Acesso thread-safe

Garantimos que todos os métodos de instância do cliente sejam thread-safe e independentes uns dos outros (diretriz). Isso garante que a recomendação de reutilize instâncias de cliente seja sempre segura, mesmo entre threads.

Conceitos adicionais

Opções | do clienteAcessando a resposta | Operações de execução prolongada | Tratamento de falhas | Diagnostics | Zombando | Tempo de vida do cliente

##Examples

Exemplos de provedor de dados

Os exemplos de código a seguir demonstram como os provedores de dados podem usar o SDK java do Microsoft Azure para compartilhamento do Purview para gerenciar sua atividade de compartilhamento.

Criar um cliente de compartilhamento enviado

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var sentShareClient = new SentSharesClient(endPoint, credential);

Criar um compartilhamento enviado

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var sentShareClient = new SentSharesClient(endPoint, credential);

var data = new
{
    shareKind = "InPlace",
    properties = new
    {
        artifact = new
        {
            storeKind = "AdlsGen2Account",
            storeReference = new
            {
                referenceName = "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Storage/storageAccounts/sharerStorageAccount",
                type = "ArmResourceReference"
            },
            properties = new
            {
                paths = new[]
               {
                    new
                    {
                        containerName = "containerName",
                        senderPath = "senderPath",
                        receiverPath = "receiverPath"
                    }
                }
            }
        },
        displayName = "displayName",
        description = "description",
    }
};

Operation<BinaryData> createResponse = await sentShareClient.CreateOrReplaceSentShareAsync(WaitUntil.Completed, "sentShareId", RequestContent.Create(data));

Obter um compartilhamento enviado

Depois de criar um compartilhamento enviado, os provedores de dados podem recuperá-lo.

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var sentShareClient = new SentSharesClient(endPoint, credential);

Response response = await sentShareClient.GetSentShareAsync("sentShareId");

Listar compartilhamentos enviados

Os provedores de dados também podem recuperar uma lista dos compartilhamentos enviados que criaram.

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var sentShareClient = new SentSharesClient(endPoint, credential);

List<BinaryData> response = await sentShareClient.GetAllSentSharesAsync("referenceName").ToEnumerableAsync();

Criar um convite de compartilhamento para um usuário

Depois de criar um compartilhamento enviado, o provedor de dados pode estender convites para consumidores que podem exibir os dados compartilhados. Neste exemplo, um convite é estendido a um indivíduo especificando seu endereço de email.

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var sentShareClient = new SentSharesClient(endPoint, credential);

var data = new
{
    invitationKind = "User",
    properties = new
    {
        TargetEmail = "receiver@microsoft.com",
        Notify = true,
    }
};

Response response = await sentShareClient.CreateSentShareInvitationAsync("sentShareId", "sentShareInvitationId", RequestContent.Create(data));

Criar um convite de compartilhamento para um serviço

Os provedores de dados também podem estender convites para serviços ou aplicativos especificando a ID do locatário e a ID do objeto do serviço. A ID do objeto usada para enviar um convite a um serviço deve ser a ID do objeto associada ao Aplicativo Enterprise (não o registro do aplicativo).

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var sentShareClient = new SentSharesClient(endPoint, credential);

var data = new
{
    invitationKind = "Service",
    properties = new
    {
        TargetActiveDirectoryId = "targetActiveDirectoryId",
        TargetObjectId = "targetObjectId",
    }
};

Response response = await sentShareClient.CreateSentShareInvitationAsync("sentShareId", "sentShareInvitationId", RequestContent.Create(data));

Obter um convite de compartilhamento enviado

Depois de criar um convite de compartilhamento enviado, os provedores de dados podem recuperá-lo.

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var sentShareClient = new SentSharesClient(endPoint, credential);

Response response = await sentShareClient.GetSentShareInvitationAsync("sentShareId", "sentShareInvitationId");

Listar convites de compartilhamento enviados

Os provedores de dados também podem recuperar uma lista dos convites de compartilhamento enviados que eles criaram.

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var sentShareClient = new SentSharesClient(endPoint, credential);

List<BinaryData> sentShareInvitations = await sentShareClient.GetAllSentShareInvitationsAsync("sentShareId").ToEnumerableAsync();

Excluir um convite de compartilhamento enviado

Os provedores de dados também podem recuperar uma lista dos convites de compartilhamento enviados que eles criaram.

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var sentShareClient = new SentSharesClient(endPoint, credential);

Operation operation = await sentShareClient.DeleteSentShareInvitationAsync(WaitUntil.Completed, "sentShareId", "sentShareInvitationId");

Excluir um compartilhamento enviado

Um compartilhamento enviado pode ser excluído pelo provedor de dados para parar de compartilhar seus dados com todos os consumidores de dados.

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var sentShareClient = new SentSharesClient(endPoint, credential);

Operation operation = await sentShareClient.DeleteSentShareAsync(WaitUntil.Completed, "sentShareId");

Exemplos de consumidor de dados

Os exemplos de código a seguir demonstram como os consumidores de dados podem usar o SDK java do Microsoft Azure para compartilhamento do Purview para gerenciar suas atividades de compartilhamento.

Criar um cliente de compartilhamento de recebimento

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var receivedSharesClient = new ReceivedSharesClient(endPoint, credential);

Listar compartilhamentos recebidos desanexados

Para começar a exibir dados compartilhados com eles, um consumidor de dados deve primeiro recuperar uma lista de compartilhamentos recebidos desanexados. Nessa lista, eles podem identificar um compartilhamento recebido desanexado para anexar.

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var receivedSharesClient = new ReceivedSharesClient(endPoint, credential);

List<BinaryData> createResponse = await receivedSharesClient.GetAllDetachedReceivedSharesAsync().ToEnumerableAsync();

Anexar um compartilhamento recebido

Depois que o consumidor de dados identificar um compartilhamento recebido, ele poderá anexar o compartilhamento recebido a um local onde possa acessar os dados compartilhados. Se o compartilhamento recebido já estiver anexado, os dados compartilhados serão disponibilizados no novo local especificado.

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var receivedSharesClient = new ReceivedSharesClient(endPoint, credential);

var data = new
{
    shareKind = "InPlace",
    properties = new
    {
        sink = new
        {
            storeKind = "AdlsGen2Account",
            storeReference = new
            {
                referenceName = "/subscriptions/suscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Storage/storageAccounts/receiverStorageAccount",

                type = "ArmResourceReference"
            },
            properties = new
            {
                containerName = "containerName",
                folder = "folder",
                mountPath = "mountPath",
            }
        },
        displayName = "displayName",
    }
};

Operation<BinaryData> createResponse = await receivedSharesClient.CreateOrReplaceReceivedShareAsync(WaitUntil.Completed, "receivedShareId", RequestContent.Create(data));

Obter um compartilhamento recebido

Um consumidor de dados pode recuperar um compartilhamento recebido individual.

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var receivedSharesClient = new ReceivedSharesClient(endPoint, credential);

Response operation = await receivedSharesClient.GetReceivedShareAsync("receivedShareId");

Listar compartilhamentos recebidos anexados

Os consumidores de dados também podem recuperar uma lista de seus compartilhamentos recebidos anexados.

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var receivedSharesClient = new ReceivedSharesClient(endPoint, credential);

List<BinaryData> createResponse = await receivedSharesClient.GetAllAttachedReceivedSharesAsync("referenceName").ToEnumerableAsync();

Excluir um compartilhamento recebido

Os consumidores de dados também podem recuperar uma lista de seus compartilhamentos recebidos anexados.

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var receivedSharesClient = new ReceivedSharesClient(endPoint, credential);

Operation operation = await receivedSharesClient.DeleteReceivedShareAsync(WaitUntil.Completed, "receivedShareId");

Compartilhar exemplos de redirecionamento

Os exemplos de código a seguir demonstram como usar o SDK java do Microsoft Azure para compartilhamento do Purview para exibir recursos de compartilhamento. Um recurso de compartilhamento é o recurso subjacente do qual um provedor compartilha dados ou o destino em que um consumidor anexa dados compartilhados com eles.

Listar recursos de compartilhamento

Uma lista de recursos de compartilhamento pode ser recuperada para exibir todos os recursos em uma conta em que as atividades de compartilhamento ocorreram.

var credential = new DefaultAzureCredential();
var endPoint = new Uri("https://my-account-name.purview.azure.com/share");
var shareResourcesClient = new ShareResourcesClient(endPoint, credential);

List<BinaryData> createResponse = await shareResourcesClient.GetAllShareResourcesAsync().ToEnumerableAsync();

Solução de problemas

Configuração do registro em log do console

A maneira mais simples de ver os logs é habilitar o log do console. Para criar um ouvinte de log do SDK do Azure que gera mensagens para o console, use o método AzureEventSourceListener.CreateConsoleLogger.

// Setup a listener to monitor logged events.
using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger();

Para saber mais sobre outros mecanismos de registro em log, confira aqui.

Próximas etapas

Esse SDK do cliente expõe operações usando métodos de protocolo, você pode saber mais sobre como usar clientes SDK que usam métodos de protocolo em nossa documentação.

Participante

Consulte o CONTRIBUTING.md para obter detalhes sobre como criar, testar e contribuir para essa biblioteca.

Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite cla.microsoft.com.

Quando você envia uma solicitação de pull, um bot do CLA determina automaticamente se você precisa fornecer um CLA e preencher a PR corretamente (por exemplo, rótulo, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios que usam nosso CLA.

Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.

Impressões