Bagikan melalui


Menyalin data dari atau ke sistem file menggunakan Azure Data Factory atau Azure Synapse Analytics

BERLAKU UNTUK: Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Artikel ini menguraikan cara menyalin data ke dan dari sistem file. Untuk mempelajari lebih lanjut, baca artikel pengantar untuk Azure Data Factory atau Azure Synapse Analytics.

Kemampuan yang didukung

Konektor sistem file ini didukung untuk kemampuan berikut:

Kemampuan yang didukung IR
Salin aktivitas (sumber/sink) (1) (2)
Aktivitas pencarian (1) (2)
Aktivitas GetMetadata (1) (2)
Aktivitas penghapusan (1) (2)

① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri

Secara khusus, konektor sistem file ini mendukung:

  • Menyalin file dari/ke berbagi file jaringan. Untuk menggunakan berbagi file Linux, pasang Samba di server Linux Anda.
  • Menyalin file dengan menggunakan autentikasi Windows.
  • Menyalin file sebagaimana adanya atau memilah/membuat file menggunakan format file yang didukung dan codec pemadatan.

Prasyarat

Jika penyimpanan data Anda terletak di dalam jaringan lokal, jaringan virtual Azure, atau Amazon Virtual Private Cloud, Anda harus mengonfigurasi runtime integrasi yang dihosting sendiri untuk menghubungkannya.

Jika penyimpanan data Anda adalah layanan data cloud terkelola, Anda dapat menggunakan Azure Integration Runtime. Jika akses dibatasi untuk IP yang disetujui dalam aturan firewall, Anda dapat menambahkan IP Azure Integration Runtime ke daftar izinkan.

Anda juga dapat menggunakan fitur runtime integrasi jaringan virtual terkelola di Azure Data Factory untuk mengakses jaringan lokal tanpa menginstal dan mengonfigurasi runtime integrasi yang dihosting sendiri.

Untuk informasi selengkapnya tentang mekanisme dan opsi keamanan jaringan yang didukung oleh Data Factory, lihat Strategi akses data.

Memulai

Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:

Membuat layanan tertaut sistem file menggunakan antarmuka pengguna

Gunakan langkah-langkah berikut untuk membuat layanan tertaut sistem {i>file

  1. Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu pilih Baru:

  2. Cari {i>file

    Cuplikan layar dari konektor Sistem File.

  3. Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.

    Cuplikan layar konfigurasi untuk layanan tertaut Sistem Fle.

Detail konfigurasi konektor

Bagian berikut ini menyediakan detail tentang properti yang digunakan untuk menentukan entitas alur Data Factory dan Synapse khusus untuk sistem file.

Properti layanan tertaut

Properti berikut didukung untuk layanan tertaut sistem file:

Properti Deskripsi Wajib
jenis Properti jenis harus diatur ke: FileServer. Ya
tuan rumah Menentukan alur akar folder yang ingin Anda salin. Gunakan karakter escape "" untuk karakter khusus dalam string. Lihat Sampel layanan tertaut dan definisi himpunan data untuk contohnya. Ya
userId Tentukan ID pengguna yang memiliki akses ke server. Ya
kata sandi Tentukan kata sandi untuk pengguna (userId). Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau mereferensikan rahasia yang disimpan di Azure Key Vault. Ya
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Pelajari selengkapnya dari bagian Prasyarat. Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. No

Sampel layanan tertaut dan definisi himpunan data

Skenario "host" dalam definisi layanan tertaut folderPath dalam definisi himpunan data
Folder berbagi jarak jauh:

Contoh: \\myserver\share\* atau \\myserver\share\folder\subfolder\*
Dalam JSON: \\\\myserver\\share
Pada antarmuka pengguna: \\myserver\share
Dalam JSON: .\\ atau folder\\subfolder
Pada antarmuka pengguna: .\ atau folder\subfolder

Catatan

Saat penulisan melalui UI, Anda tidak perlu memasukkan garis miring terbalik ganda (\\) untuk keluar seperti yang Anda lakukan melalui JSON, namun gunakan garis miring terbalik tunggal.

Catatan

Menyalin file dari komputer lokal tidak didukung di bawah Azure Integration Runtime.
Lihat baris perintah dari sini untuk mengaktifkan akses ke komputer lokal di bawah Runtime integrasi yang dihost sendiri. Secara default, fitur ini dinonaktifkan.

Contoh:

{
    "name": "FileLinkedService",
    "properties": {
        "type": "FileServer",
        "typeProperties": {
            "host": "<host>",
            "userId": "<domain>\\<user>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Properti himpunan data

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat artikel Himpunan Data.

Azure Data Factory mendukung jenis format file berikut. Lihat setiap artikel untuk mengetahui cara melakukan pengaturan berbasis format.

Properti berikut ini didukung untuk sistem file di bawah pengaturan location dalam himpunan data berbasis format:

Properti Deskripsi Wajib
jenis Properti jenis di bawah location dalam himpunan data harus diatur ke FileServerLocation. Ya
folderPath Jalur ke folder. Jika Anda ingin menggunakan kartubebas untuk memfilter folder, lompati pengaturan ini dan tentukan dalam pengaturan sumber aktivitas. Anda perlu menyiapkan lokasi berbagi file di lingkungan Windows atau Linux Anda untuk mengekspos folder untuk berbagi. No
fileName Nama file di folderPath yang diberikan. Jika Anda ingin menggunakan kartubebas untuk memfilter file, lewati pengaturan ini dan tentukan dalam pengaturan sumber aktivitas. No

Contoh:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<File system linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "FileServerLocation",
                "folderPath": "root/folder/subfolder"
            },
            "columnDelimiter": ",",
            "quoteChar": "\"",
            "firstRowAsHeader": true,
            "compressionCodec": "gzip"
        }
    }
}

Properti aktivitas salin

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat artikel Alur. Bagian ini menyediakan daftar properti yang didukung oleh sumber sistem dan sink.

Sistem file sebagai sumber

Azure Data Factory mendukung jenis format file berikut. Lihat setiap artikel untuk mengetahui cara melakukan pengaturan berbasis format.

Properti berikut ini didukung untuk sistem file di bawah pengaturan storeSettings dalam sumber salinan berbasis format:

Properti Deskripsi Wajib
jenis Properti jenis di bawah storeSettings harus diatur ke FileServerReadSettings. Ya
Menemukan file yang akan disalin:
OPSI 1: jalur statik
Salin dari jalur folder/file yang diberikan dan ditentukan dalam himpunan data. Jika Anda ingin menyalin semua file dari folder, tentukan juga wildcardFileName sebagai *.
OPSI 2: filter sisi server
- fileFilter
Filter asli sisi server file, yang memberikan performa yang lebih baik daripada filter kartubebas OPSI 3. Gunakan * untuk mencocokkan nol karakter atau lebih dan ? untuk mencocokkan nol atau satu karakter. Pelajari selengkapnya tentang sintaksis dan catatan dari Keterangan di bawah bagian ini. No
OPSI 3: filter sisi klien
- wildcardFolderPath
Jalur folder dengan karakter kartubebas untuk memfilter folder sumber. Filter tersebut terjadi dalam layanan, yang menghitung folder/file di bawah jalur yang diberikan kemudian menerapkan filter kartubebas.
Kartubebas yang diizinkan adalah: * (cocok dengan nol karakter atau lebih) dan ? (cocok dengan nol atau satu karakter); gunakan ^ untuk karakter escape jika nama folder Anda yang sebenarnya memiliki karakter kartubebas atau karakter escape ini di dalamnya.
Lihat contoh lainnya dalam Contoh filter folder dan file.
No
OPSI 3: filter sisi klien
- wildcardFileName
Nama file dengan karakter kartubebas di bawah folderPath/wildcardFolderPath yang diberikan untuk memfilter file sumber. Filter tersebut terjadi dalam layanan, yang menghitung file di jalur yang diberikan kemudian menerapkan filter kartubebas.
Kartubebas yang diizinkan adalah: * (cocok dengan nol karakter atau lebih) dan ? (cocok dengan nol atau satu karakter); gunakan ^ untuk karakter escape jika nama file Anda yang sebenarnya memiliki karakter kartubebas atau karakter escape ini di dalamnya.
Lihat contoh lainnya dalam Contoh filter folder dan file.
Ya
OPSI 3: daftar file
- fileListPath
Mengindikasikan untuk menyalin set file yang diberikan. Arahkan ke file teks yang menyertakan daftar file yang ingin Anda salin, satu file per baris, yang merupakan jalur relatif ke jalur yang dikonfigurasi dalam himpunan data.
Saat menggunakan opsi ini, jangan tentukan nama file dalam himpunan data. Lihat contoh lainnya dalam Contoh daftar file.
No
Pengaturan tambahan:
recursive Menunjukkan apakah data dibaca secara rekursif dari subfolder atau hanya dari folder yang ditentukan. Ketika rekursif diatur menjadi true dan sink-nya adalah penyimpanan berbasis file, folder atau subfolder kosong tidak disalin atau dibuat di sink.
Nilai yang diizinkan adalah true (default) dan false.
Properti ini tidak berlaku saat Anda mengonfigurasi fileListPath.
No
deleteFilesAfterCompletion Menunjukkan apakah file biner dihapus dari penyimpanan sumber setelah berhasil berpindah ke penyimpanan tujuan. Penghapusan file adalah per file. Ini berarti bahwa ketika aktivitas gagal, Anda melihat beberapa file sudah disalin ke tujuan dan dihapus dari sumber, sementara yang lain masih tetap berada di penyimpanan sumber.
Properti ini hanya valid dalam skenario penyalinan file biner. Nilai default: false.
No
modifiedDatetimeStart Filter file berdasarkan atribut: Terakhir Diubah.
File akan dipilih jika waktu modifikasi terakhir file tersebut besar dari atau sama dengan modifiedDatetimeStart dan kurang dari modifiedDatetimeEnd. Waktu diterapkan ke zona waktu UTC dalam format YYYY-MM-DDTHH:mm:ssZ.
Properti dapat menjadi NULL, yang berarti tidak ada filter atribut file yang akan diterapkan ke himpunan data. Ketika modifiedDatetimeStart memiliki nilai tanggalwaktu tetapi modifiedDatetimeEnd null, itu berarti file yang atribut terakhir diubah lebih besar dari atau sama dengan nilai tanggalwaktu dipilih. Ketika modifiedDatetimeEnd memiliki nilai tanggalwaktu tetapi modifiedDatetimeStart null, itu berarti file yang atribut terakhir dimodifikasi kurang dari nilai tanggalwaktu dipilih.
Properti ini tidak berlaku saat Anda mengonfigurasi fileListPath.
No
modifiedDatetimeEnd Sama seperti modifiedDateTimeStart. No
enablePartitionDiscovery Untuk file yang dipartisi, tentukan apakah akan mengurai partisi dari jalur file dan menambahkannya sebagai kolom sumber tambahan.
Nilai yang diperbolehkan adalah false (default) dan true.
No
partitionRootPath Ketika penemuan partisi diaktifkan, tentukan jalur akar absolut untuk membaca folder yang dipartisi sebagai kolom data.

Jika tidak ditentukan, secara default,
- Ketika Anda menggunakan jalur file dalam himpunan data atau daftar file pada sumber, jalur akar partisi adalah jalur yang dikonfigurasi dalam himpunan data.
- Ketika Anda menggunakan filter folder kartubebas, jalur akar partisi adalah subpath sebelum wildcard pertama.

Misalnya, dengan asumsi Anda mengonfigurasi jalur dalam himpunan data sebagai "root/folder/year=2020/month=08/day=27":
- Jika Anda menentukan jalur akar partisi sebagai "root/folder/year=2020", aktivitas salin menghasilkan dua kolom month lagi dan day dengan nilai "08" dan "27" masing-masing, selain kolom di dalam file.
- Jika jalur akar partisi tidak ditentukan, tidak ada kolom tambahan yang dihasilkan.
No
maxConcurrentConnections Batas atas koneksi bersamaan yang ditetapkan ke penyimpanan data selama eksekusi aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan. No

Contoh:

"activities":[
    {
        "name": "CopyFromFileSystem",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Delimited text input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "DelimitedTextSource",
                "formatSettings":{
                    "type": "DelimitedTextReadSettings",
                    "skipLineCount": 10
                },
                "storeSettings":{
                    "type": "FileServerReadSettings",
                    "recursive": true,
                    "wildcardFolderPath": "myfolder*A",
                    "wildcardFileName": "*.csv"
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Sistem file sebagai sink

Azure Data Factory mendukung jenis format file berikut. Lihat setiap artikel untuk mengetahui cara melakukan pengaturan berbasis format.

Catatan

Opsi MergeFiles copyBehavior hanya tersedia di alur Azure Data Factory dan bukan alur Synapse Analytics.

Properti berikut ini didukung untuk sistem file di bawah pengaturan storeSettings dalam sink penyalinan berbasis format:

Properti Deskripsi Wajib
jenis Properti jenis di bawah storeSettings harus diatur ke FileServerWriteSettings. Ya
copyBehavior Menentukan perilaku salin saat sumber berupa file dari penyimpanan data berbasis file.

Nilai yang diperbolehkan adalah:
- (default) PreserveHierarchy: Mempertahankan hierarki file di folder target. Jalur relatif file sumber ke folder sumber identik dengan jalur relatif file target ke folder target.
- FlattenHierarchy: Semua file dari folder sumber berada di tingkat pertama folder target. File target memiliki nama yang ditulis secara otomatis.
- MergeFiles: Menggabungkan semua file dari folder sumber dalam satu file. Jika nama file ditentukan, nama file yang digabungkan adalah nama yang ditentukan. Jika tidak, nama tersebut adalah nama file yang ditulis secara otomatis.
No
maxConcurrentConnections Batas atas koneksi bersamaan yang ditetapkan ke penyimpanan data selama eksekusi aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan. No

Contoh:

"activities":[
    {
        "name": "CopyToFileSystem",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Parquet output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "ParquetSink",
                "storeSettings":{
                    "type": "FileServerWriteSettings",
                    "copyBehavior": "PreserveHierarchy"
                }
            }
        }
    }
]

Contoh filter folder dan file

Bagian ini menjelaskan perilaku yang dihasilkan dari jalur folder dan nama file dengan filter kartubebas.

folderPath fileName recursive Struktur folder sumber dan hasil filter (file dalam huruf tebal diambil)
Folder* (kosong, gunakan default) salah FolderA
    File1.csv
    File2.json
    Subfolder1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* (kosong, gunakan default) benar FolderA
    File1.csv
    File2.json
    Subfolder1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv salah FolderA
    File1.csv
    File2.json
    Subfolder1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv benar FolderA
    File1.csv
    File2.json
    Subfolder1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv

Contoh daftar file

Bagian ini menjelaskan perilaku yang dihasilkan dari penggunaan jalur daftar file di sumber aktivitas salin.

Dengan asumsi Anda memiliki struktur folder sumber berikut dan ingin menyalin file dengan bold:

Struktur sumber sampel Konten dalam FileListToCopy.txt Konfigurasi alur
akar
    FolderA
        File1.csv
        File2.json
        Subfolder1
            File3.csv
            File4.json
            File5.csv
    Metadata
        FileListToCopy.txt
File1.csv
Subfolder1/File3.csv
Subfolder1/File5.csv
Dalam himpunan data:
- Jalur folder: root/FolderA

Di sumber aktivitas salin:
- Jalur daftar file: root/Metadata/FileListToCopy.txt

Jalur daftar file menunjuk ke file teks di penyimpanan data yang sama. Ini termasuk daftar file yang ingin Anda salin. Setiap baris berisi jalur relatif ke file berdasarkan jalur akar yang dikonfigurasi dalam himpunan data.

contoh berulang dan copyBehavior

Bagian ini menjelaskan perilaku yang dihasilkan dari operasi Salin untuk kombinasi yang berbeda dari nilai rekursif dan copyBehavior.

recursive copyBehavior Struktur folder sumber Target yang dihasilkan
benar preserveHierarchy Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5
Folder target Folder1 dibuat dengan struktur yang sama dengan sumbernya:

Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5.
benar flattenHierarchy Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5
Target Folder1 dibuat dengan struktur berikut:

Folder1
    nama yang ditulis secara otomatis untuk File1
    nama yang ditulis secara otomatis untuk File2
    nama yang ditulis secara otomatis untuk File3
    nama yang ditulis secara otomatis untuk File4
    nama yang ditulis secara otomatis untuk File5
benar mergeFiles Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5
Target Folder1 dibuat dengan struktur berikut:

Folder1
    konten File1 + File2 + File3 + File4 + File 5 digabungkan ke dalam satu file, dengan nama file yang ditulis secara otomatis
salah preserveHierarchy Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5
Folder target Folder1 dibuat dengan struktur berikut

Folder1
    File1
    File2

Subfolder1 dengan File3, File4, dan File5 tidak diambil.
salah flattenHierarchy Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5
Folder target Folder1 dibuat dengan struktur berikut

Folder1
    nama yang ditulis secara otomatis untuk File1
    nama yang ditulis secara otomatis untuk File2

Subfolder1 dengan File3, File4, dan File5 tidak diambil.
salah mergeFiles Folder1
    File1
    File2
    Subfolder1
        File3
        File4
        File5
Folder target Folder1 dibuat dengan struktur berikut

Folder1
    konten File1 + File2 digabungkan ke dalam satu file, dengan nama file yang ditulis secara otomatis. nama yang ditulis secara otomatis untuk File1

Subfolder1 dengan File3, File4, dan File5 tidak diambil.

Properti aktivitas pencarian

Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.

Properti aktivitas GetMetadata

Untuk mempelajari detail tentang properti ini, lihat aktivitas GetMetadata.

Properti aktivitas penghapusan

Untuk mempelajari detail tentang properti ini, lihat Aktivitas penghapusan.

Model warisan

Catatan

Model berikut ini masih didukung apa adanya untuk kompatibilitas mundur. Anda disarankan untuk selanjutnya menggunakan model baru yang disebutkan di bagian di sebelumnya, dan antarmuka pengguna penulisan telah beralih untuk menghasilkan model baru.

Model himpunan data warisan

Properti Deskripsi Wajib
jenis Properti jenis himpunan data harus diatur menjadi: FileShare Ya
folderPath Alur ke folder. Filter kartubebas didukung. Kartubebas yang diizinkan adalah: * (cocok dengan nol karakter atau lebih) dan ? (cocok dengan nol atau satu karakter); gunakan ^ untuk karakter escape jika nama folder Anda yang sebenarnya memiliki karakter kartubebas atau karakter escape ini di dalamnya.

Contoh: rootfolder/subfolder/, lihat contoh lainnya dalam Contoh layanan tertaut dan definisi himpunan data dan Contoh filter folder dan file.
No
fileName Nama atau filter kartubebas untuk file di bawah "folderPath" yang ditentukan. Jika Anda tidak menentukan nilai untuk properti ini, himpunan data akan menunjuk ke semua file dalam folder.

Kartubebas yang diperbolehkan untuk filter adalah * (cocok dengan nol karakter atau lebih) dan ? (cocok dengan nol atau satu karakter).
- Contoh 1: "fileName": "*.csv"
- Contoh 2: "fileName": "???20180427.txt"
Gunakan ^ untuk escape jika nama file Anda yang sebenarnya memiliki kartubebas atau karakter escape ini di dalamnya.

Ketika fileName tidak ditentukan untuk himpunan data output dan preserveHierarchy tidak ditentukan dalam sink aktivitas, aktivitas salin secara otomatis menghasilkan nama file dengan pola berikut: "Data.[ activity run ID GUID]. [GUID if FlattenHierarchy]. [format if configured]. [compression if configured]", misalnya "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz"; jika Anda menyalin dari sumber tabular menggunakan nama tabel alih-alih kueri, pola nama adalah "[table.name].[ format]. [compression if configured]", misalnya "MyTable.csv".
No
modifiedDatetimeStart Filter file berdasarkan atribut: Terakhir Diubah. File akan dipilih jika waktu modifikasi terakhir file tersebut besar dari atau sama dengan modifiedDatetimeStart dan kurang dari modifiedDatetimeEnd. Waktu diterapkan ke zona waktu UTC dalam format YYYY-MM-DDTHH:mm:ssZ.

Ketahui performa keseluruhan pergerakan data terpengaruh dengan mengaktifkan pengaturan ini ketika Anda ingin melakukan filter file dari sejumlah besar file.

Properti dapat menjadi NULL, yang berarti tidak ada filter atribut file yang akan diterapkan ke himpunan data. Ketika modifiedDatetimeStart memiliki nilai tanggalwaktu tetapi modifiedDatetimeEnd null, itu berarti file yang atribut terakhir diubah lebih besar dari atau sama dengan nilai tanggalwaktu dipilih. Ketika modifiedDatetimeEnd memiliki nilai tanggalwaktu tetapi modifiedDatetimeStart null, itu berarti file yang atribut terakhir dimodifikasi kurang dari nilai tanggalwaktu dipilih.
No
modifiedDatetimeEnd Filter file berdasarkan atribut: Terakhir Diubah. File akan dipilih jika waktu modifikasi terakhir file tersebut besar dari atau sama dengan modifiedDatetimeStart dan kurang dari modifiedDatetimeEnd. Waktu diterapkan ke zona waktu UTC dalam format "2018-12-01T05:00:00Z".

Ketahui performa keseluruhan pergerakan data terpengaruh dengan mengaktifkan pengaturan ini ketika Anda ingin melakukan filter file dari sejumlah besar file.

Properti dapat menjadi NULL, yang berarti tidak ada filter atribut file yang akan diterapkan ke himpunan data. Ketika modifiedDatetimeStart memiliki nilai tanggalwaktu tetapi modifiedDatetimeEnd null, itu berarti file yang atribut terakhir diubah lebih besar dari atau sama dengan nilai tanggalwaktu dipilih. Ketika modifiedDatetimeEnd memiliki nilai tanggalwaktu tetapi modifiedDatetimeStart null, itu berarti file yang atribut terakhir dimodifikasi kurang dari nilai tanggalwaktu dipilih.
No
format Jika Anda ingin menyalin file apa adanya antara penyimpanan berbasis file (salinan biner), lewati bagian format dalam himpunan data input dan output.

Jika Anda ingin memilah atau membuat file dengan format tertentu, jenis format file berikut didukung: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. Atur properti jenis berdasarkan format ke salah satu nilai ini. Untuk informasi selengkapnya, lihat Bagian Format Teks, Format Json, Format Avro, Format Orc, dan Format Parquet.
Tidak (hanya untuk skenario salinan biner)
kompresi Tentukan jenis dan tingkat kompresi untuk data. Untuk informasi selengkapnya, lihat Format file yang didukung dan kodek pemadatan.
Jenis yang didukung adalah: GZip, Deflate, BZip2, dan ZipDeflate.
Tingkat yang didukung adalah: Optimal dan Tercepat.
No

Tip

Untuk menyalin semua file di sebuah folder, tentukan folderPath saja.
Untuk menyalin satu file dengan nama tertentu, tentukan folderPath dengan bagian folder dan fileName dengan nama file.
Untuk menyalin subset file di sebuah folder, tentukan folderPath dengan bagian folder dan fileName dengan filter karakter kartubebas.

Catatan

Jika Anda menggunakan properti "fileFilter" untuk filter file, properti masih didukung apa adanya, sementara Anda disarankan untuk menggunakan kemampuan filter baru yang ditambahkan ke "fileName" untuk selanjutnya.

Contoh:

{
    "name": "FileSystemDataset",
    "properties": {
        "type": "FileShare",
        "linkedServiceName":{
            "referenceName": "<file system linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "folder/subfolder/",
            "fileName": "*",
            "modifiedDatetimeStart": "2018-12-01T05:00:00Z",
            "modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ",",
                "rowDelimiter": "\n"
            },
            "compression": {
                "type": "GZip",
                "level": "Optimal"
            }
        }
    }
}

Model sumber aktivitas salin warisan

Properti Deskripsi Wajib
jenis Properti jenis sumber aktivitas salin harus diatur ke: FileSystemSource Ya
recursive Menunjukkan apakah data dibaca secara rekursif dari subfolder atau hanya dari folder yang ditentukan. Perhatikan ketika rekursif diatur ke true dan sink adalah penyimpanan berbasis file, folder/sub-folder kosong tidak disalin/dibuat di sink.
Nilai yang diperbolehkan adalah: true (default) dan false
No
maxConcurrentConnections Batas atas koneksi bersamaan yang ditetapkan ke penyimpanan data selama eksekusi aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan. No

Contoh:

"activities":[
    {
        "name": "CopyFromFileSystem",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<file system input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "FileSystemSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Model sink aktivitas salin warisan

Properti Deskripsi Wajib
jenis Properti jenis sink aktivitas salin harus diatur ke FileSystemSink Ya
copyBehavior Menentukan perilaku salin saat sumber berupa file dari penyimpanan data berbasis file.

Nilai yang diperbolehkan adalah:
- (default) PreserveHierarchy: Mempertahankan hierarki file di folder target. Jalur relatif file sumber ke folder sumber identik dengan jalur relatif file target ke folder target.
- FlattenHierarchy: semua file dari folder sumber berada di tingkat pertama folder target. Nama file target dibuat secara otomatis.
- MergeFiles: Menggabungkan semua file dari folder sumber dalam satu file. Tidak ada deduplikasi rekaman yang dilakukan selama penggabungan. Jika Nama File ditentukan, nama file yang digabungkan akan menjadi nama yang ditentukan; jika tidak, akan berupa nama file yang dibuat secara otomatis.
No
maxConcurrentConnections Batas atas koneksi bersamaan yang ditetapkan ke penyimpanan data selama eksekusi aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan. No

Contoh:

"activities":[
    {
        "name": "CopyToFileSystem",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<file system output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "FileSystemSink",
                "copyBehavior": "PreserveHierarchy"
            }
        }
    }
]

Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas salin, lihat penyimpanan data yang didukung.