Mendapatkan aktivitas Metadata di Azure Data Factory atau Azure Synapse Analytics

Azure Data Factory Azure Synapse Analytics

Petunjuk

Data Factory di Microsoft Fabric adalah generasi Azure Data Factory berikutnya, dengan arsitektur yang lebih sederhana, AI bawaan, dan fitur baru. Jika Anda baru menggunakan integrasi data, mulailah dengan Fabric Data Factory. Beban kerja ADF yang ada dapat ditingkatkan ke Fabric untuk mengakses kemampuan baru di seluruh ilmu data, analitik real time, dan pelaporan.

Anda dapat menggunakan aktivitas Dapatkan Metadata untuk mengambil metadata data apa pun di Azure Data Factory atau alur Synapse. Anda dapat menggunakan output dari aktivitas Dapatkan Metadata dalam ungkapan bersyarat untuk melakukan validasi, atau menggunakan metadata dalam aktivitas berikutnya.

Membuat aktivitas Get Metadata dengan UI

Untuk menggunakan aktivitas Get Metadata dalam alur, selesaikan langkah-langkah berikut:

  1. Cari Dapatkan Metadata di panel Aktivitas alur, dan seret aktivitas Dapatkan Metadata ke kanvas alur.

  2. Pilih aktivitas Dapatkan Metadata baru di kanvas jika belum dipilih, dan tab Pengaturannya, untuk mengedit detailnya.

  3. Pilih himpunan data, atau buat yang baru dengan tombol Baru. Kemudian Anda dapat menentukan opsi filter dan menambahkan kolom dari metadata yang tersedia untuk himpunan data.

    Menampilkan antarmuka pengguna untuk aktivitas Pengambilan Metadata.

  4. Gunakan output aktivitas sebagai input ke aktivitas lain, seperti aktivitas Switch dalam contoh ini. Anda dapat mereferensikan output Aktivitas Metadata di mana saja konten dinamis didukung dalam aktivitas lain.

    Menampilkan pipeline dengan aktivitas Switch yang ditambahkan untuk menangani output dari aktivitas Get Metadata.

  5. Di editor konten dinamis, pilih output aktivitas Get Metadata untuk mereferensikannya di aktivitas lain.

    Menampilkan editor konten dinamis dengan output aktivitas Dapatkan Metadata sebagai konten dinamis.

Kemampuan yang didukung

Aktivitas Dapatkan Metadata mengambil himpunan data sebagai input dan mengembalikan informasi metadata sebagai output. Saat ini, konektor berikut dan metadata yang dapat diambil terkait dengan konektor tersebut didukung. Ukuran maksimum metadata yang dikembalikan adalah 4 MB.

Konektor yang didukung

Penyimpanan file

Konektor/Metadata itemName
(file/folder)
jenisItem
(file/folder)
ukuran
(file)
Dibuat
(file/folder)
lastModified1
(file/folder)
childItems
(folder)
contentMD5
(file)
structure2
(file)
columnCount2
(file)
ada3
(file/folder)
Amazon S3 √/√ √/√ x/x √/√ x √/√
Penyimpanan yang Kompatibel dengan Amazon S3 √/√ √/√ x/x √/√ x √/√
Google Cloud Storage √/√ √/√ x/x √/√ x √/√
Penyimpanan Cloud Oracle √/√ √/√ x/x √/√ x √/√
Penyimpanan Azure Blob √/√ √/√ x/x √/√ √/√
Azure Data Lake Storage Gen1 √/√ √/√ x/x √/√ x √/√
Azure Data Lake Storage Gen2 √/√ √/√ x/x √/√ √/√
Azure Files √/√ √/√ √/√ √/√ x √/√
Microsoft Fabric Lakehouse √/√ √/√ x/x √/√ √/√
Sistem berkas √/√ √/√ √/√ √/√ x √/√
SFTP √/√ √/√ x/x √/√ x √/√
FTP √/√ √/√ x/x x/x x √/√

1 Metadata lastModified:

  • Untuk Amazon S3, Penyimpanan yang Kompatibel dengan Amazon S3, Google Cloud Storage, dan Oracle Cloud Storage, lastModified berlaku untuk bucket dan kunci tetapi tidak untuk folder virtual, dan exists berlaku untuk bucket dan kunci tetapi tidak untuk awalan atau folder virtual.
  • Untuk penyimpanan blob Azure, lastModified berlaku untuk kontainer dan blob tetapi tidak ke folder virtual.

2 Metadata structure dan columnCount tidak didukung saat mendapatkan metadata dari file Binary, JSON, atau XML.

3 Metadata exists: Untuk Amazon S3, Amazon S3 Compatible Storage, Google Cloud Storage, dan Oracle Cloud Storage, exists berlaku untuk wadah dan kunci tetapi tidak ke awalan atau folder virtual.

Perhatikan poin berikut:

  • Saat menggunakan aktivitas Get Metadata pada folder, pastikan Anda memiliki izin LIST/EXECUTE ke folder yang diberikan.

  • Filter karakter pengganti pada folder/file tidak didukung untuk aktivitas Get Metadata.

  • Filter modifiedDatetimeStart dan modifiedDatetimeEnd diatur pada konektor:

    • Kedua properti ini digunakan untuk memfilter item anak saat mendapatkan metadata dari folder. Ini tidak berlaku saat mendapatkan metadata dari file.
    • Ketika filter tersebut digunakan, childItems pada output hanya mencakup file yang dimodifikasi dalam rentang yang ditentukan tetapi bukan folder.
    • Untuk menerapkan filter tersebut, aktivitas GetMetadata menghitung semua file di folder yang ditentukan dan memeriksa waktu yang dimodifikasi. Hindari menunjuk ke folder dengan banyak file meskipun jumlah file yang diharapkan memenuhi syarat sedikit.

Database relasional

Konektor/Metadata Struktur columnCount ada
Amazon RDS untuk SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL Server

Opsi metadata

Anda bisa menentukan tipe metadata berikut ini di daftar bidang aktivitas Dapatkan Metadata untuk mengambil informasi terkait:

Jenis metadata Deskripsi
itemName Nama file atau folder.
jenisItem Jenis file atau folder. Nilai yang dikembalikan adalah File atau Folder.
ukuran Ukuran file, diukur dalam byte. Hanya berlaku untuk file.
Dibuat Tanggal waktu pembuatan file atau folder.
terakhir diubah Tanggalwaktu file atau folder terakhir diubah.
childItems Daftar subfolder dan file di folder yang diberikan. Hanya berlaku untuk folder. Nilai yang dikembalikan berupa daftar nama dan jenis setiap item anak.
contentMD5 MD5 dari file. Hanya berlaku untuk file.
Struktur Struktur data file atau tabel database hubungan. Nilai yang dikembalikan adalah daftar nama kolom dan jenis kolom.
columnCount Jumlah kolom dalam file atau tabel hubungan.
ada Apakah ada file, folder, atau tabel. Jika exists ditentukan dalam daftar bidang Dapatkan Metadata, aktivitas tidak gagal meskipun file, folder, atau tabel tidak ada. Sebaliknya, exists: false dikembalikan dalam output.

Petunjuk

Saat Anda ingin memvalidasi bahwa file, folder, atau tabel ada, tentukan exists di daftar bidang aktivitas Dapatkan Metadata. Anda kemudian dapat memeriksa hasil exists: true/false pada keluaran aktivitas. Jika exists tidak ditentukan dalam daftar bidang, aktivitas Dapatkan Metadata gagal jika objek tidak ditemukan.

Catatan

Ketika Anda mendapatkan metadata dari penyimpanan file dan mengonfigurasi modifiedDatetimeStart atau modifiedDatetimeEnd, childItems dalam output hanya menyertakan file dalam jalur yang ditentukan yang memiliki waktu modifikasi terakhir dalam rentang yang ditentukan. Item dalam subfolder tidak disertakan.

Catatan

Untuk daftar bidang Structure guna menyediakan struktur data sesungguhnya untuk teks terpisah dan himpunan data dalam format Excel, Anda harus mengaktifkan properti First Row as Header, yang hanya didukung untuk sumber data ini.

Sintaks

Aktivitas Pengambilan Metadata

{
    "name":"MyActivity",
    "type":"GetMetadata",
    "dependsOn":[

    ],
    "policy":{
        "timeout":"7.00:00:00",
        "retry":0,
        "retryIntervalInSeconds":30,
        "secureOutput":false,
        "secureInput":false
    },
    "userProperties":[

    ],
    "typeProperties":{
        "dataset":{
            "referenceName":"MyDataset",
            "type":"DatasetReference"
        },
        "fieldList":[
            "size",
            "lastModified",
            "structure"
        ],
        "storeSettings":{
            "type":"AzureBlobStorageReadSettings"
        },
        "formatSettings":{
            "type":"JsonReadSettings"
        }
    }
}

Dataset

{
    "name":"MyDataset",
    "properties":{
        "linkedServiceName":{
            "referenceName":"AzureStorageLinkedService",
            "type":"LinkedServiceReference"
        },
        "annotations":[

        ],
        "type":"Json",
        "typeProperties":{
            "location":{
                "type":"AzureBlobStorageLocation",
                "fileName":"file.json",
                "folderPath":"folder",
                "container":"container"
            }
        }
    }
}

Properti jenis

Saat ini, aktivitas Dapatkan Metadata dapat menampilkan jenis informasi metadata berikut:

Properti Deskripsi Wajib diisi
fieldList Jenis informasi metadata yang diperlukan. Untuk detail tentang metadata yang didukung, lihat bagian Opsi metadata di artikel ini. Ya
himpunan data Himpunan data referensi yang metadatanya akan diambil oleh aktivitas Dapatkan Metadata. Lihat bagian Kemampuan untuk informasi tentang konektor yang didukung. Lihat artikel konektor tertentu untuk detail sintaks himpunan data. Ya
pengaturanFormat Terapkan saat menggunakan himpunan data jenis format. Tidak
storeSettings Terapkan saat menggunakan himpunan data jenis format. Tidak

Contoh keluaran

Hasil Peroleh Metadata ditampilkan dalam output aktivitas. Berikut ini adalah dua sampel yang menunjukkan opsi metadata yang ekstensif. Untuk menggunakan hasil dalam aktivitas berikutnya, gunakan pola ini: @{activity('MyGetMetadataActivity').output.itemName}.

Dapatkan metadata dari file

{
  "exists": true,
  "itemName": "test.csv",
  "itemType": "File",
  "size": 104857600,
  "lastModified": "2017-02-23T06:17:09Z",
  "created": "2017-02-23T06:17:09Z",
  "contentMD5": "cMauY+Kz5zDm3eWa9VpoyQ==",
  "structure": [
    {
        "name": "id",
        "type": "Int64"
    },
    {
        "name": "name",
        "type": "String"
    }
  ],
  "columnCount": 2
}

Dapatkan metadata dari folder

{
  "exists": true,
  "itemName": "testFolder",
  "itemType": "Folder",
  "lastModified": "2017-02-23T06:17:09Z",
  "created": "2017-02-23T06:17:09Z",
  "childItems": [
    {
      "name": "test.avro",
      "type": "File"
    },
    {
      "name": "folder hello",
      "type": "Folder"
    }
  ]
}

Pelajari tentang aktivitas aliran kontrol yang didukung lainnya: