Kopiowanie danych z usługi Azure Files lub do usługi Azure Files przy użyciu usługi Azure Data Factory
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 usługi Azure Files. Aby dowiedzieć się więcej o usłudze Azure Data Factory, przeczytaj artykuł wprowadzający.
Obsługiwane możliwości
Ten łącznik usługi Azure Files jest obsługiwany w przypadku następujących możliwości:
Obsługiwane możliwości | IR | Zarządzany prywatny punkt końcowy |
---|---|---|
działanie Kopiuj (źródło/ujście) | (1) (2) | √ Wykluczanie konta magazynu w wersji 1 |
Działanie Lookup | (1) (2) | √ Wykluczanie konta magazynu w wersji 1 |
Działanie GetMetadata | (1) (2) | √ Wykluczanie konta magazynu w wersji 1 |
Działanie usuwania | (1) (2) | √ Wykluczanie konta magazynu w wersji 1 |
(1) Środowisko Azure Integration Runtime (2) Self-hosted Integration Runtime
Dane z usługi Azure Files można skopiować do dowolnego obsługiwanego magazynu danych ujścia lub skopiować dane z dowolnego obsługiwanego magazynu danych źródłowych do usługi Azure Files. Aby uzyskać listę magazynów danych obsługiwanych przez działanie kopiowania jako źródła i ujścia, zobacz Obsługiwane magazyny danych i formaty.
W szczególności ten łącznik usługi Azure Files obsługuje następujące funkcje:
- Kopiowanie plików przy użyciu uwierzytelniania za pomocą klucza konta lub usługi sygnatury dostępu współdzielonego (SAS).
- Kopiowanie plików zgodnie z rzeczywistym użyciem lub analizowanie/generowanie plików przy użyciu obsługiwanych formatów plików i koderów kompresji.
Wprowadzenie
Aby wykonać działanie Kopiuj za pomocą potoku, możesz użyć jednego z następujących narzędzi lub zestawów SDK:
- Narzędzie do kopiowania danych
- Witryna Azure Portal
- Zestaw SDK platformy .NET
- Zestaw SDK języka Python
- Azure PowerShell
- Interfejs API REST
- Szablon usługi Azure Resource Manager
Tworzenie połączonej usługi z usługą Azure Files przy użyciu interfejsu użytkownika
Wykonaj poniższe kroki, aby utworzyć połączoną usługę z usługą Azure Files w interfejsie użytkownika witryny Azure Portal.
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 kliknij pozycję Nowy:
Wyszukaj plik i wybierz łącznik usługi Azure Files oznaczony etykietą Azure File Storage.
Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.
Szczegóły konfiguracji łącznika
Poniższe sekcje zawierają szczegółowe informacje o właściwościach używanych do definiowania jednostek specyficznych dla usługi Azure Files.
Właściwości połączonej usługi
Łącznik usługi Azure Files obsługuje następujące typy uwierzytelniania. Aby uzyskać szczegółowe informacje, zobacz odpowiednie sekcje.
- Uwierzytelnianie klucza konta
- Uwierzytelnianie sygnatury dostępu współdzielonego
- Uwierzytelnianie tożsamości zarządzanej przypisanej przez system
- Uwierzytelnianie tożsamości zarządzanej przypisanej przez użytkownika
Uwaga
Jeśli używasz połączonej usługi Azure Files ze starszym modelem, gdzie w interfejsie użytkownika tworzenia usługi ADF wyświetlanym jako "Uwierzytelnianie podstawowe", nadal jest obsługiwana w takiej postaci, podczas gdy zaleca się użycie nowego modelu w przyszłości. Starszy model transferuje dane z/do magazynu za pośrednictwem bloku komunikatów serwera (SMB), podczas gdy nowy model korzysta z zestawu SDK magazynu, który ma lepszą przepływność. Aby przeprowadzić uaktualnienie, możesz edytować połączoną usługę, aby przełączyć metodę uwierzytelniania na "Klucz konta" lub "Identyfikator URI sygnatury dostępu współdzielonego"; żadne zmiany nie są wymagane w przypadku działania zestawu danych lub kopiowania.
Uwierzytelnianie klucza konta
Usługa Data Factory obsługuje następujące właściwości uwierzytelniania klucza konta usługi Azure Files:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type musi być ustawiona na: AzureFileStorage. | Tak |
Parametry połączenia | Określ informacje potrzebne do nawiązania połączenia z usługą Azure Files. Możesz również umieścić klucz konta w usłudze Azure Key Vault i ściągnąć konfigurację accountKey z parametry połączenia. Aby uzyskać więcej informacji, zobacz następujące przykłady i artykuł Store credentials in Azure Key Vault (Przechowywanie poświadczeń w usłudze Azure Key Vault ). |
Tak |
fileShare | Określ udział plików. | Tak |
migawka | Określ datę migawki udziału plików, jeśli chcesz skopiować z migawki. | Nie. |
connectVia | Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Możesz użyć środowiska Azure Integration Runtime lub własnego środowiska Integration Runtime (jeśli magazyn danych znajduje się w sieci prywatnej). Jeśli nie zostanie określony, używa domyślnego środowiska Azure Integration Runtime. | Nie. |
Przykład:
{
"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"
}
}
}
Przykład: przechowywanie klucza konta w usłudze 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"
}
}
}
Uwierzytelnianie sygnatury dostępu współdzielonego
Sygnatura dostępu współdzielonego zapewnia delegowany dostęp do zasobów na koncie magazynu. Sygnatura dostępu współdzielonego umożliwia przyznanie klientowi ograniczonych uprawnień do obiektów na koncie magazynu przez określony czas. Aby uzyskać więcej informacji na temat sygnatur dostępu współdzielonego, zobacz Sygnatury dostępu współdzielonego: Omówienie modelu sygnatury dostępu współdzielonego.
Usługa obsługuje następujące właściwości uwierzytelniania za pomocą sygnatury dostępu współdzielonego:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type musi być ustawiona na: AzureFileStorage. | Tak |
sasUri | Określ identyfikator URI sygnatury dostępu współdzielonego do zasobów. Oznacz to pole jako SecureString , aby bezpiecznie je przechowywać. Możesz również umieścić token SAS w usłudze Azure Key Vault, aby użyć automatycznego obracania i usunąć część tokenu. Aby uzyskać więcej informacji, zobacz następujące przykłady i Przechowywanie poświadczeń w usłudze Azure Key Vault. |
Tak |
fileShare | Określ udział plików. | Tak |
migawka | Określ datę migawki udziału plików, jeśli chcesz skopiować z migawki. | Nie. |
connectVia | Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Możesz użyć środowiska Azure Integration Runtime lub własnego środowiska Integration Runtime (jeśli magazyn danych znajduje się w sieci prywatnej). Jeśli nie zostanie określony, używa domyślnego środowiska Azure Integration Runtime. | Nie. |
Przykład:
{
"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"
}
}
}
Przykład: przechowywanie tokenu SAS w usłudze 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"
}
}
}
Uwierzytelnianie tożsamości zarządzanej przypisanej przez system
Potok fabryki danych lub usługi Synapse może być skojarzony z tożsamością zarządzaną przypisaną przez system dla zasobów platformy Azure, która reprezentuje ten zasób do uwierzytelniania w innych usługach platformy Azure. Tej przypisanej przez system tożsamości zarządzanej można użyć do uwierzytelniania usługi Azure Files. Aby dowiedzieć się więcej o tożsamościach zarządzanych dla zasobów platformy Azure, zobacz Tożsamości zarządzane dla zasobów platformy Azure.
Aby użyć uwierzytelniania tożsamości zarządzanej przypisanej przez system, wykonaj następujące kroki:
Pobieranie informacji o tożsamości zarządzanej przypisanej przez system przez skopiowanie wartości identyfikatora obiektu tożsamości zarządzanej przypisanej przez system wraz z fabryką lub obszarem roboczym usługi Synapse.
Udziel tożsamości zarządzanej uprawnienia w usłudze Azure Files. Aby uzyskać więcej informacji na temat ról, zobacz ten artykuł.
- Jako źródło w obszarze Kontrola dostępu (IAM) przyznaj co najmniej rolę Czytelnik uprzywilejowanego danych plików magazynu.
- Jako ujście w obszarze Kontrola dostępu (Zarządzanie dostępem i tożsamościami) przyznaj co najmniej rolę Współautor uprzywilejowanego danych pliku magazynu.
Te właściwości są obsługiwane w przypadku połączonej usługi Azure Files:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type musi być ustawiona na AzureFileStorage. | Tak |
serviceEndpoint | Określ punkt końcowy usługi Azure Files ze wzorcem https://<accountName>.file.core.windows.net/ . |
Tak |
fileShare | Określ udział plików. | Tak |
migawka | Określ datę migawki udziału plików, jeśli chcesz skopiować z migawki. | Nie. |
connectVia | Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Możesz użyć środowiska Azure Integration Runtime. Jeśli nie zostanie określony, używa domyślnego środowiska Azure Integration Runtime. | Nie. |
Uwaga
Uwierzytelnianie tożsamości zarządzanej przypisanej przez system jest obsługiwane tylko przez środowisko Azure Integration Runtime.
Przykład:
{
"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"
}
}
}
Uwierzytelnianie tożsamości zarządzanej przypisanej przez użytkownika
Fabrykę danych można przypisać za pomocą jednej lub wielu tożsamości zarządzanych przypisanych przez użytkownika. Tej tożsamości zarządzanej przypisanej przez użytkownika można użyć do uwierzytelniania usługi Azure Files, co umożliwia dostęp do danych i kopiowanie ich z lub do usługi Azure Files. Aby dowiedzieć się więcej o tożsamościach zarządzanych dla zasobów platformy Azure, zobacz Tożsamości zarządzane dla zasobów platformy Azure.
Aby użyć uwierzytelniania tożsamości zarządzanej przypisanej przez użytkownika, wykonaj następujące kroki:
Utwórz jedną lub wiele tożsamości zarządzanych przypisanych przez użytkownika i przyznaj uprawnienie w usłudze Azure Files. Aby uzyskać więcej informacji na temat ról, zobacz ten artykuł.
- Jako źródło w obszarze Kontrola dostępu (IAM) przyznaj co najmniej rolę Czytelnik uprzywilejowanego danych plików magazynu.
- Jako ujście w obszarze Kontrola dostępu (Zarządzanie dostępem i tożsamościami) przyznaj co najmniej rolę Współautor uprzywilejowanego danych pliku magazynu.
Przypisz jedną lub wiele tożsamości zarządzanych przypisanych przez użytkownika do fabryki danych i utwórz poświadczenia dla każdej tożsamości zarządzanej przypisanej przez użytkownika.
Te właściwości są obsługiwane w przypadku połączonej usługi Azure Files:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type musi być ustawiona na AzureFileStorage. | Tak |
serviceEndpoint | Określ punkt końcowy usługi Azure Files ze wzorcem https://<accountName>.file.core.windows.net/ . |
Tak |
poświadczenia | Określ tożsamość zarządzaną przypisaną przez użytkownika jako obiekt poświadczeń. | Tak |
fileShare | Określ udział plików. | Tak |
migawka | Określ datę migawki udziału plików, jeśli chcesz skopiować z migawki. | Nie. |
connectVia | Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Możesz użyć środowiska Azure Integration Runtime lub własnego środowiska Integration Runtime (jeśli magazyn danych znajduje się w sieci prywatnej). Jeśli nie zostanie określony, używa domyślnego środowiska Azure Integration Runtime. | Nie. |
Przykład:
{
"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"
}
}
}
Starszy model
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type musi być ustawiona na: AzureFileStorage. | Tak |
host | Określa punkt końcowy usługi Azure Files jako: -Korzystanie z interfejsu użytkownika: określ \\<storage name>.file.core.windows.net\<file service name> - Przy użyciu formatu JSON: "host": "\\\\<storage name>.file.core.windows.net\\<file service name>" . |
Tak |
userid | Określ użytkownika, aby uzyskać dostęp do usługi Azure Files w następujący sposób: -Korzystanie z interfejsu użytkownika: określ AZURE\<storage name> -Using JSON: "userid": "AZURE\\<storage name>" . |
Tak |
hasło | Określ klucz dostępu do magazynu. Oznacz to pole jako element SecureString, aby bezpiecznie przechowywać je w usłudze Data Factory lub odwoływać się do wpisu tajnego przechowywanego w usłudze Azure Key Vault. | Tak |
connectVia | Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Możesz użyć środowiska Azure Integration Runtime lub własnego środowiska Integration Runtime (jeśli magazyn danych znajduje się w sieci prywatnej). Jeśli nie zostanie określony, używa domyślnego środowiska Azure Integration Runtime. | Nie dla źródła, Tak dla ujścia |
Przykład:
{
"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"
}
}
}
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.
- Format Avro
- Format binarny
- Format tekstu rozdzielanego
- Format programu Excel
- Format JSON
- Format ORC
- Format Parquet
- Format XML
Następujące właściwości są obsługiwane w przypadku usługi Azure Files w obszarze location
ustawień w zestawie danych opartym na formacie:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type w obszarze location w zestawie danych musi być ustawiona na Wartość AzureFileStorageLocation. |
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ń. | Nie. |
fileName | Nazwa pliku pod 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": "<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"
}
}
}
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 (Potoki ). Ta sekcja zawiera listę właściwości obsługiwanych przez źródło i ujście usługi Azure Files.
Usługa Azure Files 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.
- Format Avro
- Format binarny
- Format tekstu rozdzielanego
- Format programu Excel
- Format JSON
- Format ORC
- Format Parquet
- Format XML
Następujące właściwości są obsługiwane w przypadku usługi Azure Files w ustawieniach storeSettings
w źródle kopiowania opartym na formacie:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type w obszarze storeSettings musi być ustawiona na AzureFileStorageReadSettings. |
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: prefiks pliku -przedrostek |
Prefiks nazwy pliku w ramach danego udziału plików skonfigurowanego w zestawie danych do filtrowania plików źródłowych. Wybierane są pliki o nazwie rozpoczynającej się od fileshare_in_linked_service/this_prefix . Korzysta z filtru po stronie usługi dla usługi Azure Files, który zapewnia lepszą wydajność niż filtr wieloznaczny. Ta funkcja nie jest obsługiwana w przypadku korzystania ze starszego modelu połączonej usługi. |
Nie. |
OPCJA 3: symbol wieloznaczny - symbol wieloznacznyFolderPath |
Ścieżka folderu z symbolami wieloznacznymi do filtrowania folderów źródłowych. 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: symbol wieloznaczny - symbol wieloznacznyFileName |
Nazwa pliku z symbolami wieloznacznymi w ramach danego folderuPath/symbol wieloznacznyFolderPath do filtrowania plików źródłowych. 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 4: lista plików - fileListPath |
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 na przykładach na liście plików. |
Nie. |
Dodatkowe ustawienia: | ||
Cykliczne | 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 elementu . |
Nie. |
deleteFilesAfterCompletion | Wskazuje, czy pliki binarne zostaną usunięte z magazynu źródłowego po pomyślnym przeniesieniu do magazynu docelowego. Usunięcie pliku jest na plik, więc gdy działanie kopiowania nie powiedzie się, zobaczysz, że 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. |
modifiedDatetimeStart | Filtr plików na podstawie atrybutu: Ostatnia modyfikacja. Pliki zostaną wybrane, 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". Właściwości mogą mieć wartość NULL, co oznacza, że do zestawu danych nie zostanie zastosowany filtr atrybutu pliku. Jeśli modifiedDatetimeStart ma wartość datetime, ale modifiedDatetimeEnd ma wartość NULL, oznacza to, że zostaną wybrane pliki, których ostatni zmodyfikowany atrybut jest większy lub równy wartości daty/godziny. Jeśli modifiedDatetimeEnd ma wartość data/godzina, ale modifiedDatetimeStart ma wartość NULL, oznacza to, że pliki, których ostatnio zmodyfikowany atrybut jest mniejszy niż wartość daty/godziny, zostanie wybrana.Ta właściwość nie ma zastosowania podczas konfigurowania fileListPath elementu . |
Nie. |
modifiedDatetimeEnd | Jak wyżej. | Nie. |
enablePartitionDiscovery | 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 zostanie 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 wygeneruje dwie kolejne kolumny month i day z wartością "08" i "27" odpowiednio, oprócz kolumn wewnątrz plików.— Jeśli nie określono ścieżki głównej partycji, nie zostanie wygenerowana żadna dodatkowa kolumna. |
Nie. |
maxConcurrentConnections | 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": "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>"
}
}
}
]
Usługa Azure Files 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.
Następujące właściwości są obsługiwane w usłudze Azure Files w ustawieniach storeSettings
ujścia kopiowania opartego na formacie:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type w obszarze storeSettings musi być ustawiona na AzureFileStorageWriteSettings. |
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: Scala wszystkie pliki z folderu źródłowego do jednego pliku. Jeśli określono nazwę pliku, scalona nazwa pliku jest określoną nazwą. W przeciwnym razie jest to automatycznie wygenerowana nazwa pliku. |
Nie. |
maxConcurrentConnections | 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": "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"
}
}
}
}
]
Uwaga
Można skopiować do ujścia do 4 MB danych w przypadku używania tożsamości zarządzanej przypisanej przez system lub przypisanej przez użytkownika jako typu uwierzytelniania.
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 | fileName | Cykliczne | 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 Podfolder1 File3.csv File4.json File5.csv InnyfolderB File6.csv |
Folder* |
(puste, użyj wartości domyślnej) | prawda | FolderA File1.csv File2.json Podfolder1 File3.csv File4.json File5.csv InnyfolderB File6.csv |
Folder* |
*.csv |
fałsz | FolderA File1.csv File2.json Podfolder1 File3.csv File4.json File5.csv InnyfolderB File6.csv |
Folder* |
*.csv |
prawda | FolderA File1.csv File2.json Podfolder1 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ć pliki pogrubioną:
Przykładowa struktura źródła | Zawartość w FileListToCopy.txt | Konfigurowanie |
---|---|---|
root FolderA File1.csv File2.json Podfolder1 File3.csv File4.json File5.csv Metadane FileListToCopy.txt |
File1.csv Podfolder1/File3.csv Podfolder1/File5.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, który zawiera listę plików, które chcesz skopiować, jeden plik na wiersz ze ścieżką względną do ścieżki skonfigurowanej w zestawie danych. |
przykłady rekursywne i copyBehavior
W tej sekcji opisano wynikowe zachowanie operacji kopiowania dla różnych kombinacji wartości cyklicznych i copyBehavior.
Cykliczne | copyBehavior | Struktura folderu źródłowego | Wynikowy element docelowy |
---|---|---|---|
prawda | preserveHierarchy | Folder1 Plik1 Plik2 Podfolder1 Plik3 Plik4 Plik5 |
Folder docelowy Folder1 jest tworzony z taką samą strukturą jak źródło: Folder1 Plik1 Plik2 Podfolder1 Plik3 Plik4 Plik5. |
prawda | flattenHierarchy | Folder1 Plik1 Plik2 Podfolder1 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 | mergeFiles | Folder1 Plik1 Plik2 Podfolder1 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 | preserveHierarchy | Folder1 Plik1 Plik2 Podfolder1 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 | flattenHierarchy | Folder1 Plik1 Plik2 Podfolder1 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 | mergeFiles | Folder1 Plik1 Plik2 Podfolder1 Plik3 Plik4 Plik5 |
Folder docelowy Folder1 jest tworzony z następującą strukturą Folder1 Zawartość file1 + File2 jest scalona z jednym plikiem z automatycznie wygenerowaną nazwą 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ź działanie Wyszukiwania.
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 dowiedzieć się więcej o właściwościach, zobacz Działanie Usuwania
Starsze modele
Uwaga
Następujące modele są nadal obsługiwane zgodnie ze zgodnością z poprzednimi wersjami. Zalecamy użycie nowego modelu wymienionego w powyższych sekcjach, a interfejs użytkownika tworzenia przeszedł do generowania nowego modelu.
Starszy model zestawu danych
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type zestawu danych musi być ustawiona na: FileShare | Tak |
folderPath | Ścieżka do folderu. Obsługiwany jest 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. Przykłady: folder główny/podfolder/, zobacz więcej przykładów w przykładach filtru folderów i plików. |
Tak |
fileName | Nazwa lub filtr symboli wieloznacznych dla plików w ramach określonego "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 ^ polecenia , aby uniknąć, jeśli rzeczywista nazwa pliku ma symbol wieloznaczny lub znak ucieczki wewnątrz.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 działania kopiowania, działanie kopiowania automatycznie generuje nazwę pliku z następującym wzorcem: "Dane.[ identyfikator GUID przebiegu działania]. [IDENTYFIKATOR GUID, jeśli FlattenHierarchy]. [format, jeśli został skonfigurowany]. [kompresja, jeśli skonfigurowano]", na przykład "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz"; jeśli kopiujesz ze źródła tabelarycznego przy użyciu nazwy tabeli zamiast kwerendy, wzorzec nazwy to "[nazwa tabeli].[ format]. [kompresja, jeśli została skonfigurowana]", na przykład "MyTable.csv". |
Nie. |
modifiedDatetimeStart | Filtr plików na podstawie atrybutu: Ostatnia modyfikacja. Pliki zostaną wybrane, 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 będzie mieć 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 zostanie zastosowany filtr atrybutu pliku. Jeśli modifiedDatetimeStart ma wartość datetime, ale modifiedDatetimeEnd ma wartość NULL, oznacza to, że zostaną wybrane pliki, których ostatni zmodyfikowany atrybut jest większy lub równy wartości daty/godziny. Jeśli modifiedDatetimeEnd ma wartość data/godzina, ale modifiedDatetimeStart ma wartość NULL, oznacza to, że pliki, których ostatnio zmodyfikowany atrybut jest mniejszy niż wartość daty/godziny, zostanie wybrana. |
Nie. |
modifiedDatetimeEnd | Filtr plików na podstawie atrybutu: Ostatnia modyfikacja. Pliki zostaną wybrane, 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 będzie mieć 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 zostanie zastosowany filtr atrybutu pliku. Jeśli modifiedDatetimeStart ma wartość datetime, ale modifiedDatetimeEnd ma wartość NULL, oznacza to, że zostaną wybrane pliki, których ostatni zmodyfikowany atrybut jest większy lub równy wartości daty/godziny. Jeśli modifiedDatetimeEnd ma wartość data/godzina, ale modifiedDatetimeStart ma wartość NULL, oznacza to, że pliki, których ostatnio zmodyfikowany atrybut jest mniejszy niż wartość daty/godziny, zostanie wybrana. |
Nie. |
format | Jeśli chcesz skopiować pliki zgodnie z rzeczywistym użyciem między magazynami opartymi na plikach (kopiowanie binarne), pomiń sekcję formatowania zarówno w definicjach zestawu 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 ze częścią folderu i fileName z filtrem wieloznacznymi.
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": "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"
}
}
}
}
Starszy model źródła działania kopiowania
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type źródła działania kopiowania musi być ustawiona na: FileSystemSource | Tak |
Cykliczne | Wskazuje, czy dane są odczytywane rekursywnie z podfolderów, czy tylko z określonego folderu. Uwaga w przypadku ustawienia rekursywnego na wartość true, a ujście jest magazynem opartym na plikach, pusty folder/podfolder nie zostanie skopiowany/utworzony w ujściu. Dozwolone wartości to: true (wartość domyślna), false |
Nie. |
maxConcurrentConnections | 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": "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>"
}
}
}
]
Starszy model ujścia działania kopiowania
Właściwości | Opis | Wymagania |
---|---|---|
type | 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. Pliki docelowe mają automatycznie wygenerowaną nazwę. - MergeFiles: scala wszystkie pliki z folderu źródłowego do jednego pliku. Jeśli określono nazwę pliku, scalona nazwa pliku będzie określoną nazwą; w przeciwnym razie zostanie wygenerowana automatycznie nazwa pliku. |
Nie. |
maxConcurrentConnections | 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": "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"
}
}
}
]
Powiązana zawartość
Aby uzyskać listę magazynów danych obsługiwanych jako źródła i ujścia działania kopiowania, zobacz obsługiwane magazyny danych.