Comment ajouter des connexions à votre fichier de résolutions

Pour migrer vos pipelines Azure Data Factory (ADF) vers Microsoft Fabric, vous pouvez utiliser l’outil FabricUpgrader basé sur PowerShell. L’outil automatise la majeure partie de la migration, mais utilise un fichier JSON appelé fichier de résolution pour effectuer les mappages entre les services liés Azure Data Factory et les connexions Microsoft Fabric.

Cet article est un guide pour la création et la résolution des problèmes liés à votre fichier de résolutions et couvre les sujets suivants :

Fichier de résolution de base

La structure de base du fichier de résolution est la suivante :

[
  {
    "type": "LinkedServiceToConnectionId",
    "key": "<ADF LinkedService Name>",
    "value": "<Fabric Connection ID>"
  }
]

Par exemple, si vous avez deux services liés ADF nommés MyAzureBlobStorage et MySQLServer que vous souhaitez mapper aux connexions Fabric, votre fichier ressemblerait à ceci :

[
  {
    "type": "LinkedServiceToConnectionId",
    "key": "MyAzureBlobStorage",
    "value": "aaaa0000-bb11-2222-33cc-444444dddddd"
  },
  {
    "type": "LinkedServiceToConnectionId",
    "key": "MySQLServer",
    "value": "bbbb1111-cc22-3333-44dd-555555eeeeee"
  }
]

Créez votre fichier Resolutions.json à l’aide de cette structure et enregistrez-le quelque part sur votre ordinateur afin que PowerShell puisse y accéder.

Types de résolution

Il existe trois type entrées que vous pouvez utiliser dans vos entrées de résolution, en fonction de vos pipelines et connexions :

  • LinkedServiceToConnectionId : mappage le plus courant utilisé pour mapper un LinkedService ADF à une connexion Fabric. Suivez les étapes décrites dans Obtenir le GUID de votre connexion pour créer le mappage.
    • La key valeur de ce type est le nom de votre service lié Azure Data Factory.
  • CredentialConnectionId : utilisé pour les activités ADF ExecutePipeline qui appellent d’autres pipelines. Suivez notre guide pour les entrées CredentialConnectionId afin de créer les identifiants nécessaires pour ajouter ces activités.
    • La key valeur de ce type est « utilisateur ».
  • UrlHostToConnectionId : utilisé pour les activités web et WebHook dans ADF. Suivez notre guide pour les entrées UrlHostToConnectionId pour créer la connexion correcte et mettre à jour votre entrée de résolution.
    • La key valeur de ce type est le nom d’hôte de votre connexion.

Obtenir le GUID de votre connexion

Pour obtenir le GUID de votre connexion Fabric à ajouter dans votre entrée LinkedServiceToConnectionId :

  1. Ouvrez votre espace de travail Data Factory dans Fabric.

  2. Sélectionnez l’icône d’engrenage dans le coin supérieur droit, puis sélectionnez Gérer les connexions et les passerelles.

    Capture d’écran du lien Gérer les connexions et les passerelles sous le menu Paramètres.

  3. Si la connexion n’existe pas encore dans Fabric, créez-en une.

    Capture d’écran de l’ajout d’une nouvelle connexion cloud.

    Conseil / Astuce

    Pour une défaillance, utilisez connectionHint à partir de l’alerte pour choisir le type de connexion et la source de données appropriés.

  4. Si vous disposez déjà d’une connexion ou une fois votre connexion créée, pointez sur le bouton de sélection en regard du nom de connexion pour afficher le menu.

  5. Sélectionnez Paramètres dans le menu contextuel.

    Capture d’écran des paramètres de connexion.

  6. Dans le volet paramètres, copiez l’ID de connexion.

    Capture d’écran montrant comment obtenir l’ID de connexion Fabric.

  7. Mettez à jour ce modèle d’entrée de résolution avec le nom de votre service lié Azure Data Factory et l’ID de connexion que vous avez copié :

    {
        "type": "LinkedServiceToConnectionId",
        "key": "<ADF LinkedService Name>",
        "value": "<Fabric Connection ID>"
    }
    

    Conseil / Astuce

    Une alerte d’échec de résolution inclut un modèle que vous pouvez copier et modifier. Consultez un exemple d’alerte d’échec de résolution et comment l’utiliser pour plus d’informations.

  8. Ajoutez l’objet à Resolutions.json. Par exemple:

    [
       ...,
       {
          "type": "LinkedServiceToConnectionId",
          "key": "mysqlls",
          "value": "aaaa0000-bb11-2222-33cc-444444dddddd"
       }
    ]
    

Entrées CredentialConnectionId

Si vous envisagez de mettre à niveau une activité ExecutePipeline ADF, ajoutez un CredentialConnectionId à vos Résolutions.

  1. Dans votre espace de travail Fabric, sélectionnez l’icône d’engrenage dans le coin supérieur droit, puis sélectionnez Gérer les connexions et les passerelles.

    Capture d’écran du lien Gérer les connexions et les passerelles sous le menu Paramètres.

  2. Accédez à l’onglet Connexions et sélectionnez + Nouveau en haut de l’écran :

    Capture d’écran de l’ajout d’une nouvelle connexion.

  3. Dans le volet Nouvelle connexion :

    • Entrez un nom descriptif pour la connexion.
    • Choisissez pipelines Fabric comme type de connexion.
    • Sélectionnez OAuth 2.0 comme méthode d’authentification.

    Capture d’écran de la copie de l’ID de connexion des informations d’identification.

  4. Sélectionner Modifier les informations d’identification

  5. Lorsque la fenêtre du navigateur s’ouvre, sélectionnez votre compte.

  6. Dans le volet Nouvelle connexion , sélectionnez Créer.

    Capture d’écran de l’ajout d’une nouvelle connexion d'identifiants.

  7. Dans le volet Paramètres, copiez l’ID de connexion.

    Capture d’écran de l’obtention de l’ID de connexion à utiliser dans le fichier de résolution.

  8. Ajoutez cet objet à Resolutions.json, en remplaçant la valeur par le GUID que vous avez copié :

    {
      "type": "CredentialConnectionId",
      "key": "user",
      "value": "<GUID of your Credential Connection>"
    }
    

    Par exemple:

    [
       ...,
       {
          "type": "CredentialConnectionId",
          "key": "user",
          "value": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
       }
    ]
    

Entrées UrlHostToConnectionId

Dans les activités Azure Data Factory, Web et WebHook incluent l’URL complète. Fabric fonctionne différemment : Fabric utilise une connexion plus une URL relative. Actuellement, le programme de mise à niveau ne remplace que le nom d’hôte par un ID de connexion. Par exemple : connexion à https://contoso.com et URL relative /admin/organize. Nous ajoutons l’entrée au fichier de résolutions afin que les connexions soient correctement mappées pendant la migration.

  1. Sélectionnez l’icône d’engrenage dans le coin supérieur droit, puis sélectionnez Gérer les connexions et les passerelles.

    Capture d’écran du lien Gérer les connexions et les passerelles mis en surbrillance dans le menu Paramètres.

  2. Accédez à l’onglet Connexions et sélectionnez + Nouveau.

    Capture d’écran de l’ajout d’une nouvelle connexion.

  3. Dans le volet Nouvelle connexion :

    • Entrez un nom descriptif pour la connexion.
    • Choisissez Web v2 comme type de connexion.
    • Renseignez le nom d’hôte et l’autorisation.
    • Cliquez sur Créer.
  4. Dans le volet paramètres, copiez l’ID de connexion.

  5. Ajoutez cet objet à Resolutions.json, en remplaçant la valeur par le GUID que vous avez copié :

    {
      "type": "UrlHostToConnectionId",
      "key": "<Hostname from your Web or WebHook activity>",
      "value": "<GUID of your Credential Connection>"
    }
    

    Par exemple, si votre connexion est https://www.example.com:443/:

    [
       ...,
       {
          "type": "UrlHostToConnectionId",
          "key": "https://www.example.com",
          "value": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
       }
    ]
    

Exemple d’alerte et comment l’utiliser

Lors de l’exécution de votre migration, s’il existe un problème avec la migration, une alerte peut vous demander d’ajouter une résolution. Cette alerte vous indique également le type de connexion à créer et vous donne un modèle pour la résolution à ajouter. Par exemple:

 {
    "state": "Failed",
    "alerts": [
      {
        "severity": "RequiresUserAction",
        "details": "Please use the hint and template to create/find a new connection and add its ID to your resolutions.",
        "connectionHint": {
          "linkedServiceName": "mysqlls",
          "connectionType": "AzureSqlDatabase",
          "datasource": "my-sql-server.database.windows.net",
          "template": {
            "type": "LinkedServiceToConnectionId",
            "key": "mysqlls",
            "value": "<Fabric Connection ID>"
          }
        }
      }
    ],
    "resolutions": [],
    "result": {}
  }

Que faire avec cette alerte :

  1. Créez ou recherchez une connexion fabric de type AzureSqlDatabase qui pointe vers la source de données affichée (par exemple, my-sql-server.database.windows.net).

  2. Copiez l’ID de cette connexion.

  3. Depuis l’alerte, trouvez l’entrée template de votre JSON. Par exemple:

          "template": {
            "type": "LinkedServiceToConnectionId",
            "key": "mysqlls",
            "value": "<Fabric Connection ID>"
          }
    
  4. Ajoutez un objet Resolution à Resolutions.json à l’aide du modèle, en remplaçant <Fabric Connection ID> par le GUID réel.

    [
       ...,
       {
          "type": "LinkedServiceToConnectionId",
          "key": "mysqlls",
          "value": "aaaa0000-bb11-2222-33cc-444444dddddd"
       }
    ]