Szolgáltatásközi hitelesítés Azure Data Lake Storage Gen2 Java használatával
Ebből a cikkből megtudhatja, hogyan használhatja a Java SDK-t szolgáltatásközi hitelesítésre Azure Data Lake Storage Gen2. A Java SDK-t használó Data Lake Storage Gen2 végfelhasználói hitelesítés nem támogatott.
Előfeltételek
Azure-előfizetés. Lásd: Ingyenes Azure-fiók létrehozása.
Hozzon létre egy Microsoft Entra ID "Web" alkalmazást. A szolgáltatásközi hitelesítés lépéseit a Data Lake Storage Gen2 Microsoft Entra ID használatával kell elvégeznie.
Maven. Ez az oktatóanyag a Mavent használja a build- és projektfüggőségek kezeléséhez. Bár buildelési rendszer (például Maven vagy Gradle) használata nélkül is létrehozható, ezek a rendszerek sokkal egyszerűbbé teszik a függőségek kezelését.
(Nem kötelező) Ide, például IntelliJ IDEA vagy Eclipse vagy hasonló.
Szolgáltatások közötti hitelesítés
Hozzon létre egy Maven-projektet az mvn archetype használatával parancssorból vagy egy IDE használatával. A Java-projektek IntelliJ használatával való létrehozási útmutatójáért kattintson ide. A projektek Eclipse használatával való létrehozási útmutatójáért kattintson ide.
Illessze be a következő függőségeket a Maven pom.xml nevű fájljába. Adja hozzá a következő kódrészletet a </project> címke elé:
<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>
Az első függőség a Maven-adattárból származó Data Lake Storage Gen2 SDK (
azure-storage-file-datalake
) használata. A második függőség az alkalmazáshoz használni kívánt naplózási keretrendszer (slf4j-nop
) megadása. A Data Lake Storage Gen2 SDK az slf4j naplózási homlokzatot használja, amellyel számos népszerű naplózási keretrendszer közül választhat, például a log4j, a Java naplózás, a logback vagy a nincs naplózás közül. Ebben a példában kikapcsoljuk a naplózást, mivel az slf4j-nop kötést eszközt használjuk. Ha más naplózási lehetőségeket szeretne használni az alkalmazásban, olvassa el a Projektfüggőségek naplózáshoz való deklarálása című témakört.Adja hozzá az alábbi importálási utasításokat az alkalmazáshoz.
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;
A Java-alkalmazásban az alábbi kódrészlet használatával szerezzen be egy jogkivonatot a korábban létrehozott Active Directory-webalkalmazáshoz az egyik osztály
StorageSharedKeyCredential
használatával (az alábbi példa a következőt használjacredential
). A jogkivonat-szolgáltató gyorsítótárazza a jogkivonat memóriában való beszerzéséhez használt hitelesítő adatokat, és automatikusan megújítja a jogkivonatot, ha hamarosan lejár. Létrehozhat saját alosztályokatStorageSharedKeyCredential
, így a jogkivonatokat az ügyfélkódja szerezheti be. Egyelőre csak az SDK-ban megadottat használjuk.Cserélje le a FILL-IN-HERE értéket a Microsoft Entra webalkalmazás tényleges értékeire.
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();
A Data Lake Storage Gen2 SDK kényelmes módszereket biztosít, amelyekkel kezelheti a Data Lake Storage Gen2-fiókkal való beszélgetéshez szükséges biztonsági jogkivonatokat. Az SDK azonban nem írja elő, hogy csak ezeket a módszereket használja. A jogkivonatok beszerzésének bármely más módját is használhatja, például az Azure Identity ügyfélkódtárát vagy a saját egyéni kódját.
Következő lépések
Ebből a cikkből megtudhatja, hogyan használhatja a végfelhasználói hitelesítést Data Lake Storage Gen2 a Java SDK használatával történő hitelesítéshez. Az alábbi cikkekből megtudhatja, hogyan használhatja a Java SDK-t Data Lake Storage Gen2.