Menyalin dan mengubah data di Amazon Simple Storage Service dengan 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 menggunakan Aktivitas Salin untuk menyalin data dari Amazon Simple Storage Service (Amazon S3), dan menggunakan Data Flow untuk mengubah data di Amazon S3. Untuk mempelajari selengkapnya, baca artikel pengantar untuk Azure Data Factory dan Synapse Analytics.

Tip

Untuk mempelajari selengkapnya tentang skenario migrasi data dari Amazon S3 ke Azure Storage, lihat Menggunakan Azure Data Factory untuk melakukan migrasi data dari Amazon S3 ke Azure Storage.

Kemampuan yang didukung

Konektor Amazon S3 ini didukung untuk kemampuan berikut:

Kemampuan yang didukung IR
Aktivitas penyalinan (sumber/-) ① ②
Memetakan aliran data (sumber/sink)
Aktivitas pencarian ① ②
Aktivitas GetMetadata ① ②
Aktivitas penghapusan ① ②

① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri

Secara khusus, konektor Amazon S3 ini mendukung penyalinan file apa adanya atau menguraikan file dengan format file dan pemadatan codec yang didukung. Anda juga dapat memilih untuk mempertahankan metadata file selama penyalinan. Konektor menggunakan AWS Signature Versi 4 untuk mengautentikasi permintaan ke S3.

Tip

Jika Anda ingin menyalin data dari penyedia penyimpanan yang kompatibel dengan S3, lihat Penyimpanan Kompatibel Amazon S3.

Memerlukan izin

Untuk menyalin data dari Amazon S3, pastikan Anda telah diberi izin berikut untuk operasi objek Amazon S3: s3:GetObject dan s3:GetObjectVersion.

Jika Anda menggunakan UI Data Factory untuk menulis, tambahan s3:ListAllMyBuckets dan s3:ListBucket/s3:GetBucketLocation izin diperlukan untuk operasi seperti menguji koneksi ke layanan tertaut dan penjelajahan dari root. Jika Anda tidak ingin memberikan izin ini, Anda dapat memilih opsi "Uji koneksi ke jalur file" atau "Telusuri dari jalur tertentu" dari UI.

Untuk daftar lengkap izin Amazon S3, lihat Menentukan Izin dalam Kebijakan di situs AWS.

Memulai

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

Membuat layanan terkait Amazon Simple Storage Service (S3) menggunakan UI

Gunakan langkah-langkah berikut untuk membuat layanan tertaut Amazon S3 di UI portal Azure.

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

  2. Cari Amazon dan pilih konektor Amazon S3.

    Screenshot of the Amazon S3 connector.

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

    Screenshot of configuration for an Amazon S3 linked service.

Detail konfigurasi konektor

Bagian berikut ini menyediakan detail tentang properti yang digunakan untuk menentukan entitas Data Factory tertentu untuk Amazon S3.

Properti layanan tertaut

Properti berikut ini didukung untuk layanan tertaut Amazon S3:

Properti Deskripsi Wajib
jenis Properti jenis harus diatur ke AmazonS3. Ya
authenticationType Tentukan jenis autentikasi yang digunakan untuk menyambungkan ke Amazon S3. Anda dapat memilih untuk menggunakan kunci akses untuk akun AWS Identity and Access Management (IAM), atau kredensial keamanan sementara.
Nilai yang diizinkan adalah: AccessKey (default) dan TemporarySecurityCredentials.
Tidak
accessKeyId ID dari kunci akses rahasia. Ya
secretAccessKey Kunci akses rahasia itu sendiri. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau referensikan rahasia yang disimpan di Azure Key Vault. Ya
sessionToken Berlaku saat menggunakan autentikasi kredensial keamanan sementara. Pelajari cara meminta kredensial keamanan sementara dari AWS.
Catatan kredensial sementara AWS kedaluwarsa antara 15 menit hingga 36 jam berdasarkan pengaturan. Pastikan info masuk Anda valid saat aktivitas dijalankan, terutama untuk beban kerja yang dioperasionalkan - misalnya, Anda dapat menyegarkannya secara berkala dan menyimpannya di Azure Key Vault.
Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau referensikan rahasia yang disimpan di Azure Key Vault.
Tidak
serviceUrl Tentukan titik akhir S3 kustom https://<service url>.
Ubah hanya jika Anda ingin mencoba titik akhir layanan yang berbeda atau ingin beralih antara https dan http.
Tidak
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan runtime integrasi Azure atau runtime integrasi yang dihost sendiri (jika penyimpanan data Anda berada di jaringan privat). Jika properti ini tidak ditentukan, layanan menggunakan runtime integrasi Azure default. Tidak

Contoh: menggunakan autentikasi kunci akses

{
    "name": "AmazonS3LinkedService",
    "properties": {
        "type": "AmazonS3",
        "typeProperties": {
            "accessKeyId": "<access key id>",
            "secretAccessKey": {
                "type": "SecureString",
                "value": "<secret access key>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Contoh: menggunakan otentikasi kredensial keamanan sementara

{
    "name": "AmazonS3LinkedService",
    "properties": {
        "type": "AmazonS3",
        "typeProperties": {
            "authenticationType": "TemporarySecurityCredentials",
            "accessKeyId": "<access key id>",
            "secretAccessKey": {
                "type": "SecureString",
                "value": "<secret access key>"
            },
            "sessionToken": {
                "type": "SecureString",
                "value": "<session token>"
            }
        },
        "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 Amazon S3 di bawah location pengaturan dalam himpunan data berbasis format:

Properti Deskripsi Wajib
jenis Properti jenis di bawah location dalam himpunan data harus diatur ke AmazonS3Location. Ya
bucketName Nama wadah S3. Ya
folderPath Jalur ke folder di bawah wadah yang diberikan. Jika Anda ingin menggunakan kartubebas untuk memfilter folder, lewati pengaturan ini dan tentukan di pengaturan sumber aktivitas. Tidak
fileName Nama file di bawah jalur wadah dan folder yang diberikan. Jika Anda ingin menggunakan kartubebas untuk memfilter file, lewati pengaturan ini dan tentukan di pengaturan sumber aktivitas. Tidak
versi Versi objek S3, jika penerapan versi S3 diaktifkan. Jika tidak ditentukan, versi terbaru akan diambil. Tidak

Contoh:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<Amazon S3 linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AmazonS3Location",
                "bucketName": "bucketname",
                "folderPath": "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 sumber Amazon S3.

Amazon S3 sebagai jenis sumber

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

Properti berikut didukung untuk Amazon S3 di bawah storeSettings pengaturan dalam sumber penyalinan berbasis format:

Properti Deskripsi Wajib
jenis Properti jenis di bawah storeSettings harus diatur ke AmazonS3ReadSettings. Ya
Menemukan file yang akan disalin:
OPSI 1: jalur statik
Menyalin dari wadah atau jalur folder/file yang diberikan dan ditentukan dalam himpunan data. Jika Anda ingin menyalin semua file dari satu wadah atau folder, tentukan juga wildcardFileName sebagai *.
OPSI 2: awalan S3
- awalan
Awalan untuk nama kunci S3 di bawah bucket yang diberikan dikonfigurasi dalam himpunan data untuk memfilter file S3 sumber. Kunci S3 yang namanya dimulai bucket_in_dataset/this_prefix dipilih. Ini menggunakan filter sisi layanan S3, yang memberikan performa yang lebih baik daripada filter kartubebas.

Ketika Anda menggunakan awalan dan memilih untuk menyalin ke sink berbasis file dengan mempertahankan hierarki, perhatikan bahwa sub-jalur setelah awalan "/" terakhir akan dipertahankan. Misalnya, Anda memiliki sumber bucket/folder/subfolder/file.txt, dan mengonfigurasi prefiks sebagai folder/sub, maka jalur file yang dipertahankan adalah subfolder/file.txt.
Tidak
OPSI 3: kartubebas
- wildcardFolderPath
Jalur folder dengan karakter kartubebas di bawah wadah yang diberikan dikonfigurasi dalam himpunan data untuk memfilter folder sumber.
Kartubebas yang diizinkan adalah: * (cocok dengan nol atau lebih karakter) dan ? (cocok dengan karakter nol atau satu). Gunakan ^ untuk karakter escape jika nama folder Anda memiliki karakter kartubebas atau karakter escape di dalamnya.
Lihat contoh lainnya dalam Contoh filter folder dan file.
Tidak
OPSI 3: kartubebas
- wildcardFileName
Nama file dengan kartubebas di bawah jalur wadah dan folder yang diberikan (atau jalur folder kartubebas) untuk memfilter file sumber.
Kartubebas yang diizinkan adalah: * (cocok dengan nol atau lebih karakter) dan ? (cocok dengan karakter nol atau satu). Gunakan ^ untuk karakter escape jika nama file Anda memiliki karakter kartubebas atau karakter escape di dalamnya. Lihat contoh lainnya dalam Contoh filter folder dan file.
Ya
OPSI 4: 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 Anda menggunakan opsi ini, jangan tentukan nama file di 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. Perhatikan bahwa ketika recursive diatur ke true dan sink adalah penyimpanan berbasis file, folder kosong atau subfolder tidak disalin atau dibuat di sink.
Nilai yang diizinkan adalah true (default) dan false.
Properti ini tidak berlaku saat Anda mengonfigurasi fileListPath.
Tidak
deleteFilesAfterCompletion 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 File difilter 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 menjadi NULL, yang berarti tidak ada filter atribut file yang akan diterapkan ke himpunan data. Ketika modifiedDatetimeStart memiliki nilai tanggalwaktu tetapi modifiedDatetimeEnd adalah NUL, hal ini berarti file dengan nilai atribut yang terakhir diubah memiliki nilai lebih besar dari atau sama dengan nilai tanggalwaktu yang dipilih. Ketika modifiedDatetimeEnd memiliki nilai tanggalwaktu tetapi modifiedDatetimeStartadalah NUL, file dengan nilai atributnya yang terakhir diubah lebih kecil dari nilai tanggalwaktu akan dipilih.
Properti ini tidak berlaku saat Anda mengonfigurasi fileListPath.
Tidak
modifiedDatetimeEnd Sama dengan atas. Tidak
enablePartitionDiscovery 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 kartubebas, jalur akar partisi adalah sub-jalur sebelum kartubebas pertama.
- Ketika Anda menggunakan awalan, jalur akar partisi adalah sub-path sebelum "/" terakhir.

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 bersamaan yang ditetapkan ke penyimpanan data selama eksekusi aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan. Tidak

Contoh:

"activities":[
    {
        "name": "CopyFromAmazonS3",
        "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": "AmazonS3ReadSettings",
                    "recursive": true,
                    "wildcardFolderPath": "myfolder*A",
                    "wildcardFileName": "*.csv"
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Contoh filter folder dan file

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

wadah kunci recursive Struktur folder sumber dan hasil filter (file dalam huruf tebal akan diambil)
wadah Folder*/* salah wadah
    FolderA
        File1.csv
        File2.json
        Subfolder1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
wadah Folder*/* benar wadah
    FolderA
        File1.csv
        File2.json
        Subfolder1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
wadah Folder*/*.csv salah wadah
    FolderA
        File1.csv
        File2.json
        Subfolder1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
wadah Folder*/*.csv benar wadah
    FolderA
        File1.csv
        File2.json
        Subfolder1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv

Contoh daftar file

Bagian ini menjelaskan perilaku yang dihasilkan menggunakan jalur daftar file di sumber aktivitas penyalinan.

Asumsikan bahwa Anda memiliki struktur folder sumber berikut dan ingin menyalin file dengan huruf tebal:

Struktur sumber sampel Konten dalam FileListToCopy.txt Konfigurasi
wadah
    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:
- Wadah: bucket
- Jalur folder: FolderA

Di sumber aktivitas Salin:
- Jalur daftar file: bucket/Metadata/FileListToCopy.txt

Jalur daftar file menunjuk 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.

Mempertahankan metadata selama penyalinan

Saat menyalin file dari Amazon S3 ke Azure Data Lake Storage Gen2 atau penyimpanan Azure Blob, Anda dapat memilih untuk mempertahankan metadata file bersama dengan data. Pelajari lebih lanjut dari Mempertahankan metadata.

Properti pemetaan aliran data

Saat Anda mentransformasi data dalam memetakan aliran data, Anda bisa membaca file dari Amazon S3 dalam format berikut:

Pengaturan format-spesifik terletak di dokumentasi untuk format tersebut. Untuk informasi selengkapnya, lihat Transformasi sumber dalam pemetaan aliran data.

Transformasi sumber

Dalam transformasi sumber, Anda dapat membaca dari kontainer, folder, atau file individu di penyimpanan Amazon S3. Gunakan tab Opsi sumber untuk mengelola cara membaca file.

Screenshot of Source options.

Jalur kartubebas: Menggunakan pola karakter pengganti akan menginstruksikan layanan untuk mengulang setiap folder dan file yang cocok dalam transformasi sumber tunggal. Cara ini efektif untuk memproses beberapa file dalam satu aliran. Tambahkan beberapa pola pencocokan kartubebas dengan tanda plus yang muncul saat Anda mengarahkan kursor ke pola kartubebas yang ada.

Dari kontainer sumber Anda, pilih serangkaian file yang cocok dengan satu pola. Hanya kontainer yang dapat ditentukan dalam himpunan data. Oleh karena itu, jalur kartubebas Anda juga harus menyertakan jalur folder Anda dari folder akar.

Contoh kartubebas:

  • * Mewakili set karakter.

  • ** Mewakili nesting direktori rekursif.

  • ? Menggantikan satu karakter.

  • [] Mencocokkan satu atau beberapa karakter dalam tanda kurung.

  • /data/sales/**/*.csv Mendapatkan semua file .csv di bawah /data/penjualan.

  • /data/sales/20??/**/ Mendapatkan semua file di abad ke-20.

  • /data/sales/*/*/*.csv Mendapatkan file .csv dua tingkat di bawah /data/penjualan.

  • /data/sales/2004/*/12/[XY]1?.csv Mendapatkan semua file .csv pada Desember tahun 2004 dimulai dengan X atau Y di awali dengan angka dua digit.

Jalur akar partisi: Jika Anda telah mempartisi folder di sumber file dengan format key=value (misalnya, year=2019), Anda dapat menetapkan tingkat teratas pohon folder partisi tersebut ke nama kolom dalam aliran untuk aliran data Anda.

Pertama, atur kartubebas untuk menyertakan semua jalur yang merupakan folder yang dipartisi ditambah file daun yang ingin Anda baca.

Screenshot of partition source file settings.

Gunakan pengaturan Jalur akar partisi untuk menentukan tingkat atas struktur folder. Saat Anda menampilkan konten data Anda melalui pratinjau data, Anda akan melihat bahwa layanan akan menambahkan partisi yang telah diselesaikan yang ditemukan di setiap tingkat folder Anda.

Screenshot of partition root path.

Daftar berkas: Daftar ini adalah set file. Buat file teks yang menyertakan daftar file jalur relatif untuk diproses. Arahkan ke file teks ini.

Kolom untuk menyimpan nama file: Simpan nama file sumber dalam kolom di data Anda. Masukkan nama kolom baru di sini untuk menyimpan untai (karakter) nama file.

Setelah selesai: Pilih untuk tidak melakukan apa pun pada file sumber setelah aliran data berjalan, menghapus file sumber, atau memindahkan file sumber. Jalur untuk perpindahan bersifat relatif.

Untuk memindahkan file sumber ke lokasi lain pasca-pemrosesan, pertama-tama pilih "Pindahkan" untuk operasi file. Kemudian, atur direktori "dari". Jika Anda tidak menggunakan kartubebas untuk jalur Anda, pengaturan "dari" akan menjadi folder yang sama dengan folder sumber Anda.

Jika Anda memiliki jalur sumber dengan kartubebas, sintaks Anda akan terlihat seperti di bawah ini:

/data/sales/20??/**/*.csv

Anda dapat menentukan "dari" sebagai:

/data/sales

Dan Anda dapat menentukan "ke" sebagai:

/backup/priorSales

Dalam hal ini, semua file yang bersumber di bawah /data/sales dipindahkan ke /backup/priorSales.

Catatan

Operasi file hanya berjalan ketika Anda memulai aliran data dari eksekusi alur (debug alur atau eksekusi alur) yang menggunakan aktivitas Jalankan Aliran Data dalam alur. Operasi file tidak berjalan dalam mode debug Aliran Data.

Filter berdasarkan terakhir diubah: Anda dapat memfilter file mana yang Anda proses dengan menentukan rentang tanggal file terakhir diubah. Semua tanggalwaktu dalam format UTC.

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 sebagaimana adanya untuk kompatibilitas mundur. Kami menyarankan agar Anda menggunakan model baru yang disebutkan sebelumnya. Antarmuka pengguna penulisan telah beralih untuk menghasilkan model baru.

Model himpunan data warisan

Properti Deskripsi Wajib
jenis Properti jenis himpunan data harus diatur ke AmazonS3Object. Ya
bucketName Nama wadah S3. Filter kartubebas tidak didukung. Ya untuk aktivitas Penyalinan atau Pencarian, tidak untuk aktivitas GetMetadata
kunci Nama atau filter kartubebas kunci objek S3 di bawah bucket yang ditentukan. Hanya berlaku ketika properti awalan tidak ditentukan.

Filter kartubebas didukung untuk bagian folder dan komponen nama file. Kartubebas yang diizinkan adalah: * (cocok dengan nol atau lebih karakter) dan ? (cocok dengan karakter nol atau satu).
- Contoh 1: "key": "rootfolder/subfolder/*.csv"
- Contoh 2: "key": "rootfolder/subfolder/???20180427.txt"
Lihat contoh lainnya dalam contoh Folder dan filter file. Gunakan ^ untuk karakter escape jika nama folder asli Anda memiliki karakter kartubebas atau karakter escape di dalamnya.
Tidak
awalan Awalan untuk kunci objek S3. Obyek yang kuncinya dimulai dengan awalan ini dipilih. Hanya berlaku ketika properti kunci tidak ditentukan. Tidak
versi Versi objek S3, jika penerapan versi S3 diaktifkan. Jika versi tidak ditentukan, versi terbaru akan diambil. Tidak
modifiedDatetimeStart File difilter 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”.

Ketahuilah bahwa mengaktifkan pengaturan ini akan memengaruhi kinerja keseluruhan pergerakan data saat Anda ingin memfilter file dalam 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 adalah NUL, hal ini berarti file dengan nilai atribut yang terakhir diubah memiliki nilai lebih besar dari atau sama dengan nilai tanggalwaktu yang dipilih. Ketika modifiedDatetimeEnd memiliki nilai tanggalwaktu tetapi modifiedDatetimeStartadalah NUL, file dengan nilai atributnya yang terakhir diubah lebih kecil dari nilai tanggalwaktu akan dipilih.
Tidak
modifiedDatetimeEnd File difilter 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”.

Ketahuilah bahwa mengaktifkan pengaturan ini akan memengaruhi kinerja keseluruhan pergerakan data saat Anda ingin memfilter file dalam 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 adalah NUL, hal ini berarti file dengan nilai atribut yang terakhir diubah memiliki nilai lebih besar dari atau sama dengan nilai tanggalwaktu yang dipilih. Ketika modifiedDatetimeEnd memiliki nilai tanggalwaktu tetapi modifiedDatetimeStartadalah NUL, file dengan nilai atributnya yang terakhir diubah lebih kecil dari nilai tanggalwaktu akan dipilih.
Tidak
format Jika Anda ingin menyalin file sebagaimana adanya antar penyimpanan berbasis file (salinan biner), lewati bagian format di definisi 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.
Level yang didukung adalah: Optimal dan Tercepat.
Tidak

Tip

Untuk menyalin semua file di bawah folder, tentukan bucketName untuk bucket dan awalan untuk bagian folder.

Untuk menyalin satu file dengan nama tertentu, tentukan bucketName untuk bucket dan kunci untuk bagian folder plus nama file.

Untuk menyalin subkumpulan file di bawah folder, tentukan bucketName untuk bucket dan kunci untuk bagian folder plus filter kartubebas.

Contoh: menggunakan awalan

{
    "name": "AmazonS3Dataset",
    "properties": {
        "type": "AmazonS3Object",
        "linkedServiceName": {
            "referenceName": "<Amazon S3 linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "bucketName": "testbucket",
            "prefix": "testFolder/test",
            "modifiedDatetimeStart": "2018-12-01T05:00:00Z",
            "modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ",",
                "rowDelimiter": "\n"
            },
            "compression": {
                "type": "GZip",
                "level": "Optimal"
            }
        }
    }
}

Contoh: menggunakan kunci dan versi (opsional)

{
    "name": "AmazonS3Dataset",
    "properties": {
        "type": "AmazonS3",
        "linkedServiceName": {
            "referenceName": "<Amazon S3 linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "bucketName": "testbucket",
            "key": "testFolder/testfile.csv.gz",
            "version": "XXXXXXXXXczm0CJajYkHf0_k6LhBmkcL",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ",",
                "rowDelimiter": "\n"
            },
            "compression": {
                "type": "GZip",
                "level": "Optimal"
            }
        }
    }
}

Model sumber warisan untuk aktivitas Salin

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

Contoh:

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

Untuk daftar penyimpanan data yang didukung aktivitas Salin sebagai sumber dan sink, lihat Penyimpanan data yang didukung.