Udostępnij przez


Kopiowanie danych do lub z systemu plików przy użyciu usługi Azure Data Factory lub Azure Synapse Analytics

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

W tym artykule opisano sposób kopiowania danych do i z systemu plików. Aby dowiedzieć się więcej, przeczytaj artykuł wprowadzający dotyczący usługi Azure Data Factory lub Azure Synapse Analytics.

Obsługiwane możliwości

Ten łącznik systemu plików jest obsługiwany w następujących funkcjach:

Obsługiwane możliwości środowisko IR
działanie Kopiuj (źródło/ujście) (1) (2)
Działanie Wyszukiwania (1) (2)
Działanie GetMetadata (1) (2)
Usuń działanie (1) (2)

(1) Środowisko uruchomieniowe Azure (2) Lokalne środowisko uruchomieniowe

W szczególności ten łącznik systemu plików obsługuje następujące elementy:

  • Kopiowanie plików z/do zasobu sieciowego. Aby używać udziału plików Linux, zainstaluj program Samba na swoim serwerze Linux.
  • Kopiowanie plików przy użyciu uwierzytelniania systemu Windows .
  • Kopiowanie plików bez zmian lub analizowanie/generowanie plików przy użyciu obsługiwanych formatów plików i kodeków kompresji.

Wymagania wstępne

Jeśli magazyn danych znajduje się w sieci lokalnej, sieci wirtualnej Azure lub w środowisku Amazon Virtual Private Cloud, musisz skonfigurować własne środowisko uruchomieniowe integracji, aby się z nim połączyć.

Jeśli magazyn danych jest zarządzaną usługą danych w chmurze, możesz użyć środowiska Azure Integration Runtime. Jeśli dostęp jest ograniczony do adresów IP zatwierdzonych w regułach zapory, możesz dodać adresy IP środowiska Azure Integration Runtime do listy dozwolonych.

Możesz również użyć funkcji środowiska Integration Runtime zarządzanej sieci wirtualnej w usłudze Azure Data Factory, aby uzyskać dostęp do sieci lokalnej bez instalowania i konfigurowania własnego środowiska Integration Runtime.

Aby uzyskać więcej informacji na temat mechanizmów zabezpieczeń sieci i opcji obsługiwanych przez usługę Data Factory, zobacz Strategie dostępu do danych.

Wprowadzenie

Aby wykonać działanie kopiowania za pomocą potoku, możesz użyć jednego z następujących narzędzi lub zestawów SDK:

Tworzenie połączonej usługi systemu plików przy użyciu interfejsu użytkownika

Wykonaj poniższe kroki, aby utworzyć połączoną usługę systemu plików w interfejsie użytkownika witryny Azure Portal.

  1. Przejdź do karty Zarządzanie w obszarze roboczym usługi Azure Data Factory lub Synapse i wybierz pozycję Połączone usługi, a następnie wybierz pozycję Nowe:

  2. Wyszukaj plik i wybierz łącznik File System.

    Zrzut ekranu przedstawiający łącznik systemu plików.

  3. Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.

    Zrzut ekranu przedstawiający konfigurację połączonej usługi systemu plików.

Szczegóły konfiguracji łącznika

Poniższe sekcje zawierają szczegółowe informacje o właściwościach używanych do definiowania jednostek potoku usługi Data Factory i Synapse specyficznych dla systemu plików.

Właściwości połączonej usługi

Następujące właściwości są obsługiwane w przypadku połączonej usługi systemu plików:

Nieruchomość Opis Wymagane
typ Właściwość type musi być ustawiona na: FileServer. Tak
gospodarz Określa ścieżkę główną folderu, który chcesz skopiować. Użyj znaku ucieczki „"” do wprowadzenia znaków specjalnych w ciągu. Przykładowe definicje połączonej usługi i zestawu danych można znaleźć w temacie Sample linked service and dataset definitions (Przykładowe połączone definicje usług i zestawów danych). Tak
Identyfikator użytkownika Określ identyfikator użytkownika, który ma dostęp do serwera. Tak
hasło Określ hasło użytkownika (userId). Oznacz to pole jako element SecureString w celu bezpiecznego przechowywania go lub odwołuj się do wpisu tajnego przechowywanego w usłudze Azure Key Vault. Tak
connectVia Środowisko Integration Runtime, które będzie używane do połączenia z magazynem danych. Dowiedz się więcej w sekcji Wymagania wstępne . Jeśli nie zostanie określony, używa domyślnego środowiska Azure Integration Runtime. Nie.

Przykładowe połączone definicje usług i zestawów danych

Scenariusz "host" w definicji połączonej usługi "folderPath" w definicji zestawu danych
Zdalny folder udostępniony:

Przykłady: \\myserver\share\* lub \\myserver\share\folder\subfolder\*
W formacie JSON: \\\\myserver\\share
W interfejsie użytkownika: \\myserver\share
W formacie JSON: .\\ lub folder\\subfolder
W interfejsie użytkownika: .\ lub folder\subfolder

Uwaga

Podczas tworzenia za pośrednictwem interfejsu użytkownika nie trzeba wprowadzać podwójnego ukośnika odwrotnego (\\), aby uniknąć takiego jak w przypadku kodu JSON, określ pojedynczy ukośnik odwrotny.

Uwaga

Kopiowanie plików z komputera lokalnego nie jest obsługiwane w środowisku Azure Integration Runtime.
Zapoznaj się z wierszem polecenia z tego miejsca, aby włączyć dostęp do maszyny lokalnej w ramach środowiska uruchomieniowego integracji hostowanego lokalnie. Domyślnie jest ona wyłączona.

Przykład:

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

Właściwości zestawu danych

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania zestawów danych, zobacz artykuł Zestawy danych.

Usługa Azure Data Factory obsługuje następujące formaty plików. Zapoznaj się z każdym artykułem, aby zapoznać się z ustawieniami opartymi na formacie.

Następujące właściwości są obsługiwane w przypadku systemu plików w ustawieniach location w zestawie danych opartym na formacie:

Nieruchomość Opis Wymagane
typ Właściwość type w obszarze location w zestawie danych musi być ustawiona na FileServerLocation. Tak
folderPath Ścieżka do folderu. Jeśli chcesz używać symbolu wieloznakowego do filtrowania folderu, pomiń to ustawienie i określ je w ustawieniach źródła działań. Aby udostępnić folder, należy ustawić lokalizację udziału plików w środowisku systemu Windows lub Linux. Nie.
nazwaPliku Nazwa pliku w danym folderPath. Jeśli chcesz używać symbolu wieloznakowego do filtrowania plików, pomiń to ustawienie i określ je w ustawieniach źródła działań. Nie.

Przykład:

{
    "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"
        }
    }
}

Właściwości działania kopiowania

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz artykuł Pipelines. Ta sekcja zawiera listę właściwości obsługiwanych przez źródło i ujście systemu plików.

System plików jako źródło

Usługa Azure Data Factory obsługuje następujące formaty plików. Zapoznaj się z każdym artykułem, aby zapoznać się z ustawieniami opartymi na formacie.

Następujące właściwości są obsługiwane w systemie plików w ramach ustawień storeSettings w źródle kopiowania opartym na formacie:

Nieruchomość Opis Wymagane
typ Właściwość type w obszarze storeSettings musi być ustawiona na FileServerReadSettings. Tak
Znajdź pliki do skopiowania:
OPCJA 1: ścieżka statyczna
Skopiuj z podanej ścieżki folderu/pliku określonej w zestawie danych. Jeśli chcesz skopiować wszystkie pliki z folderu, dodatkowo określ wildcardFileName jako *.
OPCJA 2: filtr po stronie serwera
- fileFilter
Filtr natywny po stronie serwera plików, który zapewnia lepszą wydajność niż filtr wieloznaczny OPTION 3. Użyj * , aby dopasować zero lub więcej znaków i ? dopasować zero lub pojedynczy znak. Dowiedz się więcej na temat składni i notatek z uwag w tej sekcji. Nie.
OPCJA 3. Filtr po stronie klienta
- symbol wieloznacznyFolderPath
Ścieżka folderu z symbolami wieloznacznymi do filtrowania folderów źródłowych. Taki filtr odbywa się w usłudze, która wylicza foldery/pliki w ramach podanej ścieżki, a następnie stosuje filtr wieloznaczny.
Dozwolone symbole wieloznaczne to: * (pasuje do zera lub większej liczby znaków) i ? (pasuje do zera lub pojedynczego znaku); użyj ^ , aby uniknąć, jeśli rzeczywista nazwa folderu ma symbol wieloznaczny lub znak ucieczki wewnątrz.
Zobacz więcej przykładów w przykładach filtru folderów i plików.
Nie.
OPCJA 3. Filtr po stronie klienta
- symbol wieloznacznyFileName
Nazwa pliku z symbolami wieloznacznymi w ramach folderPath/wildcardFolderPath do filtrowania plików źródłowych. Taki filtr odbywa się w usłudze, która wylicza pliki w podanej ścieżce, a następnie stosuje filtr wieloznaczny.
Dozwolone symbole wieloznaczne to: * (pasuje do zera lub większej liczby znaków) i ? (pasuje do zera lub pojedynczego znaku); użyj ^ , aby uniknąć, jeśli rzeczywista nazwa pliku ma symbol wieloznaczny lub znak ucieczki wewnątrz.
Zobacz więcej przykładów w przykładach filtru folderów i plików.
Tak
OPCJA 3: lista plików
- ścieżka listy plików
Wskazuje, aby skopiować dany zestaw plików. Wskaż plik tekstowy zawierający listę plików, które chcesz skopiować, jeden plik na wiersz, czyli ścieżkę względną do ścieżki skonfigurowanej w zestawie danych.
W przypadku korzystania z tej opcji nie należy określać nazwy pliku w zestawie danych. Zobacz więcej przykładów w Liście przykładów plików.
Nie.
Dodatkowe ustawienia:
Rekursywny Wskazuje, czy dane są odczytywane rekursywnie z podfolderów, czy tylko z określonego folderu. Gdy rekursywna jest ustawiona na wartość true, a ujście jest magazynem opartym na plikach, pusty folder lub podfolder nie jest kopiowany ani tworzony w ujściu.
Dozwolone wartości to true (wartość domyślna) i false.
Ta właściwość nie ma zastosowania podczas konfigurowania fileListPath.
Nie.
Usuń pliki po zakończeniu Wskazuje, czy pliki binarne są usuwane z magazynu źródłowego po pomyślnym przeniesieniu do magazynu docelowego. Usuwanie odbywa się dla każdego pliku z osobna. Oznacza to, że gdy działanie zakończy się niepowodzeniem, niektóre pliki zostały już skopiowane do miejsca docelowego i usunięte ze źródła, podczas gdy inne nadal pozostają w magazynie źródłowym.
Ta właściwość jest prawidłowa tylko w scenariuszu kopiowania plików binarnych. Wartość domyślna: false.
Nie.
zmodyfikowanaDataCzasPoczątek Filtr plików na podstawie atrybutu: Ostatnia modyfikacja.
Pliki są wybierane, jeśli ich czas ostatniej modyfikacji jest większy lub równy modifiedDatetimeStart i mniejszy niż modifiedDatetimeEnd. Czas jest stosowany do strefy czasowej UTC w formacie RRRR-MM-DDTHH:mm:ssZ.
Właściwości mogą mieć wartość NULL, co oznacza, że do zestawu danych nie jest stosowany filtr atrybutu pliku. Jeśli modifiedDatetimeStart ma wartość data/godzina, ale modifiedDatetimeEnd ma wartość NULL, oznacza to, że wybrano pliki, których ostatnio zmodyfikowany atrybut jest większy lub równy wartości daty/godziny. Jeśli modifiedDatetimeEnd ma wartość datetime, ale modifiedDatetimeStart ma wartość NULL, oznacza to, że pliki, których ostatnio zmodyfikowany atrybut jest mniejszy niż wartość daty/godziny, są zaznaczone.
Ta właściwość nie ma zastosowania podczas konfigurowania fileListPath.
Nie.
zmodyfikowanyCzasKoniec Tak samo jak modifiedDateTimeStart. Nie.
aktywujOdkrywaniePartyji W przypadku plików podzielonych na partycje określ, czy analizować partycje ze ścieżki pliku i dodać je jako dodatkowe kolumny źródłowe.
Dozwolone wartości to false (wartość domyślna) i true.
Nie.
partitionRootPath Po włączeniu odnajdywania partycji określ bezwzględną ścieżkę katalogu głównego, aby odczytywać foldery podzielone na partycje jako kolumny danych.

Jeśli nie jest określony, domyślnie,
— Jeśli używasz ścieżki pliku w zestawie danych lub liście plików w źródle, ścieżka główna partycji jest ścieżką skonfigurowaną w zestawie danych.
— W przypadku używania filtru folderów wieloznacznych ścieżka główna partycji jest ścieżką podrzędną przed pierwszym symbolem wieloznacznymi.

Załóżmy na przykład, że ścieżka w zestawie danych zostanie skonfigurowana jako "root/folder/year=2020/month=08/day=27":
- Jeśli określisz ścieżkę główną partycji jako "root/folder/year=2020", działanie kopiowania generuje dwie kolejne kolumny month i day z wartością "08" i "27" odpowiednio, oprócz kolumn w plikach.
— Jeśli ścieżka główna partycji nie jest określona, nie jest generowana żadna dodatkowa kolumna.
Nie.
maksymalna liczba równoczesnych połączeń Górny limit połączeń współbieżnych ustanowionych z magazynem danych podczas uruchamiania działania. Określ wartość tylko wtedy, gdy chcesz ograniczyć połączenia współbieżne. Nie.

Przykład:

"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>"
            }
        }
    }
]

System plików jako ujście

Usługa Azure Data Factory obsługuje następujące formaty plików. Zapoznaj się z każdym artykułem, aby zapoznać się z ustawieniami opartymi na formacie.

Uwaga

Opcja MergeFilescopyBehavior jest dostępna tylko w potokach usługi Azure Data Factory, a nie w potokach usługi Synapse Analytics.

Następujące właściwości są obsługiwane dla systemu plików w ustawieniach storeSettings dotyczących kopiowania w oparciu o format:

Nieruchomość Opis Wymagane
typ Właściwość type w obszarze storeSettings musi być ustawiona na FileServerWriteSettings. Tak
copyBehavior Definiuje zachowanie kopiowania, gdy źródłem są pliki z magazynu danych opartego na plikach.

Dozwolone wartości to:
- PreserveHierarchy (wartość domyślna): Zachowuje hierarchię plików w folderze docelowym. Względna ścieżka pliku źródłowego do folderu źródłowego jest identyczna ze względną ścieżką pliku docelowego do folderu docelowego.
- FlattenHierarchy: Wszystkie pliki z folderu źródłowego znajdują się na pierwszym poziomie folderu docelowego. Pliki docelowe mają automatycznie wygenerowane nazwy.
- MergeFiles: Łączy wszystkie pliki z folderu źródłowego w jeden plik. Jeśli określono nazwę pliku, nazwa pliku wynikowego będzie tą określoną nazwą. W przeciwnym razie jest to automatycznie wygenerowana nazwa pliku.
Nie.
maksymalna liczba równoczesnych połączeń Górny limit połączeń współbieżnych ustanowionych z magazynem danych podczas uruchamiania działania. Określ wartość tylko wtedy, gdy chcesz ograniczyć połączenia współbieżne. Nie.

Przykład:

"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"
                }
            }
        }
    }
]

Przykłady filtrów folderów i plików

W tej sekcji opisano wynikowe zachowanie ścieżki folderu i nazwy pliku z filtrami wieloznacznymi.

folderPath nazwaPliku Rekursywny Struktura folderu źródłowego i wynik filtru (pobierane są pliki pogrubione )
Folder* (puste, użyj wartości domyślnej) fałsz FolderA
     File1.csv
     File2.json
    Podfolder 1
        File3.csv
        File4.json
        File5.csv
InnyFolderB
    File6.csv
Folder* (puste, użyj wartości domyślnej) prawda FolderA
     File1.csv
     File2.json
    Podfolder 1
         File3.csv
         File4.json
         File5.csv
InnyFolderB
    File6.csv
Folder* *.csv fałsz FolderA
     File1.csv
    File2.json
    Podfolder 1
        File3.csv
        File4.json
        File5.csv
InnyFolderB
    File6.csv
Folder* *.csv prawda FolderA
     File1.csv
    File2.json
    Podfolder 1
         File3.csv
        File4.json
         File5.csv
InnyFolderB
    File6.csv

Przykłady listy plików

W tej sekcji opisano wynikowe zachowanie używania ścieżki listy plików w źródle działania kopiowania.

Zakładając, że masz następującą strukturę folderów źródłowych i chcesz skopiować pogrubione pliki:

Przykładowa struktura źródła Zawartość pliku FileListToCopy.txt Konfiguracja potoku
korzeń
    FolderA
         File1.csv
        File2.json
        Podfolder 1
             File3.csv
            File4.json
             File5.csv
    Metadane
        FileListToCopy.txt
File1.csv
Podfolder1/File3.csv
Podfolder1/Plik5.csv
W zestawie danych:
- Ścieżka folderu: root/FolderA

W źródle działania kopiowania:
- Ścieżka listy plików: root/Metadata/FileListToCopy.txt

Ścieżka listy plików wskazuje plik tekstowy w tym samym magazynie danych. Zawiera listę plików, które chcesz skopiować. Każdy wiersz zawiera ścieżkę względną do pliku na podstawie ścieżki głównej skonfigurowanej w zestawie danych.

przykłady zastosowania rekursji i zachowania kopiowania

W tej sekcji opisano wynikowe zachowanie operacji Kopiuj dla różnych kombinacji wartości rekursywnych i zachowań kopiowania.

Rekursywny copyBehavior Struktura folderu źródłowego Wynikowy cel
prawda zachowaj hierarchię Folder1
    Plik1
    Plik2
    Podfolder 1
        Plik3
        Plik4
        Plik5
Folder docelowy Folder1 jest tworzony z taką samą strukturą jak źródło:

Folder1
    Plik1
    Plik2
    Podfolder 1
        Plik3
        Plik4
        Plik5.
prawda spłaszczenie hierarchii Folder1
    Plik1
    Plik2
    Podfolder 1
        Plik3
        Plik4
        Plik5
Folder docelowy1 jest tworzony z następującą strukturą:

Folder1
    automatycznie wygenerowana nazwa pliku File1
    automatycznie wygenerowana nazwa dla pliku File2
    automatycznie wygenerowana nazwa dla pliku File3
    automatycznie wygenerowana nazwa dla pliku File4
    automatycznie wygenerowana nazwa dla pliku File5
prawda połączPliki Folder1
    Plik1
    Plik2
    Podfolder 1
        Plik3
        Plik4
        Plik5
Folder docelowy1 jest tworzony z następującą strukturą:

Folder1
    Plik1 + Plik2 + Plik3 + Plik4 + Zawartość pliku 5 są scalane w jeden plik z automatycznie wygenerowaną nazwą pliku
fałsz zachowaj hierarchię Folder1
    Plik1
    Plik2
    Podfolder 1
        Plik3
        Plik4
        Plik5
Folder docelowy Folder1 jest tworzony z następującą strukturą

Folder1
    Plik1
    Plik2

Podfolder1 z plikami File3, File4 i File5 nie są pobierane.
fałsz spłaszczenie hierarchii Folder1
    Plik1
    Plik2
    Podfolder 1
        Plik3
        Plik4
        Plik5
Folder docelowy Folder1 jest tworzony z następującą strukturą

Folder1
    automatycznie wygenerowana nazwa pliku File1
    automatycznie wygenerowana nazwa dla pliku File2

Podfolder1 z plikami File3, File4 i File5 nie są pobierane.
fałsz połączPliki Folder1
    Plik1
    Plik2
    Podfolder 1
        Plik3
        Plik4
        Plik5
Folder docelowy Folder1 jest tworzony z następującą strukturą

Folder1
    Zawartości File1 i File2 są scalone w jeden plik o automatycznie wygenerowanej nazwie pliku. automatycznie wygenerowana nazwa pliku File1

Podfolder1 z plikami File3, File4 i File5 nie są pobierane.

Właściwości działania wyszukiwania

Aby dowiedzieć się więcej o właściwościach, sprawdź aktywność przeszukiwania.

Właściwości działania GetMetadata

Aby dowiedzieć się więcej o właściwościach, sprawdź działanie GetMetadata.

Usuń właściwości działania

Aby poznać szczegóły dotyczące właściwości, sprawdź Usuń aktywność.

Starsze modele

Uwaga

Następujące modele są nadal obsługiwane w ramach zgodności wstecznej. Sugeruje się, aby używać nowego modelu wymienionego w powyższych sekcjach, a autorski interfejs użytkownika teraz generuje nowy model.

Dziedziczony model zestawu danych

Nieruchomość Opis Wymagane
typ Właściwość type zestawu danych musi być ustawiona na: FileShare Tak
folderPath Ścieżka do folderu. Filtr wieloznaczny jest obsługiwany. Dozwolone symbole wieloznaczne to: * (pasuje do zera lub większej liczby znaków) i ? (pasuje do zera lub pojedynczego znaku); użyj ^ , aby uniknąć, jeśli rzeczywista nazwa folderu ma symbol wieloznaczny lub znak ucieczki wewnątrz.

Przykłady: rootfolder/subfolder/, zobacz więcej przykładów w przykładowych definicjach połączonych usług i zestawów danych oraz przykładach filtrów folderów i plików.
Nie.
nazwaPliku Nazwa lub filtr symboli wieloznacznych dla plików w określonej ścieżce folderu "folderPath". Jeśli nie określisz wartości dla tej właściwości, zestaw danych wskazuje wszystkie pliki w folderze.

W przypadku filtru dozwolone symbole wieloznaczne to: * (pasuje do zera lub większej liczby znaków) i ? (pasuje do zera lub pojedynczego znaku).
- Przykład 1: "fileName": "*.csv"
— Przykład 2: "fileName": "???20180427.txt"
Użyj ^ do zastosowania znaku ucieczki, jeśli rzeczywista nazwa pliku zawiera symbol wieloznaczny lub ten znak.

Jeśli parametr fileName nie jest określony dla wyjściowego zestawu danych i parametr preserveHierarchy nie jest określony w ujściu działania kopiowania, działanie kopiowania automatycznie generuje nazwę pliku zgodnie z następującym schematem: "Data.[identyfikator GUID przebiegu działania].[IDENTYFIKATOR GUID, jeśli FlattenHierarchy].[format, jeśli został skonfigurowany].[kompresja, jeśli skonfigurowano]", np. "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz"; jeśli kopiujesz ze źródła tabelarycznego używając nazwy tabeli zamiast kwerendy, schemat nazwy to "[nazwa tabeli].[format].[kompresja, jeśli została skonfigurowana]", np. "MyTable.csv".
Nie.
zmodyfikowanaDataCzasPoczątek Filtr plików na podstawie atrybutu: Ostatnia modyfikacja. Pliki są wybierane, jeśli ich czas ostatniej modyfikacji jest większy lub równy modifiedDatetimeStart i mniejszy niż modifiedDatetimeEnd. Czas jest stosowany do strefy czasowej UTC w formacie RRRR-MM-DDTHH:mm:ssZ.

Należy pamiętać, że ogólna wydajność przenoszenia danych ma wpływ na włączenie tego ustawienia, gdy chcesz filtrować pliki z ogromnych ilości plików.

Właściwości mogą mieć wartość NULL, co oznacza, że do zestawu danych nie jest stosowany filtr atrybutu pliku. Jeśli modifiedDatetimeStart ma wartość data/godzina, ale modifiedDatetimeEnd ma wartość NULL, oznacza to, że wybrano pliki, których ostatnio zmodyfikowany atrybut jest większy lub równy wartości daty/godziny. Jeśli modifiedDatetimeEnd ma wartość datetime, ale modifiedDatetimeStart ma wartość NULL, oznacza to, że pliki, których ostatnio zmodyfikowany atrybut jest mniejszy niż wartość daty/godziny, są zaznaczone.
Nie.
zmodyfikowanyCzasKoniec Filtr plików na podstawie atrybutu: Ostatnia modyfikacja. Pliki są wybierane, jeśli ich czas ostatniej modyfikacji jest większy lub równy modifiedDatetimeStart i mniejszy niż modifiedDatetimeEnd. Czas jest stosowany do strefy czasowej UTC w formacie "2018-12-01T05:00:00Z".

Należy pamiętać, że ogólna wydajność przenoszenia danych ma wpływ na włączenie tego ustawienia, gdy chcesz filtrować pliki z ogromnych ilości plików.

Właściwości mogą mieć wartość NULL, co oznacza, że do zestawu danych nie jest stosowany filtr atrybutu pliku. Jeśli modifiedDatetimeStart ma wartość data/godzina, ale modifiedDatetimeEnd ma wartość NULL, oznacza to, że wybrano pliki, których ostatnio zmodyfikowany atrybut jest większy lub równy wartości daty/godziny. Jeśli modifiedDatetimeEnd ma wartość datetime, ale modifiedDatetimeStart ma wartość NULL, oznacza to, że pliki, których ostatnio zmodyfikowany atrybut jest mniejszy niż wartość daty/godziny, są zaznaczone.
Nie.
format Jeśli chcesz skopiować pliki w stanie niezmienionym między magazynami opartymi na plikach (kopiowanie binarne), pomiń sekcję formatowania zarówno w definicjach zestawów danych wejściowych, jak i wyjściowych.

Jeśli chcesz przeanalizować lub wygenerować pliki w określonym formacie, obsługiwane są następujące typy formatów plików: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. Ustaw właściwość type w formacie na jedną z tych wartości. Aby uzyskać więcej informacji, zobacz sekcje Format tekstu, Format JSON, Avro Format, Orc Format i Parquet Format .
Nie (tylko w scenariuszu kopiowania binarnego)
kompresja Określ typ i poziom kompresji danych. Aby uzyskać więcej informacji, zobacz Obsługiwane formaty plików i koderów kompresji.
Obsługiwane typy to: GZip, Deflate, BZip2 i ZipDeflate.
Obsługiwane poziomy to: Optymalne i najszybsze.
Nie.

Napiwek

Aby skopiować wszystkie pliki w folderze, określ tylko folderPath .
Aby skopiować pojedynczy plik o podanej nazwie, określ folderPath ze częścią folderu i fileName nazwą pliku.
Aby skopiować podzbiór plików w folderze, określ folderPath z częścią ścieżki folderu i fileName z filtrem wieloznacznym.

Uwaga

Jeśli używasz właściwości "fileFilter" dla filtru plików, jest ona nadal obsługiwana w niezmienionej postaci, podczas gdy zaleca się użycie nowej funkcji filtrowania dodanej do ciągu "fileName".

Przykład:

{
    "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"
            }
        }
    }
}

Dziedziczny model źródła zadania kopiowania

Nieruchomość Opis Wymagane
typ Właściwość type źródła działania kopiowania musi być ustawiona na: FileSystemSource Tak
Rekursywny Wskazuje, czy dane są odczytywane rekursywnie z podfolderów, czy tylko z określonego folderu. Uwaga, gdy rekursja jest ustawiona na wartość true, a miejscem docelowym jest plikowy magazyn danych, puste foldery/podfoldery nie są kopiowane ani tworzone.
Dozwolone wartości to: true (wartość domyślna), false
Nie.
maksymalna liczba równoczesnych połączeń Górny limit połączeń współbieżnych ustanowionych z magazynem danych podczas uruchamiania działania. Określ wartość tylko wtedy, gdy chcesz ograniczyć połączenia współbieżne. Nie.

Przykład:

"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 ujściowy starszego działania kopiowania

Nieruchomość Opis Wymagane
typ Właściwość type ujścia działania kopiowania musi być ustawiona na: FileSystemSink Tak
copyBehavior Definiuje zachowanie kopiowania, gdy źródłem są pliki z magazynu danych opartego na plikach.

Dozwolone wartości to:
- PreserveHierarchy (wartość domyślna): zachowuje hierarchię plików w folderze docelowym. Względna ścieżka pliku źródłowego do folderu źródłowego jest identyczna ze względną ścieżką pliku docelowego do folderu docelowego.
- FlattenHierarchy: wszystkie pliki z folderu źródłowego znajdują się na pierwszym poziomie folderu docelowego. Nazwy plików docelowych są generowane automatycznie.
- MergeFiles: scala wszystkie pliki z folderu źródłowego do jednego pliku. Podczas scalania nie jest wykonywana deduplikacja rekordów. Jeśli określono nazwę pliku, scalona nazwa pliku będzie określoną nazwą; w przeciwnym razie nazwa pliku zostanie wygenerowana automatycznie.
Nie.
maksymalna liczba równoczesnych połączeń Górny limit połączeń współbieżnych ustanowionych z magazynem danych podczas uruchamiania działania. Określ wartość tylko wtedy, gdy chcesz ograniczyć połączenia współbieżne. Nie.

Przykład:

"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"
            }
        }
    }
]

Aby uzyskać listę magazynów danych obsługiwanych jako źródła i ujścia działania kopiowania, zobacz obsługiwane magazyny danych.