Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Neste artigo, você aprenderá sobre como usar o Java SDK para fazer autenticação de serviço a serviço com o Azure Data Lake Storage Gen2. A autenticação do usuário final com o Data Lake Storage Gen2 usando o Java SDK não é suportada.
Pré-requisitos
Uma assinatura do Azure. Veja Obter versão de avaliação gratuita do Azure.
Crie uma aplicação "Web" do Microsoft Entra ID. Você deve ter concluído as etapas em Autenticação de serviço a serviço com o Data Lake Storage Gen2 usando Microsoft Entra ID.
Maven. Este tutorial utiliza o Maven para dependências de compilação e do projeto. Embora seja possível construir sem usar um sistema de compilação como Maven ou Gradle, esses sistemas facilitam muito o gerenciamento de dependências.
(Opcional) Um IDE como IntelliJ IDEA ou Eclipse ou similar.
Autenticação entre serviços
Crie um projeto Maven com o arquétipo mvn a partir da linha de comandos ou com um IDE. Para obter instruções sobre como criar um projeto Java com IntelliJ, veja aqui. Para obter instruções sobre como criar um projeto com Eclipse, clique aqui.
Adicione as seguintes dependências ao ficheiro pom.xml do Maven. Adicione o seguinte trecho antes da <tag /project> :
<dependencies> <dependency> <groupId>com.azure</groupId> <artifactId>azure-storage-file-datalake</artifactId> <version>12.6.0</version> </dependency> <dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> <version>1.3.3</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-nop</artifactId> <version>1.7.21</version> </dependency> </dependencies>A primeira dependência é usar o SDK do Data Lake Storage Gen2 (
azure-storage-file-datalake) do repositório Maven. A segunda dependência é especificar a estrutura de log (slf4j-nop) a ser usada para este aplicativo. O SDK do Data Lake Storage Gen2 usa a fachada de registo slf4j, que permite escolher entre várias estruturas de registo populares, como log4j, registo Java, logback ou nenhum registo. Neste exemplo, vamos desativar o registo e, por conseguinte, utilizar a ligação slf4j-nop. Para utilizar outras opções de registo na sua aplicação, consulte Declaração de dependências do projeto para registo.Adicione as seguintes declarações de importação à aplicação.
import com.azure.identity.ClientSecretCredential; import com.azure.identity.ClientSecretCredentialBuilder; import com.azure.storage.file.datalake.DataLakeDirectoryClient; import com.azure.storage.file.datalake.DataLakeFileClient; import com.azure.storage.file.datalake.DataLakeServiceClient; import com.azure.storage.file.datalake.DataLakeServiceClientBuilder; import com.azure.storage.file.datalake.DataLakeFileSystemClient; import com.azure.storage.file.datalake.models.ListPathsOptions; import com.azure.storage.file.datalake.models.PathAccessControl; import com.azure.storage.file.datalake.models.PathPermissions;Use o trecho a seguir em seu aplicativo Java para obter um token para o aplicativo Web do Ative Directory criado anteriormente usando uma das classes de
StorageSharedKeyCredential(o exemplo a seguir usacredential). O provedor de token armazena em cache as credenciais usadas para obter o token na memória e renova automaticamente o token se ele estiver prestes a expirar. É possível criar as suas próprias subclasses de `StorageSharedKeyCredential` para que os tokens sejam obtidos pelo código do cliente. Por enquanto, vamos usar apenas o fornecido no SDK.Substitua FILL-IN-HERE pelos valores reais do aplicativo Web Microsoft Entra.
private static String clientId = "FILL-IN-HERE"; private static String tenantId = "FILL-IN-HERE"; private static String clientSecret = "FILL-IN-HERE"; ClientSecretCredential credential = new ClientSecretCredentialBuilder().clientId(clientId).tenantId(tenantId).clientSecret(clientSecret).build();
O SDK do Data Lake Storage Gen2 fornece métodos convenientes que permitem gerenciar os tokens de segurança necessários para falar com a conta do Data Lake Storage Gen2. No entanto, o SDK não exige que apenas esses métodos sejam usados. Você também pode usar qualquer outro meio de obter token, como usar a biblioteca de cliente do Azure Identity ou seu próprio código personalizado.
Próximos passos
Neste artigo, você aprendeu como usar a autenticação do usuário final para autenticar com o Data Lake Storage Gen2 usando o Java SDK. Agora você pode ver os seguintes artigos que falam sobre como usar o Java SDK para trabalhar com o Data Lake Storage Gen2.