Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
BERLAKU UNTUK:
Azure Data Factory
Azure Synapse Analytics
Petunjuk
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 Azure Files. Untuk mempelajari tentang Azure Data Factory, baca artikel pengantar.
Kemampuan yang didukung
Konektor Azure Files ini didukung untuk aktivitas berikut ini:
| Kemampuan yang didukung | IR | Titik akhir privat terkelola |
|---|---|---|
| Aktivitas penyalinan (sumber/penampung) | (1) (2) | ✓ Mengecualikan akun penyimpanan V1 |
| Aktivitas pencarian | (1) (2) | ✓ Mengecualikan akun penyimpanan V1 |
| Aktivitas GetMetadata | (1) (2) | ✓ Mengecualikan akun penyimpanan V1 |
| Hapus aktivitas | (1) (2) | ✓ Mengecualikan akun penyimpanan V1 |
① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri
Anda dapat menyalin data dari Azure Files ke penyimpanan data sink yang didukung, atau menyalin data dari penyimpanan data sumber yang didukung ke Azure Files. Untuk daftar penyimpanan data yang didukung Aktivitas Salin sebagai sumber dan sink, lihat Penyimpanan dan format data yang didukung.
Secara khusus, konektor Azure Files ini mendukung:
- Menyalin file dengan menggunakan autentikasi kunci akun atau tanda tangan akses bersama (SAS) layanan.
- Menyalin file sebagaimana adanya atau memilah/membuat file menggunakan format file yang didukung dan codec pemadatan.
Memulai
Untuk melakukan aktivitas salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:
- Alat Salin Data
- Portal Azure
- .NET SDK
- Python SDK
- Azure PowerShell
- REST API
- Templat Azure Resource Manager
Membuat layanan tertaut ke Azure Files menggunakan UI
Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke Azure Files di UI portal Azure.
Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:
Cari file dan pilih konektor untuk Azure Files berlabel Azure File Storage.
Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.
Detail konfigurasi konektor
Bagian berikut memberikan detail tentang properti yang digunakan untuk menentukan entitas khusus untuk Azure Files.
Properti layanan tertaut
Konektor Azure Files mendukung tipe autentikasi berikut ini. Lihat bagian terkait untuk detailnya.
- Autentikasi kunci akun
- Autentikasi tanda tangan akses bersama
- Autentikasi identitas terkelola yang ditetapkan sistem
- Autentikasi identitas terkelola yang ditetapkan pengguna
Catatan
Jika Anda menggunakan layanan tertaut Azure Files dengan model lama, di mana pada UI pembuatan ADF ditampilkan sebagai "Otentikasi dasar", layanan ini masih didukung apa adanya, sementara Anda disarankan untuk menggunakan model baru di masa mendatang. Model warisan mentransfer data dari/ke penyimpanan melalui Server Message Block (SMB), sementara model baru menggunakan SDK penyimpanan yang memiliki throughput yang lebih baik. Untuk peningkatan, Anda dapat mengedit layanan tertaut Anda untuk mengalihkan metode autentikasi ke "Kunci akun" atau "SAS URI"; tidak perlu ada perubahan pada himpunan data atau aktivitas salin.
Autentikasi kunci akun
Data Factory mendukung properti berikut untuk autentikasi kunci akun Azure Files:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti jenis harus diatur ke: AzureFileStorage. | Ya |
| connectionString | Tentukan informasi yang diperlukan untuk menyambungkan ke Azure Files. Anda juga dapat meletakkan kunci akun di Azure Key Vault dan mengeluarkan konfigurasi accountKey dari string koneksi. Untuk informasi selengkapnya, lihat sampel berikut ini dan artikel Menyimpan info masuk di Azure Key Vault. |
Ya |
| fileShare | Tentukan berbagi berkas. | Ya |
| rekam jepret | Tentukan tanggal rekam jepret berbagi jika Anda ingin menyalin dari rekam jepret. | Tidak |
| connectVia | Integration Runtime yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan Azure Integration Runtime atau Integration Runtime yang Dihost Sendiri (jika penyimpanan data Anda berada di jaringan privat). Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. | Tidak |
Contoh:
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net;",
"fileShare": "<file share name>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Contoh: menyimpan kunci akun di Azure Key Vault
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;",
"fileShare": "<file share name>",
"accountKey": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Autentikasi tanda tangan akses bersama
Tanda tangan akses bersama menyediakan akses yang didelegasikan ke sumber daya di akun penyimpanan Anda. Anda dapat menggunakan tanda tangan akses bersama untuk memberi klien izin terbatas ke objek di akun penyimpanan Anda untuk waktu yang ditentukan. Untuk informasi selengkapnya tentang tanda tangan akses bersama, lihat Tanda tangan akses bersama: Memahami model tanda tangan akses bersama.
Layanan tersebut mendukung properti berikut ini untuk menggunakan autentikasi tanda tangan akses bersama:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti jenis harus diatur ke: AzureFileStorage. | Ya |
| sasUri | Tentukan URI tanda tangan akses bersama ke sumber daya. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman. Anda juga dapat meletakkan token SAS di Azure Key Vault untuk memanfaatkan rotasi otomatis dan menghapus bagian token. Untuk informasi selengkapnya, lihat contoh berikut ini dan artikel Menyimpan info masuk di Azure Key Vault. |
Ya |
| fileShare | Tentukan berbagi berkas. | Ya |
| rekam jepret | Tentukan tanggal rekam jepret berbagi jika Anda ingin menyalin dari rekam jepret. | Tidak |
| connectVia | Integration Runtime yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan Azure Integration Runtime atau Integration Runtime yang Dihost Sendiri (jika penyimpanan data Anda berada di jaringan privat). Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. | Tidak |
Contoh:
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"sasUri": {
"type": "SecureString",
"value": "<SAS URI of the resource e.g. https://<accountname>.file.core.windows.net/?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
},
"fileShare": "<file share name>",
"snapshot": "<snapshot version>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Contoh: menyimpan token SAS di Azure Key Vault
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"sasUri": {
"type": "SecureString",
"value": "<SAS URI of the Azure Storage resource without token e.g. https://<accountname>.file.core.windows.net/>"
},
"sasToken": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName with value of SAS token e.g. ?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
},
"fileShare": "<file share name>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Autentikasi identitas terkelola yang ditentukan oleh sistem
Pabrik data atau alur Synapse dapat dikaitkan dengan identitas terkelola yang ditetapkan sistem untuk sumber daya Azure, yang mewakili sumber daya tersebut untuk autentikasi ke layanan Azure lainnya. Anda dapat menggunakan identitas terkelola yang ditetapkan sistem ini untuk autentikasi Azure Files. Untuk mempelajari selengkapnya tentang identitas terkelola untuk sumber daya Azure, lihat Identitas terkelola untuk sumber daya Azure.
Untuk menggunakan autentikasi identitas terkelola yang ditetapkan sistem, ikuti langkah-langkah berikut:
Ambil informasi identitas terkelola yang ditetapkan sistem dengan menyalin nilai ID objek identitas terkelola yang ditetapkan sistem yang dihasilkan bersama dengan pabrik atau ruang kerja Synapse Anda.
Berikan izin identitas terkelola di Azure Files. Untuk informasi selengkapnya tentang peran, lihat artikel ini.
- Dalam Kontrol akses (IAM), berikan minimal peran Storage File Data Privileged Readersebagai sumber.
- Sebagai sink, dalam Kontrol akses (IAM), berikan setidaknya peran Kontributor Hak Istimewa Data File Penyimpanan.
Properti-properti ini didukung untuk layanan yang terhubung Azure Files:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti tipe harus diatur ke AzureFileStorage. | Ya |
| serviceEndpoint | Tentukan titik akhir layanan Azure Files dengan pola https://<accountName>.file.core.windows.net/. |
Ya |
| fileShare | Tentukan berbagi berkas. | Ya |
| rekam jepret | Tentukan tanggal rekam jepret berbagi jika Anda ingin menyalin dari rekam jepret. | Tidak |
| connectVia | Integration Runtime yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan Azure Integration Runtime. Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. | Tidak |
Catatan
Autentikasi identitas terkelola yang ditetapkan sistem hanya didukung oleh runtime integrasi Azure.
Contoh:
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"serviceEndpoint": "https://<accountName>.file.core.windows.net/",
"fileShare": "<file share name>",
"snapshot": "<snapshot version>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Autentikasi identitas terkelola yang ditetapkan pengguna
Sebuah pabrik data dapat ditetapkan dengan satu atau beberapa identitas terkelola yang ditetapkan pengguna. Anda dapat menggunakan identitas terkelola yang ditetapkan pengguna ini untuk autentikasi Azure Files, yang memungkinkan untuk mengakses dan menyalin data dari atau ke Azure Files. Untuk mempelajari selengkapnya tentang identitas terkelola untuk sumber daya Azure, lihat Identitas terkelola untuk sumber daya Azure.
Untuk menggunakan autentikasi identitas terkelola yang ditetapkan pengguna, ikuti langkah-langkah berikut:
Buat satu atau beberapa identitas terkelola yang ditetapkan pengguna dan berikan izin di Azure Files. Untuk informasi selengkapnya tentang peran, lihat artikel ini.
- Dalam Kontrol akses (IAM), berikan minimal peran Storage File Data Privileged Readersebagai sumber.
- Sebagai sink, dalam Kontrol akses (IAM), berikan setidaknya peran Kontributor Hak Istimewa Data File Penyimpanan.
Tetapkan satu atau beberapa identitas terkelola yang ditetapkan pengguna ke pabrik data Anda dan buat info masuk untuk setiap identitas terkelola yang ditetapkan pengguna.
Properti-properti ini didukung untuk layanan yang terhubung Azure Files:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti tipe harus diatur ke AzureFileStorage. | Ya |
| serviceEndpoint | Tentukan titik akhir layanan Azure Files dengan pola https://<accountName>.file.core.windows.net/. |
Ya |
| kredensial | Tentukan identitas terkelola yang ditetapkan pengguna sebagai objek kredensial. | Ya |
| fileShare | Tentukan berbagi berkas. | Ya |
| rekam jepret | Tentukan tanggal rekam jepret berbagi jika Anda ingin menyalin dari rekam jepret. | Tidak |
| connectVia | Integration Runtime yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan Azure Integration Runtime atau Integration Runtime yang Dihost Sendiri (jika penyimpanan data Anda berada di jaringan privat). Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. | Tidak |
Contoh:
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"serviceEndpoint": "https://<accountName>.file.core.windows.net/",
"credential": {
"referenceName": "credential1",
"type": "CredentialReference"
},
"fileShare": "<file share name>",
"snapshot": "<snapshot version>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Model warisan
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti jenis harus diatur ke: AzureFileStorage. | Ya |
| host | Menentukan titik akhir Azure Files sebagai: -Menggunakan antarmuka pengguna: tentukan \\<storage name>.file.core.windows.net\<file service name>- Menggunakan JSON: "host": "\\\\<storage name>.file.core.windows.net\\<file service name>" . |
Ya |
| id pengguna | Tentukan pengguna untuk mengakses Azure Files sebagai: -Menggunakan antarmuka pengguna: tentukan AZURE\<storage name>-Menggunakan JSON: "userid": "AZURE\\<storage name>" . |
Ya |
| kata sandi | Tentukan kunci akses penyimpanan. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman di Data Factory, atau referensikan rahasia yang disimpan di Azure Key Vault. | Ya |
| connectVia | Integration Runtime yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan Azure Integration Runtime atau Integration Runtime yang Dihost Sendiri (jika penyimpanan data Anda berada di jaringan privat). Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. | Tidak untuk sumber, Ya untuk penampung |
Contoh:
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"host": "\\\\<storage name>.file.core.windows.net\\<file service name>",
"userid": "AZURE\\<storage name>",
"password": {
"type": "SecureString",
"value": "<storage access key>"
}
},
"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.
- Format Avro
- Format Biner
- Format teks dibatasi
- Format Excel
- Format JSON
- Format ORC
- Format Parquet
- Format XML
Properti berikut ini didukung untuk Azure Files di bawah pengaturan location dalam kumpulan data berbasis format:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti jenis di bawah location dalam himpunan data harus diatur ke AzureFileStorageLocation. |
Ya |
| folderPath | Jalur ke folder. Jika Anda ingin menggunakan wildcard untuk menyaring folder, lewati pengaturan ini dan tentukan dalam pengaturan sumber pada aktivitas. | Tidak |
| fileName | Nama file di dalam folderPath yang diberikan. Jika Anda ingin menggunakan wildcard untuk memfilter file, lewati pengaturan ini dan tentukan dalam pengaturan sumber aktivitas. | Tidak |
Contoh:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<Azure File Storage linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "AzureFileStorageLocation",
"folderPath": "root/folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Properti aktivitas salin
Untuk daftar lengkap bagian dan properti yang tersedia untuk mendefinisikan aktivitas, lihat artikel Pipeline. Bagian ini menyediakan daftar properti yang didukung oleh sumber dan sink Azure Files.
Azure Files sebagai sumber
Azure Data Factory mendukung jenis format file berikut. Lihat setiap artikel untuk mengetahui cara melakukan pengaturan berbasis format.
- Format Avro
- Format Biner
- Format teks dibatasi
- Format Excel
- Format JSON
- Format ORC
- Format Parquet
- Format XML
Properti berikut ini didukung untuk Azure Files di bawah pengaturan storeSettings dalam sumber salinan berbasis format:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti jenis di bawah storeSettings harus diatur ke AzureFileStorageReadSettings. |
Ya |
| Menemukan file yang akan disalin: | ||
| OPSI 1: jalur statik |
Salin dari jalur folder atau file yang ditentukan dalam dataset. Jika Anda ingin menyalin semua file dari folder, tentukan juga wildcardFileName sebagai *. |
|
| OPSI 2: awalan file - awalan |
Awalan untuk nama file di bawah berbagi file yang telah ditentukan yang dikonfigurasi di dataset untuk memfilter file sumber daya. Files dengan nama yang dimulai dengan fileshare_in_linked_service/this_prefix dipilih. Ini menggunakan filter pada sisi layanan untuk Azure Files, yang memberikan performa lebih baik daripada filter kartu bebas. Fitur ini tidak didukung saat menggunakan model layanan tertaut warisan. |
Tidak |
| OPSI 3: opsi bebas - wildcardFolderPath |
Jalur folder dengan karakter wildcard untuk memfilter folder asal. Wildcard 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 wildcard atau karakter escape ini di dalamnya. Lihat contoh lainnya dalam Contoh filter folder dan file. |
Tidak |
| OPSI 3: opsi bebas - wildcardFileName |
Nama file dengan karakter wildcard di dalam folderPath/wildcardFolderPath yang diberikan untuk memfilter file sumber. Karakter wildcard yang diizinkan adalah: * (mencocokkan nol karakter atau lebih) dan ? (mencocokkan nol atau satu karakter); gunakan ^ untuk karakter pelarian jika nama file Anda memiliki karakter wildcard atau karakter pelarian ini di dalamnya. Lihat contoh lainnya dalam Contoh filter folder dan file. |
Ya |
| OPSI 4: daftar file - fileListPath |
Menunjukkan untuk menyalin kumpulan 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 menyebutkan nama file dalam himpunan data. Lihat contoh lainnya dalam Contoh daftar file. |
Tidak |
| Pengaturan tambahan: | ||
| recursive | Menunjukkan apakah data dibaca secara rekursif dari subfolder atau hanya dari folder yang ditentukan. Ketika rekursif diatur menjadi true dan sink 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. |
Tidak |
| hapusBerkasSetelahSelesai | Menunjukkan apakah file biner akan dihapus dari penyimpanan sumber setelah berhasil pindah ke penyimpanan tujuan. Penghapusan file dilakukan per file, jadi ketika aktivitas salin gagal, Anda akan melihat beberapa file telah disalin ke tujuan dan dihapus dari sumbernya, sementara file yang lain masih berada di penyimpanan sumber. Properti ini hanya valid dalam skenario penyalinan file biner. Nilai default: false. |
Tidak |
| modifiedDatetimeStart | Filter file berdasarkan atribut: Terakhir Diubah. File akan dipilih jika waktu modifikasi terakhir file tersebut lebih besar dari atau sama dengan modifiedDatetimeStart dan kurang dari modifiedDatetimeEnd. Waktu diterapkan ke zona waktu UTC dalam format "2018-12-01T05:00:00Z". Properti dapat berupa NULL, yang berarti tidak ada filter atribut file yang akan diterapkan ke himpunan data. Ketika modifiedDatetimeStart memiliki nilai tanggalwaktu tetapi modifiedDatetimeEnd NULL, hal ini berarti file dengan nilai atribut terakhir diubah lebih besar dari atau sama dengan nilai tanggalwaktu akan dipilih. Ketika modifiedDatetimeEnd memiliki nilai tanggalwaktu tetapi modifiedDatetimeStart NULL, hal ini berarti file dengan nilai atribut terakhir diubah lebih kecil dari nilai tanggalwaktu akan dipilih.Properti ini tidak berlaku saat Anda mengonfigurasi fileListPath. |
Tidak |
| akhirWaktuTanggalDiubah | Sama seperti di atas. | Tidak |
| aktifkanPemindaianPartisi | Untuk file yang dipartisi, tentukan apakah Anda akan memilah partisi dari jalur file dan menambahkannya sebagai kolom sumber tambahan. Nilai yang diperbolehkan adalah false (default) dan true. |
Tidak |
| 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 karakter wildcard, jalur akar partisi adalah sub-jalur yang terletak sebelum karakter 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 akan menghasilkan dua kolom lagi month dan day dengan nilai masing-masing "08" dan "27", selain kolom di dalam file.- Jika jalur akar partisi tidak ditentukan, tidak ada kolom tambahan yang akan dihasilkan. |
Tidak |
| maxConcurrentConnections | Batas atas koneksi simultan yang ditetapkan ke penyimpanan data selama pelaksanaan aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan. | Tidak |
Contoh:
"activities":[
{
"name": "CopyFromAzureFileStorage",
"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": "AzureFileStorageReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
File Azure sebagai wastafel
Azure Data Factory mendukung jenis format file berikut. Lihat setiap artikel untuk mengetahui cara melakukan pengaturan berbasis format.
Properti berikut ini didukung untuk Azure Files di bawah pengaturan storeSettings di sink salinan berbasis format:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti jenis di bawah storeSettings harus diatur ke AzureFileStorageWriteSettings. |
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. |
Tidak |
| maxConcurrentConnections | Batas atas koneksi simultan yang ditetapkan ke penyimpanan data selama pelaksanaan aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan. | Tidak |
Contoh:
"activities":[
{
"name": "CopyToAzureFileStorage",
"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": "AzureFileStorageWriteSettings",
"copyBehavior": "PreserveHierarchy"
}
}
}
}
]
Catatan
Anda dapat menyalin hingga 4 MB data ke sink saat menggunakan identitas terkelola yang ditetapkan sistem atau ditetapkan pengguna sebagai jenis autentikasi.
Contoh filter folder dan file
Bagian ini menjelaskan perilaku hasil dari jalur folder dan nama file dengan filter wildcard.
| folderPath | fileName | recursive | Struktur folder sumber dan hasil filter (file dalam huruf tebal ditemukan) |
|---|---|---|---|
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 |
|---|---|---|
| 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/FolderADi sumber aktivitas salin: - Jalur daftar file: root/Metadata/FileListToCopy.txt Jalur daftar file mengarah ke file teks di penyimpanan data yang sama yang menyertakan daftar file yang ingin Anda salin, satu file per baris dengan jalur relatif ke jalur yang dikonfigurasi dalam himpunan data. |
contoh rekursif dan perilaku salin
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 | mempertahankanHierarki | 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 | meratakanHierarki | 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 | mempertahankanHierarki | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Folder target Folder1 dibuat dengan struktur berikut Folder1 File1 File2 Subfolder1 dengan File3, File4, dan File5 tidak diproses. |
| salah | meratakanHierarki | 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 diproses. |
| 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 diproses. |
Properti aktivitas pencarian
Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.
Properti aktivitas GetMetadata
Untuk mempelajari rincian tentang properti ini, periksa Aktivitas GetMetadata
Hapus properti aktivitas
Untuk mempelajari rincian tentang properti ini, periksa Aktivitas penghapusan
Model lama
Catatan
Model-model berikut ini masih didukung seperti semula demi kompatibilitas ke belakang. Anda disarankan untuk ke depannya menggunakan model baru yang disebutkan di bagian yang disebutkan di atas, dan antarmuka pengguna penulisan telah beralih untuk menghasilkan model baru.
Model himpunan data lama
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti 'jenis' dari himpunan data harus diatur menjadi: FileShare | Ya |
| folderPath | Jalur ke folder. Filter karakter pengganti yang didukung adalah: * (cocok dengan nol karakter atau lebih) dan ? (cocok dengan nol atau satu karakter); gunakan ^ untuk meloloskan jika nama folder Anda yang sebenarnya memiliki karakter pengganti atau karakter pelarian di dalamnya. Contoh: rootfolder/subfolder/, lihat contoh lainnya dalam Contoh filter folder dan file. |
Ya |
| fileName |
Filter nama atau wildcard untuk file yang ada dalam "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 wildcard atau karakter escape ini di dalamnya.Ketika fileName tidak ditentukan untuk himpunan data output dan preserveHierarchy tidak ditentukan dalam sink dari aktivitas, aktivitas salin secara otomatis menghasilkan nama file dengan pola berikut: "Data.[activity run ID GUID].[GUID jika FlattenHierarchy].[format jika dikonfigurasi].[compression jika dikonfigurasi]", misalnya "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz"; jika menyalin dari sumber tabular dengan nama tabel alih-alih kueri, pola nama adalah "[nama tabel].[format].[compression jika dikonfigurasi]", misalnya "MyTable.csv". |
Tidak |
| modifiedDatetimeStart | Filter file berdasarkan atribut: Terakhir Diubah. File akan dipilih jika waktu modifikasi terakhir file tersebut lebih besar dari atau sama dengan modifiedDatetimeStart dan kurang dari modifiedDatetimeEnd. Waktu diterapkan ke zona waktu UTC dalam format "2018-12-01T05:00:00Z". Perhatikan bahwa performa keseluruhan pergerakan data akan dipengaruhi dengan mengaktifkan pengaturan ini ketika Anda ingin melakukan filter file dengan file jumlah besar. 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, hal ini berarti file dengan nilai atribut terakhir diubah lebih besar dari atau sama dengan nilai tanggalwaktu akan dipilih. Ketika modifiedDatetimeEnd memiliki nilai tanggalwaktu tetapi modifiedDatetimeStart NULL, hal ini berarti file dengan nilai atribut terakhir diubah lebih kecil dari nilai tanggalwaktu akan dipilih. |
Tidak |
| akhirWaktuTanggalDiubah | Filter file berdasarkan atribut: Terakhir Diubah. File akan dipilih jika waktu modifikasi terakhir file tersebut lebih besar dari atau sama dengan modifiedDatetimeStart dan kurang dari modifiedDatetimeEnd. Waktu diterapkan ke zona waktu UTC dalam format "2018-12-01T05:00:00Z". Perhatikan bahwa performa keseluruhan pergerakan data akan dipengaruhi dengan mengaktifkan pengaturan ini ketika Anda ingin melakukan filter file dengan file jumlah besar. 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, hal ini berarti file dengan nilai atribut terakhir diubah lebih besar dari atau sama dengan nilai tanggalwaktu akan dipilih. Ketika modifiedDatetimeEnd memiliki nilai tanggalwaktu tetapi modifiedDatetimeStart NULL, hal ini berarti file dengan nilai atribut terakhir diubah lebih kecil dari nilai tanggalwaktu akan dipilih. |
Tidak |
| 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) |
| pemadatan | 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. |
Tidak |
Petunjuk
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": "AzureFileStorageDataset",
"properties": {
"type": "FileShare",
"linkedServiceName":{
"referenceName": "<Azure File Storage 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 sub folder atau hanya dari folder yang ditentukan. Perhatikan bahwa ketika rekursif diatur ke true dan sink adalah penyimpanan berbasis file, folder kosong/sub folder tidak akan disalin/dibuat di sink. Nilai yang diperbolehkan adalah: true (default) dan false |
Tidak |
| maxConcurrentConnections | Batas atas koneksi simultan yang ditetapkan ke penyimpanan data selama pelaksanaan aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan. | Tidak |
Contoh:
"activities":[
{
"name": "CopyFromAzureFileStorage",
"type": "Copy",
"inputs": [
{
"referenceName": "<Azure File Storage input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "FileSystemSource",
"recursive": true
},
"sink": {
"type": "<sink type>"
}
}
}
]
Model tujuan aktivitas salin lama
| 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. 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 akan menjadi nama yang ditentukan; jika tidak, akan berupa nama file yang dibuat secara otomatis. |
Tidak |
| maxConcurrentConnections | Batas atas koneksi simultan yang ditetapkan ke penyimpanan data selama pelaksanaan aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan. | Tidak |
Contoh:
"activities":[
{
"name": "CopyToAzureFileStorage",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Azure File Storage output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "FileSystemSink",
"copyBehavior": "PreserveHierarchy"
}
}
}
]
Konten terkait
Untuk daftar penyimpanan data yang didukung sebagai sumber dan tujuan oleh aktivitas salin, lihat penyimpanan data yang didukung.