Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo va a aprender a usar el SDK de Java para realizar la autenticación entre servicios con Azure Data Lake Storage Gen2. No se admite la autenticación de usuario final con Data Lake Storage Gen2 mediante el SDK de Java.
Prerrequisitos
Una suscripción de Azure. Consulte Obtención de una evaluación gratuita de Azure.
Cree una aplicación de Microsoft Entra ID "web". Debe haber completado los pasos descritos en Autenticación entre servicios con Data Lake Storage Gen2 mediante el identificador de Entra de Microsoft.
Maven. Este tutorial usa Maven para crear las dependencias de un proyecto. Aunque es posible generarlas sin utilizar un sistema como Maven o Gradle, estos sistemas facilitan mucho la administración de las dependencias.
(Opcional) Un IDE como IntelliJ IDEA o Eclipse o similar.
Autenticación entre servicios
Cree un proyecto de Maven mediante el arquetipo mvn desde la línea de comandos o mediante un IDE. Para obtener instrucciones sobre cómo crear un proyecto de Java mediante IntelliJ, consulte aquí. Para obtener instrucciones sobre cómo crear un proyecto mediante Eclipse, consulte aquí.
Agregue las siguientes dependencias al archivo pom.xml de Maven. Agregue el siguiente fragmento de código antes de la <etiqueta /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>La primera dependencia es el uso del SDK de Data Lake Storage Gen2 (
azure-storage-file-datalake) desde el repositorio de Maven. La segunda dependencia consiste en especificar la plataforma de registro (slf4j-nop) que se va a usar para esta aplicación. El SDK de Data Lake Storage Gen2 usa la fachada de registro de slf4j, que le permite elegir entre una serie de frameworks de registro populares, como log4j, Java logging, logback o ningún registro. En este ejemplo, se deshabilita el registro, por lo que se usa la vinculación slf4j-nop. Para usar otras opciones de registro en la aplicación, consulte Declaración de dependencias del proyecto para el registro.Agregue las siguientes instrucciones de importación a la aplicación.
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 el siguiente fragmento de código de la aplicación de Java para obtener un token para la aplicación web de Active Directory que se ha creado anteriormente con una de las clases de
StorageSharedKeyCredential(el siguiente ejemplo usacredential). El proveedor de tokens almacena en caché las credenciales que se usan para obtener el token en memoria, y renueva el token de forma automática si está a punto de expirar. Puede crear sus propias subclases deStorageSharedKeyCredentialpara que los tokens se obtengan mediante su código de cliente. Por ahora vamos a usar simplemente el que se proporciona en el SDK.Reemplaza FILL-IN-HERE por los valores reales de la aplicación web de 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();
El SDK de Data Lake Storage Gen2 proporciona métodos útiles que permiten administrar los tokens de seguridad necesarios para comunicarse con la cuenta de Data Lake Storage Gen2. Pero el SDK no obliga a que se usen solo estos métodos. También puede usar cualquier otro medio para obtener el token, como el uso de la biblioteca cliente de Azure Identity o su propio código personalizado.
Pasos siguientes
En este artículo ha aprendido a usar la autenticación de usuario final para autenticarse en Data Lake Storage Gen2 mediante el SDK de Java. Ahora puede ver los siguientes artículos, que tratan sobre cómo usar el SDK de Java para trabajar con Data Lake Storage Gen2.