Bagikan melalui


Tutorial: Meningkatkan alur Azure Data Factory Anda ke alur Fabric menggunakan PowerShell

Tip

Untuk sebagian besar migrasi, kami merekomendasikan pengalaman peningkatan bawaan, yang menyediakan jalur migrasi terpandu tanpa kode langsung dalam pengalaman pengguna (UX) Azure Data Factory. Gunakan pendekatan PowerShell dalam tutorial ini untuk skenario berbasis skrip, massal, atau CI/CD.

Anda dapat memigrasikan alur Azure Data Factory (ADF) Anda ke Microsoft Fabric menggunakan Microsoft. Modul FabricPipelineUpgrade PowerShell. Tutorial ini memberikan contoh semua langkah untuk melakukan migrasi dengan instruksi, cuplikan layar, dan langkah-langkah pemecahan masalah tertentu. Untuk panduan ringkas yang lebih umum, lihat gambaran umum.

Prasyarat

Untuk memulai, pastikan Anda memiliki prasyarat berikut:

Siapkan diri untuk meningkatkan

Sebelum Anda mulai meningkatkan alur, verifikasi lingkungan Anda memiliki alat dan modul yang diperlukan:

Menginstal PowerShell 7.4.2 (x64) atau yang lebih baru

Anda memerlukan PowerShell 7.4.2 atau yang lebih baru di komputer Anda.

Unduh PowerShell

Menginstal dan mengimpor modul FabricPipelineUpgrade

  1. Buka PowerShell 7 (x64).

  2. Pilih menu Mulai, cari PowerShell 7, buka menu konteks aplikasi, dan pilih Jalankan sebagai administrator.

    Cuplikan layar ikon PowerShell.

  3. Di jendela PowerShell yang ditingkatkan, instal modul dari PowerShell Gallery:

    Install-Module Microsoft.FabricPipelineUpgrade -Repository PSGallery -SkipPublisherCheck
    
  4. Impor modul ke sesi Anda:

    Import-Module Microsoft.FabricPipelineUpgrade
    
  5. Jika Anda melihat kesalahan kebijakan penandatanganan atau eksekusi, jalankan perintah ini lalu impor modul lagi:

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
    

Memverifikasi penginstalan Anda

Jalankan perintah ini untuk mengonfirmasi modul yang dimuat dengan benar:

Get-Command -Module Microsoft.FabricPipelineUpgrade

Cuplikan layar output perintah modul.

Biarkan jendela PowerShell Anda terbuka; Anda akan menggunakannya untuk peningkatan.

Peningkatan pertama Anda

Kami akan membuat jalur proses contoh dan meng-upgrade-nya ke Fabric sebagai panduan langkah demi langkah.

Membuat Alur ADF sederhana

Di Azure Data Factory Studio, buat alur dan tambahkan aktivitas Wait. Anda dapat menamainya apa pun, tetapi tutorial ini menggunakan pipeline1.

Menyiapkan lingkungan PowerShell Anda

  1. Di jendela PowerShell Anda, ganti nilai untuk <your subscription ID> dan jalankan perintah ini di PowerShell untuk masuk dan mengatur langganan Anda:

    Add-AzAccount 
    Select-AzSubscription -SubscriptionId <your subscription ID>
    
  2. Jalankan perintah ini untuk menyimpan token ADF aman untuk sesi Anda:

    $adfSecureToken = (Get-AzAccessToken -ResourceUrl "https://management.azure.com/").Token
    
  3. Di jendela PowerShell, ganti nilai untuk <your subscription ID>, , <your Resource Group Name>dan <your Factory Name>, dan jalankan:

    Import-AdfFactory -SubscriptionId <your subscription ID> -ResourceGroupName <your Resource Group Name> -FactoryName <your Factory Name> -PipelineName "pipeline1" -AdfToken $adfSecureToken
    

    Tip

    Untuk Data Factories dengan beberapa alur, Anda dapat mengimpor semua alur sekaligus dengan meninggalkan -PipelineName parameter .

Perintah ini memuat alur dan artefak terkait dari Azure Data Factory Anda dan membuat JSON untuk "Kemajuan Peningkatan" pertama.

{
  "state": "Succeeded",
  "alerts": [],
  "result": {
    "importedResources": {
      "type": "AdfSupportFile",
      "adfName": "testdatafactory",
      "pipelines": {
        "pipeline1": {
          "name": "pipeline1",
          "type": "Microsoft.DataFactory/factories/pipelines",
          "properties": {
            "activities": [
              {
                "name": "Wait1",
                "type": "Wait",
                "dependsOn": [],
                "userProperties": [],
                "typeProperties": {
                  "waitTimeInSeconds": 1
                }
              }
            ],
            "policy": {
              "elapsedTimeMetric": {}
            },
            "annotations": [],
            "lastPublishTime": "2025-09-09T02:46:36Z"
          },
          "etag": "aaaaaaaa-bbbb-cccc-1111-222222222222"
        }
      },
      "datasets": {},
      "linkedServices": {},
      "triggers": {}
    }
  },
  "resolutions": []
}

Apa arti bidang ini

  • status: Menampilkan status. Jika tertulis Berhasil, maka semua sudah beres.
  • pemberitahuan: Mencantumkan masalah atau info tambahan apa pun.
  • hasil: Menunjukkan hasilnya. Di sini, importedResources mencantumkan artefak ADF.
  • resolutions: Digunakan untuk memetakan Layanan Tertaut ADF ke Fabric Connections (bagian selanjutnya).

Mengonversi Alur ADF Anda menjadi Alur Fabric

  1. Di jendela PowerShell Anda, ambil perintah Import-AdfFactory yang baru saja Anda jalankan, dan tambahkan | lalu perintah ConvertTo-FabricResources ke akhir baris.

    Perintah lengkap Anda akan terlihat seperti ini:

    Import-AdfFactory -SubscriptionId <your subscription ID> -ResourceGroupName <your Resource Group Name> -FactoryName <your Factory Name> -PipelineName  "pipeline1" -AdfToken $adfSecureToken | ConvertTo-FabricResources
    
  2. Jalankan perintah . Anda akan melihat respons seperti ini:

    {
      "state": "Succeeded",
      "alerts": [],
      "result": {
        "exportableFabricResources": [
          {
            "resourceType": "DataPipeline",
            "resourceName": "pipeline1",
            "resolve": [],
            "export": {
              "name": "pipeline1",
              "properties": {
                "activities": [
                  {
                    "name": "Wait1",
                    "type": "Wait",
                    "dependsOn": [],
                    "userProperties": [],
                    "description": null,
                    "typeProperties": {
                      "waitTimeInSeconds": 1
                    }
                  }
                ]
              },
              "annotations": []
            }
          }
        ]
      },
      "resolutions": []
    }
    

Anda masih akan melihat Progres Peningkatan standar, namun sekarang bidang hasil menyertakan exportableFabricResources (sumber daya fabric yang dapat diekspor). Itu diharapkan; Anda sedang menyiapkan sumber daya Fabric untuk diekspor.

Anda akan mempelajari area resolusi lebih lanjut nanti. Untuk saat ini, bidang ekspor memperlihatkan pipeline Fabric dengan aktivitas Wait.

Jika Anda berhenti di sini, perintah ini berfungsi seperti 'Seandainya': menunjukkan apa yang akan dibuat oleh pemutakhiran, dan merupakan cara yang baik untuk memeriksa pemutakhiran sebelum membuat perubahan apa pun.

Mengumpulkan informasi dari ruang kerja Fabric Anda

Sebelum mengekspor alur kerja Fabric, Anda memerlukan beberapa detail-detail dari ruang kerja Fabric Anda. Buka file teks kosong untuk menyalin nilai yang anda perlukan nanti.

  1. Buka Microsoft Fabric UX dan navigasikan ke Ruang Kerja Data Factory Anda.

  2. Temukan ID Ruang Kerja Anda dan salin ke file teks Anda.

  3. Jalankan perintah PowerShell ini untuk mendapatkan Token Akses Fabric Anda dan menyimpannya untuk sesi Anda:

    $fabricSecureToken = (Get-AzAccessToken -ResourceUrl "https://analysis.windows.net/powerbi/api").Token
    

    Tip

    Token akses kedaluwarsa setelah sekitar satu jam. Ketika itu terjadi, jalankan perintah lagi. Anda akan mengetahui token kedaluwarsa jika Export-FabricResources mengembalikan kesalahan kedaluwarsa token.

Mengekspor Alur Fabric

  1. Gabungkan semua detail yang Anda kumpulkan ke dalam perintah ini:

    Import-AdfFactory -SubscriptionId <your Subscription ID> -ResourceGroupName <your Resource Group Name> -FactoryName <your Data Factory Name> -PipelineName  "pipeline1" -AdfToken $adfSecureToken | ConvertTo-FabricResources | Export-FabricResources -Region <region> -Workspace <workspaceId> -Token $fabricSecureToken
    
  2. Sekarang, salin perintah Anda dari dokumen teks ke jendela PowerShell Anda, dan jalankan perintah .

    Anda akan melihat respons seperti ini:

    {
        "state": "Succeeded",
        "alerts": [],
        "result": {
          "exportedFabricResources": {
            "pipeline1": {
              "type": "DataPipeline",
              "workspaceId": "<your Workspace ID>",
              "id": "<The GUID of your new Pipeline>,
              "displayName": "pipeline1",
              "description": null
            }
          }
        }
      }
    

Ini berarti berhasil! Bagian exportedFabricResources menampilkan pipeline baru Anda dan ID-nya. Sekarang, buka ruang kerja Fabric Anda di Fabric UX. Segarkan halaman, dan Anda akan melihat pipeline1 dalam daftar. Buka dan Anda akan menemukan apa yang Anda harapkan!

Upgrade kedua Anda: Salin sebagian data

Peningkatan kedua ini mirip dengan yang pertama, tetapi memperkenalkan beberapa konsep baru:

  • Himpunan data dan Layanan Terkait
  • Resolusi

Fabric Pipeline Upgrader saat ini hanya mendukung himpunan data yang terbatas, jadi kami akan menggunakan koneksi Azure Blob Storage dan himpunan data JSON. Ayo kita menyelam.

  1. Di ADF Studio, buat pipeline yang menyalin file JSON dari satu folder di Azure Blob Storage Anda ke folder lainnya. Kami akan menyebut alur ini "pipeline2" dan koneksi Azure Blob Storage "BlobStore1", tetapi sekali lagi, Anda dapat menggunakan nama apa pun yang Anda suka.

  2. Jalankan perintah What-If yang sama seperti sebelumnya untuk mengimpor alur Anda dan memeriksa hasil migrasi. Pastikan untuk memperbarui nama alur.

    Import-AdfFactory -SubscriptionId <your Subscription ID> -ResourceGroupName <your Resource Group Name> -FactoryName <your Data Factory Name> -PipelineName  "pipeline2" -AdfToken $adfSecureToken | ConvertTo-FabricResources
    

Dalam output, alur terlihat mirip dengan sebelumnya, tetapi sekarang ada lebih banyak detail, termasuk dua exportableFabricResources:

  • Satu untuk Koneksi
  • Satu untuk Alur

Berikut adalah contoh bagian Koneksi dari output:

{
    "resourceName": "BlobStore1",
    "resourceType": "Connection",
    "resolve": [
    {
        "type": "LinkedServiceToConnectionId",
        "key": "BlobStore1",
        "targetPath": "id",
        "hint": {
        "linkedServiceName": "BlobStore1",
        "connectionType": "AzureBlobStorage",
        "datasource": "...",
        "template": {
            "type": "LinkedServiceToConnectionId",
            "key": "BlobStore1",
            "value": "<Fabric Connection ID>"
        }
        }
    }
    ],
    "export": {
    "id": "00000000-0000-0000-0000-000000000000"
    }
}

Langkah penyelesaian berbunyi: Find the correct GUID and insert it into the id field of this resource. Untuk saat ini, ID terdiri dari semua nol (GUID kosong). Karena pengekspor tidak dapat mengatasinya, petunjuk memberikan panduan tentang cara mengatasi masalah.

Bagian Alur memiliki langkah-langkah serupa:

"resolve": [
  {
    "type": "AdfResourceNameToFabricResourceId",
    "key": "Connection:BlobStore1",
    "targetPath": "properties.activities[0].typeProperties.source.datasetSettings.externalReferences.connection"
  },
  {
    "type": "AdfResourceNameToFabricResourceId",
    "key": "Connection:BlobStore1",
    "targetPath": "properties.activities[0].typeProperties.sink.datasetSettings.externalReferences.connection"
  }
],

Apa yang dilakukan langkah-langkah ini?

Langkah-langkah resolve ini adalah instruksi untuk memetakan layanan Tertaut ADF Anda ke sumber dan tujuan aktivitas dengan ID Koneksi Fabric yang sesuai.

Mengapa hal ini terjadi?

Pemutakhiran tidak dapat mengetahui ID sumber daya Fabric untuk sebuah koneksi atau pipeline sampai sumber daya tersebut ada. Jadi, ini memberikan tip tentang cara membuat sumber daya yang diperlukan dan mengisi file resolusi Anda.

Sekarang, mari kita ekspor Pipeline Fabric (upaya 1)

  1. Jika token akses Anda kedaluwarsa, refresh sekarang.

  2. Jalankan langkah yang sama dengan yang Anda gunakan dalam pelajaran sebelumnya, tetapi untuk "pipeline2" kali ini.

    Import-AdfFactory -SubscriptionId <your Subscription ID> -ResourceGroupName <your Resource Group Name> -FactoryName <your Data Factory Name> -PipelineName  "pipeline2" -AdfToken $adfSecureToken | ConvertTo-FabricResources | Export-FabricResources -Region <region> -Workspace <workspaceId> -Token $fabricSecureToken
    
  3. Ini gagal. Kali ini, Import | Convert | Export perintah mengembalikan sesuatu seperti:

    {
        "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": "BlobStore1",
              "connectionType": "AzureBlobStorage",
              "datasource": "...",
              "template": {
                "type": "LinkedServiceToConnectionId",
                "key": "BlobStore1",
                "value": "<Fabric Connection ID>"
              }
            }
          }
        ],
        "resolutions": [],
        "result": {}
      }
    

(Jika Anda membaca akhir langkah terakhir, Anda mungkin mengenali connectionHint.)

Kesalahan tersebut mengatakan bahwa kita perlu "menambahkan ID koneksi ke dalam resolusi Anda."

Apa yang salah?

Fabric Upgrader tidak dapat membuat koneksi Fabric secara mandiri. Anda perlu membantu dengan membuat koneksi Fabric secara manual lalu memberi tahu peningkatan kapan harus menggunakannya.

Membuat file berisi resolusi

  1. Pertama, buat file Resolusi. Anda dapat menamainya apa pun dan menyimpannya di mana pun Anda suka di komputer Anda (selama PowerShell dapat mengaksesnya), tetapi tutorial ini menggunakan D:\Resolutions.json.

  2. Inisialisasi file dengan:

    [
    ]
    
  3. Selanjutnya, tambahkan resolusi yang belum Anda terapkan dari petunjuk yang diberikan oleh upgrader Anda. Anda dapat menemukannya di bawah 'templat' di bagian connectionHint pesan kesalahan.

    [
      {
        "type": "LinkedServiceToConnectionId",
        "key": "BlobStore1",
        "value": "<Fabric Connection ID>"
      }
    ]
    
  4. Selanjutnya, kita perlu menemukan bahwa <Fabric Connection ID>. Untuk melakukannya, buka ruang kerja Fabric Anda di UX Fabric, pilih ikon roda gigi di sudut kanan atas, lalu pilih Kelola koneksi dan gateway.

  5. Jika koneksi belum ada di Fabric, buat Koneksi baru ke akun Azure Blob Storage yang sama dengan yang digunakan alur ADF Anda. Anda dapat menamainya apa pun, tetapi tutorial ini menggunakan "myblob".

  6. Setelah membuat koneksi, arahkan mouse ke atas tombol elipsis di samping nama koneksi untuk menampilkan menu.

  7. Pilih Settings dari menu, lalu salin ID Koneksi dan tempelkan ke file Resolusi Anda sebagai ganti <Fabric Connection ID>.

  8. File resolusi Anda akan terlihat seperti ini (value Anda akan berbeda):

    [
        {
            "type": "LinkedServiceToConnectionId",
            "key": "BlobStore1",
            "value": "dddddddd-9999-0000-1111-eeeeeeeeeeee"
        }
    ]
    
  9. Saat melakukannya, Anda dapat menambahkan komentar ke resolusi Anda seperti ini:

    [
       {
          "comment": "Resolve the ADF 'BlobStore1' LinkedService to the Fabric 'myblob' Connection",
          "type": "LinkedServiceToConnectionId",
          "key": "BlobStore1",
          "value": "dddddddd-9999-0000-1111-eeeeeeeeeeee"
       }
    ]
    

Cmdlet Import-FabricResolutions

Anda dapat mengimpor file resolusi ini untuk memeriksa apa yang dilakukannya.

Di PowerShell, jalankan:

Import-FabricResolutions -rf "D:\Resolutions.json"

Anda akan melihat:

{
  "state": "Succeeded",
  "alerts": [],
  "result": {},
  "resolutions": [
    {
      "type": "LinkedServiceToConnectionId",
      "key": "BlobStore1",
      "value": "dddddddd-9999-0000-1111-eeeeeeeeeeee"
    }
  ]
}

Ini adalah objek kemajuan peningkatan lainnya, tetapi kini bidang resolutions telah terisi.

Anda dapat menjalankan Import-FabricResolutions kapan saja dalam rantai perintah sebelumExport-FabricResources. Resolusi akan diteruskan ke langkah-langkah selanjutnya.

Mengekspor Alur Fabric (upaya 2)

Sekarang setelah kita memiliki file resolusi, kita dapat mencoba mengekspor lagi setelah menambahkan langkah Import-FabricResolutions.

  1. Perbarui perintah Anda dengan menambahkan Import-FabricResolutions antara Convert dan Export:

    Import-AdfFactory -SubscriptionId <your Subscription ID> -ResourceGroupName <your Resource Group Name> -FactoryName <your Data Factory Name> -PipelineName  "pipeline2" -AdfToken $adfSecureToken | ConvertTo-FabricResources | Import-FabricResolutions -ResolutionsFilename "<path to your resolutions file>" | Export-FabricResources -Region <region> -Workspace <workspaceId> -Token $fabricSecureToken
    
  2. Jalankan perintah di PowerShell.

Kali ini, berhasil! Seperti yang telah disebutkan sebelumnya, bagian "exportedFabricResources" menunjukkan alur baru Anda dan ID-nya.

Sekarang buka ruang kerja Fabric Anda di Fabric UX. Segarkan halaman, dan Anda akan melihat pipeline1 dalam daftar. Buka dan Anda akan menemukan apa yang Anda harapkan!

Langkah selanjutnya

Setelah berhasil memutakhirkan dua alur, Anda dapat menggunakan apa yang Anda pelajari untuk meningkatkan lebih banyak alur.