Jak skonfigurować protokół SFTP w działaniu kopiowania

W tym artykule opisano sposób używania działania kopiowania w potoku danych do kopiowania danych z protokołu SFTP.

Ważne

Usługa Microsoft Fabric jest obecnie dostępna w wersji zapoznawczej. Te informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed jego wydaniem. Firma Microsoft nie udziela żadnych gwarancji, wyrażonych ani domniemanych w odniesieniu do informacji podanych tutaj. Zapoznaj się z dokumentacją Azure Data Factory dotyczącą usługi na platformie Azure.

Obsługiwany format

Protokół SFTP obsługuje następujące formaty plików. Zapoznaj się z każdym artykułem, aby zapoznać się z ustawieniami opartymi na formatach.

Obsługiwana konfiguracja

Aby uzyskać konfigurację każdej karty w działaniu kopiowania, przejdź odpowiednio do poniższych sekcji.

Ogólne

Zapoznaj się ze wskazówkami dotyczącymi ustawień ogólnych, aby skonfigurować kartę Ustawienia ogólne.

Element źródłowy

Przejdź do karty Źródło , aby skonfigurować źródło działania kopiowania. Zapoznaj się z następującą zawartością, aby uzyskać szczegółową konfigurację.

Zrzut ekranu przedstawiający kartę źródłową i listę właściwości.

Wymagane są następujące trzy właściwości:

  • Typ magazynu danych: wybierz pozycję Zewnętrzne.

  • Połączenie: wybierz połączenie SFTP z listy połączeń. Jeśli nie istnieje żadne połączenie, utwórz nowe połączenie SFTP, wybierając pozycję Nowy.

  • Typ ścieżki pliku: wybierz z ścieżki pliku, ścieżkę pliku z symbolami wieloznacznymi i listę plików na podstawie sposobu odczytywania plików.

    • Ścieżka pliku: jeśli wybierzesz ten typ, określ ścieżkę pliku źródłowego. Możesz wybrać pozycję Przeglądaj , aby wybrać pliki źródłowe lub ręcznie wprowadzić ścieżkę pliku.

    • Ścieżka pliku wieloznakowego: w przypadku wybrania tego typu określ ścieżki wieloznaczne , aby filtrować foldery źródłowe lub pliki.

      Dozwolone symbole wieloznaczne to * (dopasowywuje zero lub więcej znaków) i ? (pasuje do zera lub pojedynczego znaku). Służy ^ do ucieczki, jeśli nazwa folderu ma symbol wieloznaczny lub ten znak ucieczki wewnątrz. Aby uzyskać więcej przykładów, przejdź do pozycji Folder i przykłady filtrów plików.

      Zrzut ekranu przedstawiający ścieżkę pliku z symbolami wieloznacznymi.

      Ścieżka folderu z symbolami wieloznacznymi: określ ścieżkę folderu z symbolami wieloznacznymi do filtrowania folderów źródłowych.

      Nazwa pliku z symbolami wieloznacznymi: określ nazwę pliku z symbolami wieloznacznymi w ramach podanej ścieżki folderu/ścieżki folderu z symbolami wieloznacznymi, aby filtrować pliki źródłowe.

    • Lista plików: jeśli wybierzesz ten typ, określ ścieżkę folderu i ścieżkę do pliku, aby wskazać, aby skopiować dany zestaw plików. Wskaż plik tekstowy zawierający listę plików, które chcesz skopiować, jeden plik na wiersz. Aby uzyskać więcej przykładów, przejdź do pozycji Przykłady listy plików.

      • Ścieżka folderu: określ ścieżkę do folderu źródłowego. Jest to wymagane.

      • Ścieżka do listy plików: określ ścieżkę pliku tekstowego zawierającego listę plików, które chcesz skopiować.

        Zrzut ekranu przedstawiający listę plików.

  • Format pliku: wybierz format pliku zastosowany z listy rozwijanej. Wybierz pozycję Ustawienia , aby skonfigurować format pliku. Aby uzyskać szczegółowe informacje, zobacz artykuły w obsługiwanym formacie .

W obszarze Zaawansowane można określić następujące pola:

  • Filtruj według ostatniej modyfikacji: pliki są filtrowane na podstawie ostatnio zmodyfikowanych dat, które zostały określone. Ta właściwość nie ma zastosowania podczas konfigurowania typu ścieżki pliku jako Listy plików.

    • Godzina rozpoczęcia (UTC): pliki są wybierane, jeśli ich czas ostatniej modyfikacji jest większy lub równy skonfigurowanemu czasowi.
    • Godzina zakończenia (UTC): Pliki są wybierane, jeśli czas ostatniej modyfikacji jest krótszy niż skonfigurowany czas.

    Gdy godzina rozpoczęcia (UTC) ma wartość daty/godziny, ale godzina zakończenia (UTC) ma wartość NULL, oznacza to, że pliki, których ostatnio zmodyfikowany atrybut jest większy niż lub równy wartości daty/godziny zostanie wybrany. Gdy godzina zakończenia (UTC) ma wartość daty/godziny, ale godzina rozpoczęcia (UTC) ma wartość NULL, oznacza to, że pliki, których ostatnio zmodyfikowany atrybut jest mniejszy niż wartość daty/godziny zostanie wybrana. Właściwości mogą mieć wartość NULL, co oznacza, że do danych nie zostanie zastosowany filtr atrybutu pliku.

  • Wyłącz fragmentowanie: fragmentowanie zostało zaprojektowane pod kątem optymalizacji wydajności i odbywa się pod spodem. Ta opcja umożliwia wyłączenie fragmentowania w każdym pliku. Podczas kopiowania danych z sfTP usługa próbuje najpierw uzyskać długość pliku, a następnie podzielić plik na wiele części i odczytać je równolegle. Określ, czy serwer SFTP obsługuje pobieranie długości pliku, czy odczytywanie z określonego przesunięcia. Jest on domyślnie niezaznaczony.

  • Włącz odnajdywanie partycji: określ, czy analizować partycje ze ścieżki pliku i dodać je jako dodatkowe kolumny źródłowe. Jest on domyślnie niezaznaczony i nie jest obsługiwany w przypadku korzystania z formatu pliku binarnego.

    • Ścieżka główna partycji: po włączeniu odnajdywania partycji określ bezwzględną ścieżkę główną, aby odczytywać partycjonowane foldery jako kolumny danych.
      Jeśli nie zostanie określony, domyślnie,

      • Jeśli używasz ścieżki pliku lub listy plików w źródle, ścieżka główna partycji jest ścieżką skonfigurowaną.
      • W przypadku korzystania z filtru folderów wieloznacznych ścieżka główna partycji jest ścieżką podrzędną przed pierwszym symbolem wieloznacznymi.

      Na przykład przy założeniu, że ścieżka jest 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 dwa kolejne kolumny miesiąc i dzień z wartością "08" i "27" odpowiednio, oprócz kolumn wewnątrz plików.
      • Jeśli ścieżka główna partycji nie zostanie określona, nie zostanie wygenerowana dodatkowa kolumna.

      Zrzut ekranu przedstawiający włączanie odnajdywania partycji.

  • Maksymalna liczba współbieżnych połączeń: ta właściwość wskazuje górny limit połączeń współbieżnych ustanowionych do magazynu danych podczas uruchamiania działania. Określ wartość tylko wtedy, gdy chcesz ograniczyć połączenia współbieżne.

  • Dodatkowe kolumny: Dodaj dodatkowe kolumny danych do przechowywania ścieżki względnej lub wartości statycznej plików źródłowych. Wyrażenie jest obsługiwane w przypadku tego ostatniego. Aby uzyskać więcej informacji, zobacz Dodawanie dodatkowych kolumn podczas kopiowania.

Element docelowy

Przejdź do karty Miejsce docelowe , aby skonfigurować miejsce docelowe działania kopiowania. Zapoznaj się z następującą zawartością, aby uzyskać szczegółową konfigurację.

Zrzut ekranu przedstawiający kartę docelową i listę właściwości.

  • Typ magazynu danych: wybierz pozycję Zewnętrzne.
  • Połączenie: wybierz połączenie SFTP z listy połączeń. Jeśli nie istnieje żadne połączenie, utwórz nowe połączenie SFTP, wybierając pozycję Nowy.
  • Ścieżka pliku: określ ścieżkę pliku do zapisania danych. Możesz wybrać pozycję Przeglądaj , aby wybrać pliki źródłowe lub ręcznie wprowadzić ścieżkę pliku.
  • Format pliku: wybierz format pliku zastosowany z listy rozwijanej. Wybierz pozycję Ustawienia , aby skonfigurować format pliku. Aby uzyskać szczegółowe informacje, zobacz artykuły w obsługiwanym formacie .

W obszarze Zaawansowane można określić następujące pola:

  • Zachowanie kopiowania: określ zachowanie kopiowania, gdy źródło jest plikami z magazynu danych opartego na plikach. Wybierz jedną z następujących właściwości.

    • Hierarchia spłaszczana: wszystkie pliki z folderu źródłowego znajdują się na pierwszym poziomie folderu docelowego. Pliki docelowe mają automatycznie wygenerowane nazwy.
    • Scal pliki: scala wszystkie pliki z folderu źródłowego do jednego pliku. Jeśli nazwa pliku jest określona, scalona nazwa pliku jest określoną nazwą. W przeciwnym razie jest to automatycznie wygenerowana nazwa pliku.
    • Zachowaj hierarchię (ustawienie domyślne): zachowuje hierarchię plików w folderze docelowym. Ścieżka względna pliku źródłowego do folderu źródłowego jest taka sama jak ścieżka względna pliku docelowego do folderu docelowego.
    • Dodaj zawartość dynamiczną: wybierz tę opcję, aby określić zachowanie kopiowania przy użyciu zawartości dynamicznej.
  • Maksymalna liczba współbieżnych 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.

  • Limit czasu operacji (minuty): określ limit czasu zapisywania każdego fragmentu na serwerze SFTP. Wartość domyślna to 60 minut.

  • Przekaż za pomocą pliku tymczasowego: określ, czy chcesz przekazać pliki tymczasowe i zmienić ich nazwę, czy bezpośrednio zapisać w folderze docelowym lub lokalizacji pliku. Domyślnie jest zaznaczona, a usługa najpierw zapisuje dane w plikach tymczasowych, a następnie zmienia ich nazwę po zakończeniu przekazywania.

    Ta sekwencja pomaga (1) uniknąć konfliktów, które mogą spowodować uszkodzenie pliku, jeśli masz inne procesy zapisu w tym samym pliku, i (2) upewnij się, że oryginalna wersja pliku istnieje podczas transferu. Jeśli serwer SFTP nie obsługuje operacji zmiany nazwy, wyłącz tę opcję i upewnij się, że nie masz współbieżnego zapisu do pliku docelowego.

    Porada

    Jeśli wystąpi błąd "UserErrorSftpPathNotFound", "UserErrorSftpPermissionDenied" lub "SftpOperationFail" podczas zapisywania danych w sfTP, a używany użytkownik SFTP ma odpowiednie uprawnienia, sprawdź, czy serwer SFTP obsługuje operację zmiany nazwy pliku działa. Jeśli tak nie jest, wyłącz opcję Przekaż z plikiem tymczasowym i spróbuj ponownie.

Mapowanie

Aby uzyskać informacje o konfiguracji karty Mapowanie , zobacz Konfigurowanie mapowań na karcie mapowania. Jeśli wybierzesz plik binarny jako format pliku, mapowanie nie będzie obsługiwane.

Ustawienia

W obszarze Konfiguracja karty Ustawienia przejdź do tematu Konfigurowanie innych ustawień na karcie ustawienia.

Podsumowanie tabeli

Poniższa tabela zawiera więcej informacji na temat działania kopiowania w sfTP.

Element źródłowy

Nazwa Opis Wartość Wymagane Właściwość skryptu JSON
Typ magazynu danych Typ magazynu danych. Zewnętrzna Tak /
Połączenie Połączenie SFTP z źródłowym magazynem danych. < połączenie SFTP > Tak połączenie
Typ ścieżki pliku Typ ścieżki pliku używany do pobierania danych źródłowych. Ścieżka pliku
Ścieżka pliku z symbolami wieloznacznymi
Lista plików
Tak /
Ścieżka pliku Ścieżka do pliku źródłowego. < ścieżka pliku> Tak fileName
folderPath
Ścieżki z symbolami wieloznacznymi Ścieżka z symbolami wieloznacznymi do pliku źródłowego. < ścieżka pliku z symbolami wieloznacznymi > Tak dla nazwy pliku z symbolami wieloznacznymi symbol wieloznacznyFolderPath
symbol wieloznacznyFileName
Ścieżka folderu Ścieżka do folderu źródłowego. < ścieżka folderu> Tak folderPath
Ścieżka do 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. < ścieżka listy plików > Nie fileListPath
Format pliku Format pliku dla danych źródłowych. Aby uzyskać informacje o różnych formatach plików, zobacz artykuły w obsługiwanym formacie , aby uzyskać szczegółowe informacje. / Tak /
Filtruj według ostatniej modyfikacji Pliki z czasem ostatniej modyfikacji w zakresie [Godzina rozpoczęcia, Godzina zakończenia) będą filtrowane w celu dalszego przetwarzania. Czas zostanie zastosowany do strefy czasowej UTC w formacie yyyy-mm-ddThh:mm:ss.fffZ. Te właściwości można pominąć, co oznacza, że nie zostanie zastosowany filtr atrybutu pliku. Ta właściwość nie ma zastosowania podczas konfigurowania typu ścieżki pliku jako Listy plików. datetime Nie modifiedDatetimeStart
modifiedDatetimeEnd
Wyłączanie fragmentowania Fragmentowanie zostało zaprojektowane tak, aby zoptymalizować wydajność i odbywa się pod spodem. Ta opcja umożliwia wyłączenie fragmentowania w każdym pliku. Podczas kopiowania danych z sfTP usługa próbuje najpierw uzyskać długość pliku, a następnie podzielić plik na wiele części i odczytać je równolegle. Określ, czy serwer SFTP obsługuje pobieranie długości pliku, czy próby odczytu z określonego przesunięcia. wybrane lub niezaznaczone (ustawienie domyślne) Nie disableChunking:
true lub false (wartość domyślna)
Włączanie odnajdywania partycji Wskazuje, czy należy przeanalizować partycje ze ścieżki pliku i dodać je jako dodatkowe kolumny źródłowe. wybrane lub niezaznaczone (ustawienie domyślne) Nie enablePartitionDiscovery:
true lub false (wartość domyślna)
Ścieżka katalogu głównego partycji Ścieżka katalogu głównego partycji bezwzględnej do odczytywania folderów podzielonych na partycje jako kolumn danych. Określ ją po włączeniu odnajdywania partycji. < ścieżka główna partycji > Nie partitionRootPath
Maksymalna liczba połączeń współbieżnych 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. < górny limit połączeń współbieżnych >
(liczba całkowita)
Nie maxConcurrentConnections
Dodatkowe kolumny Dodaj dodatkowe kolumny danych, aby przechowywać ścieżkę względną plików źródłowych lub wartość statyczną. Wyrażenie jest obsługiwane w przypadku tego ostatniego. Aby uzyskać więcej informacji, zobacz Dodawanie dodatkowych kolumn podczas kopiowania •Nazwa
•Wartość
Nie additionalColumns:
•Nazwa
•Wartość

Element docelowy

Nazwa Opis Wartość Wymagane Właściwość skryptu JSON
Typ magazynu danych Typ magazynu danych. Zewnętrzna Tak /
Połączenie Połączenie ze źródłem SFTP. < połączenie > Tak połączenie
Ścieżka pliku Ścieżka pliku danych docelowych. Ścieżka pliku miejsca docelowego Tak folderPath
fileName
Format pliku Format pliku dla danych źródłowych. Aby uzyskać informacje o różnych formatach plików, zapoznaj się z artykułami w obsługiwanym formacie , aby uzyskać szczegółowe informacje. / Tak /
Zachowanie kopiowania Definiuje zachowanie kopiowania, gdy źródło jest plikami z magazynu danych opartego na plikach. • Spłaszczana hierarchia
• Scal pliki
• Zachowaj hierarchię
Nie copyBehavior:
- FlattenHierarchy
- MergeFiles
- PreserveHierarchy
Maksymalna liczba połączeń współbieżnych 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. < maksymalna liczba połączeń współbieżnych > Nie maxConcurrentConnections
Limit czasu operacji (w minutach) Limit czasu zapisu każdego fragmentu na serwerze SFTP. < limit czasu operacji >
Wartość domyślna to 60
Nie operationTimeout
Przekazywanie za pomocą pliku tymczasowego Wskazuje, czy przekazać pliki tymczasowe i zmienić ich nazwę. Wyłącz tę opcję, jeśli serwer SFTP nie obsługuje operacji zmiany nazwy. wybrane (domyślne) lub niezaznaczone Nie useTempFileRename:
true (wartość domyślna) lub fałsz

Następne kroki