Share via


Bibliothèque de client Azure Resource Manager DataFactory pour Java - version 1.0.0-beta.23

Bibliothèque de client Azure Resource Manager DataFactory pour Java.

Ce package contient le Kit de développement logiciel (SDK) Microsoft Azure pour le Kit de développement logiciel (SDK) DataFactory Management. L’API de gestion Azure Data Factory V2 fournit un ensemble RESTful de services web qui interagissent avec Azure Data Factory services V2. Balise de package package package-2018-06. Pour obtenir de la documentation sur l’utilisation de ce package, consultez Bibliothèques de gestion Azure pour Java.

Nous aimerions entendre vos commentaires

Nous travaillons toujours à l’amélioration de nos produits et de la façon dont nous communiquons avec nos utilisateurs. Nous aimerions donc apprendre ce qui fonctionne et comment nous pouvons faire mieux.

Si ce n’est déjà fait, prenez quelques minutes pour remplir cette courte enquête que nous avons réalisée.

Merci d’avance pour votre collaboration. Nous apprécions vraiment votre temps !

Documentation

Diverses documentations sont disponibles pour vous aider à démarrer

Prise en main

Prérequis

Ajout du package à votre produit

<dependency>
    <groupId>com.azure.resourcemanager</groupId>
    <artifactId>azure-resourcemanager-datafactory</artifactId>
    <version>1.0.0-beta.23</version>
</dependency>

Les bibliothèques de gestion Azure nécessitent une TokenCredential implémentation pour l’authentification et une HttpClient implémentation pour le client HTTP.

Les packages HTTP Azure Identity et Netty Azure Core fournissent l’implémentation par défaut.

Authentification

Par défaut, l’authentification par jeton Azure Active Directory dépend de la configuration correcte des variables d’environnement suivantes.

  • AZURE_CLIENT_ID pour l’ID client Azure.
  • AZURE_TENANT_ID pour l’ID de locataire Azure.
  • AZURE_CLIENT_SECRET ou AZURE_CLIENT_CERTIFICATE_PATH pour la clé secrète client ou le certificat client.

En outre, l’ID d’abonnement Azure peut être configuré via AZURE_SUBSCRIPTION_ID une variable d’environnement.

Avec la configuration ci-dessus, azure le client peut être authentifié à l’aide du code suivant :

AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
TokenCredential credential = new DefaultAzureCredentialBuilder()
    .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
    .build();
DataFactoryManager manager = DataFactoryManager
    .authenticate(credential, profile);

L’exemple de code suppose qu’Azure est global. AzureEnvironment.AZURE Modifiez la variable dans le cas contraire.

Pour plus d’options , consultez Authentification.

Concepts clés

Consultez Conception d’API pour une présentation générale de la conception et des concepts clés sur les bibliothèques de gestion Azure.

Exemples

// storage account
StorageAccount storageAccount = storageManager.storageAccounts().define(STORAGE_ACCOUNT)
    .withRegion(REGION)
    .withExistingResourceGroup(resourceGroup)
    .create();
final String storageAccountKey = storageAccount.getKeys().iterator().next().value();
final String connectionString = getStorageConnectionString(STORAGE_ACCOUNT, storageAccountKey, storageManager.environment());

// container
final String containerName = "adf";
storageManager.blobContainers().defineContainer(containerName)
    .withExistingStorageAccount(resourceGroup, STORAGE_ACCOUNT)
    .withPublicAccess(PublicAccess.NONE)
    .create();

// blob as input
BlobClient blobClient = new BlobClientBuilder()
    .connectionString(connectionString)
    .containerName(containerName)
    .blobName("input/data.txt")
    .buildClient();
blobClient.upload(BinaryData.fromString("data"));

// data factory
Factory dataFactory = manager.factories().define(DATA_FACTORY)
    .withRegion(REGION)
    .withExistingResourceGroup(resourceGroup)
    .create();

// linked service
final Map<String, String> connectionStringProperty = new HashMap<>();
connectionStringProperty.put("type", "SecureString");
connectionStringProperty.put("value", connectionString);

final String linkedServiceName = "LinkedService";
manager.linkedServices().define(linkedServiceName)
    .withExistingFactory(resourceGroup, DATA_FACTORY)
    .withProperties(new AzureStorageLinkedService()
        .withConnectionString(connectionStringProperty))
    .create();

// input dataset
final String inputDatasetName = "InputDataset";
manager.datasets().define(inputDatasetName)
    .withExistingFactory(resourceGroup, DATA_FACTORY)
    .withProperties(new AzureBlobDataset()
        .withLinkedServiceName(new LinkedServiceReference().withReferenceName(linkedServiceName))
        .withFolderPath(containerName)
        .withFileName("input/data.txt")
        .withFormat(new TextFormat()))
    .create();

// output dataset
final String outputDatasetName = "OutputDataset";
manager.datasets().define(outputDatasetName)
    .withExistingFactory(resourceGroup, DATA_FACTORY)
    .withProperties(new AzureBlobDataset()
        .withLinkedServiceName(new LinkedServiceReference().withReferenceName(linkedServiceName))
        .withFolderPath(containerName)
        .withFileName("output/data.txt")
        .withFormat(new TextFormat()))
    .create();

// pipeline
PipelineResource pipeline = manager.pipelines().define("CopyBlobPipeline")
    .withExistingFactory(resourceGroup, DATA_FACTORY)
    .withActivities(Collections.singletonList(new CopyActivity()
        .withName("CopyBlob")
        .withSource(new BlobSource())
        .withSink(new BlobSink())
        .withInputs(Collections.singletonList(new DatasetReference().withReferenceName(inputDatasetName)))
        .withOutputs(Collections.singletonList(new DatasetReference().withReferenceName(outputDatasetName)))))
    .create();

// run pipeline
CreateRunResponse createRun = pipeline.createRun();

// wait for completion
PipelineRun pipelineRun = manager.pipelineRuns().get(resourceGroup, DATA_FACTORY, createRun.runId());
String runStatus = pipelineRun.status();
while ("InProgress".equals(runStatus)) {
    sleepIfRunningAgainstService(10 * 1000);    // wait 10 seconds
    pipelineRun = manager.pipelineRuns().get(resourceGroup, DATA_FACTORY, createRun.runId());
    runStatus = pipelineRun.status();
}

Extraits de code et exemples

Dépannage

Étapes suivantes

Contribution

Pour plus d’informations sur la contribution à ce dépôt, consultez le guide de contribution.

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, visitez https://cla.microsoft.com.

Quand vous envoyez une demande de tirage (pull request), un bot CLA détermine automatiquement si vous devez fournir un contrat CLA et agrémenter la demande de tirage de façon appropriée (par exemple, avec une étiquette ou un commentaire). Suivez simplement les instructions fournies par le bot. Vous n’aurez besoin de le faire qu’une seule fois sur tous les dépôts à l’aide de notre CLA.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.

Impressions