Format JSON w usłudze Data Factory w usłudze Microsoft Fabric
W tym artykule opisano sposób konfigurowania formatu JSON w potoku danych usługi Data Factory w usłudze Microsoft Fabric.
Obsługiwane możliwości
Format JSON jest obsługiwany w przypadku następujących działań i łączników jako źródła i miejsca docelowego.
Kategoria | Łącznik/działanie |
---|---|
Obsługiwany łącznik | Amazon S3 |
Zgodność z usługą Amazon S3 | |
Azure Blob Storage | |
Usługa Azure Data Lake Storage 1. generacji | |
Azure Data Lake Storage Gen2 | |
Azure Files | |
System plików | |
FTP | |
Google Cloud Storage | |
HTTP | |
Pliki lakehouse | |
Oracle Cloud Storage | |
SFTP | |
Obsługiwane działanie | działanie Kopiuj (źródło/miejsce docelowe) |
Działanie Lookup | |
Działanie GetMetadata | |
Działanie usuwania |
Format JSON w działaniu kopiowania
Aby skonfigurować format JSON, wybierz połączenie w źródle lub miejscu docelowym działania kopiowania potoku danych, a następnie wybierz pozycję JSON z listy rozwijanej Format pliku. Wybierz pozycję Ustawienia , aby uzyskać dalszą konfigurację tego formatu.
Format JSON jako źródło
Po wybraniu pozycji Ustawienia w sekcji Format pliku w oknie dialogowym Ustawienia formatu pliku zostaną wyświetlone następujące właściwości.
Typ kompresji: wybierz koder-dekoder kompresji używany do odczytywania plików JSON na liście rozwijanej. Możesz wybrać spośród opcji Brak, bzip2, gzip, deflate, ZipDeflate, TarGzip lub tar.
Jeśli wybierzesz opcję ZipDeflate jako typ kompresji, zachowaj nazwę pliku zip jako folder jest wyświetlany w obszarze Ustawienia zaawansowane na karcie Źródło .
- Zachowaj nazwę pliku zip jako folder: wskazuje, czy podczas kopiowania zachować nazwę źródłowego pliku zip jako strukturę folderów.
- Jeśli to pole jest zaznaczone (ustawienie domyślne), usługa zapisuje rozpakowane pliki na .
<specified file path>/<folder named as source zip file>/
- Jeśli to pole jest niezaznaczone, usługa zapisuje rozpakowane pliki bezpośrednio do
<specified file path>
. Upewnij się, że nie masz zduplikowanych nazw plików w różnych źródłowych plikach zip, aby uniknąć wyścigów ani nieoczekiwanych zachowań.
- Jeśli to pole jest zaznaczone (ustawienie domyślne), usługa zapisuje rozpakowane pliki na .
W przypadku wybrania opcji TarGzip/tar jako typu kompresji zachowaj nazwę pliku kompresji jako folder jest wyświetlany w obszarze Ustawienia zaawansowane na karcie Źródło .
- Zachowaj nazwę pliku kompresji jako folder: wskazuje, czy podczas kopiowania zachować nazwę skompresowanego pliku źródłowego jako strukturę folderów.
- Jeśli to pole jest zaznaczone (ustawienie domyślne), usługa zapisuje dekompresowane pliki do
<specified file path>/<folder named as source compressed file>/
. - Jeśli to pole jest niezaznaczone, usługa zapisuje dekompresowane pliki bezpośrednio do
<specified file path>
. Upewnij się, że nie masz zduplikowanych nazw plików w różnych plikach źródłowych, aby uniknąć wyścigów ani nieoczekiwanych zachowań.
- Jeśli to pole jest zaznaczone (ustawienie domyślne), usługa zapisuje dekompresowane pliki do
- Zachowaj nazwę pliku zip jako folder: wskazuje, czy podczas kopiowania zachować nazwę źródłowego pliku zip jako strukturę folderów.
Poziom kompresji: współczynnik kompresji. Możesz wybrać opcję Najszybsze lub Optymalne.
Najszybsza: operacja kompresji powinna zostać ukończona tak szybko, jak to możliwe, nawet jeśli wynikowy plik nie jest optymalnie skompresowany.
Optymalna: operacja kompresji powinna być optymalnie skompresowana, nawet jeśli operacja trwa dłużej. Aby uzyskać więcej informacji, przejdź do artykułu Poziom kompresji.
Kodowanie: określ typ kodowania używany do odczytywania plików testowych. Wybierz jeden typ z listy rozwijanej. Wartość domyślna to UTF-8.
Format JSON jako miejsce docelowe
Po wybraniu pozycji Ustawienia zostaną wyświetlone następujące właściwości w wyskakującym oknie dialogowym Ustawienia formatu pliku.
Typ kompresji: wybierz koder-dekoder kompresji używany do zapisywania plików JSON na liście rozwijanej. Możesz wybrać spośród opcji Brak, bzip2, gzip, deflate, ZipDeflate, TarGzip lub tar.
Poziom kompresji: współczynnik kompresji. Możesz wybrać jedną z opcji Optymalna lub Najszybsza.
Najszybsza: operacja kompresji powinna zostać ukończona tak szybko, jak to możliwe, nawet jeśli wynikowy plik nie jest optymalnie skompresowany.
Optymalna: operacja kompresji powinna być optymalnie skompresowana, nawet jeśli operacja trwa dłużej. Aby uzyskać więcej informacji, przejdź do artykułu Poziom kompresji.
Kodowanie: określ typ kodowania używany do pisania plików testowych. Wybierz jeden typ z listy rozwijanej. Wartość domyślna to UTF-8.
W obszarze Ustawienia zaawansowane na karcie Miejsce docelowe zostaną wyświetlone następujące właściwości powiązane z formatem JSON.
- Wzorzec pliku: określ wzorzec danych przechowywanych w każdym pliku JSON. Dozwolone wartości to: Zestaw obiektów (linie JSON) i Tablica obiektów. Wartość domyślna to Zestaw obiektów. Aby uzyskać szczegółowe informacje o tych wzorcach, zobacz sekcję Wzorce plików JSON.
Wzorce plików JSON
Podczas kopiowania danych z plików JSON działanie kopiowania może automatycznie wykrywać i analizować następujące wzorce plików JSON. Podczas zapisywania danych w plikach JSON można skonfigurować wzorzec pliku w miejscu docelowym działania kopiowania.
Typ I: setOfObjects
Każdy plik zawiera pojedynczy obiekt, linie JSON lub obiekty łączone.
przykład kodu JSON z pojedynczym obiektem
{ "time": "2015-04-29T07:12:20.9100000Z", "callingimsi": "466920403025604", "callingnum1": "678948008", "callingnum2": "567834760", "switch1": "China", "switch2": "Germany" }
Linie JSON (ustawienie domyślne dla miejsca docelowego)
{"time":"2015-04-29T07:12:20.9100000Z","callingimsi":"466920403025604","callingnum1":"678948008","callingnum2":"567834760","switch1":"China","switch2":"Germany"} {"time":"2015-04-29T07:13:21.0220000Z","callingimsi":"466922202613463","callingnum1":"123436380","callingnum2":"789037573","switch1":"US","switch2":"UK"} {"time":"2015-04-29T07:13:21.4370000Z","callingimsi":"466923101048691","callingnum1":"678901578","callingnum2":"345626404","switch1":"Germany","switch2":"UK"}
przykład kodu JSON z obiektami połączonymi
{ "time": "2015-04-29T07:12:20.9100000Z", "callingimsi": "466920403025604", "callingnum1": "678948008", "callingnum2": "567834760", "switch1": "China", "switch2": "Germany" } { "time": "2015-04-29T07:13:21.0220000Z", "callingimsi": "466922202613463", "callingnum1": "123436380", "callingnum2": "789037573", "switch1": "US", "switch2": "UK" } { "time": "2015-04-29T07:13:21.4370000Z", "callingimsi": "466923101048691", "callingnum1": "678901578", "callingnum2": "345626404", "switch1": "Germany", "switch2": "UK" }
Typ II: arrayOfObjects
Każdy plik zawiera tablicę obiektów.
[ { "time": "2015-04-29T07:12:20.9100000Z", "callingimsi": "466920403025604", "callingnum1": "678948008", "callingnum2": "567834760", "switch1": "China", "switch2": "Germany" }, { "time": "2015-04-29T07:13:21.0220000Z", "callingimsi": "466922202613463", "callingnum1": "123436380", "callingnum2": "789037573", "switch1": "US", "switch2": "UK" }, { "time": "2015-04-29T07:13:21.4370000Z", "callingimsi": "466923101048691", "callingnum1": "678901578", "callingnum2": "345626404", "switch1": "Germany", "switch2": "UK" } ]
Podsumowanie tabeli
Kod JSON jako źródło
Poniższe właściwości są obsługiwane w sekcji Źródło działania kopiowania w przypadku korzystania z formatu JSON.
Nazwa/nazwisko | Opis | Wartość | Wymagania | Właściwość skryptu JSON |
---|---|---|---|---|
Format pliku | Format pliku, którego chcesz użyć. | JSON | Tak | type (w obszarze datasetSettings ):Dane w formacie JSON |
Typ kompresji | Koder koder kompresji używany do odczytywania plików JSON. | Wybierz spośród następujących: Brak bzip2 gzip Deflate ZipDeflate TarGzip smoła |
Nie. | type (w obszarze compression ): bzip2 gzip Deflate ZipDeflate TarGzip smoła |
Poziom kompresji | Współczynnik kompresji. | Najszybszy Optymalny |
Nie. | poziom (w obszarze compression ): Najszybszy Optymalny |
Kodowanie | Typ kodowania używany do odczytywania plików testowych. | "UTF-8" (domyślnie),"UTF-8 bez BOM", "UTF-16LE", "UTF-16BE", "UTF-32LE", "UTF-32BE", "US-ASCII", "UTF-7", "BIG5", "EUC-JP", "EUC-KR", "GB2312", "GB18030", "JOHAB", "SHIFT-JIS", "CP875", "CP866", "IBM00858", "IBM037", "IBM273", "IBM437", "IBM500", "IBM737", "IBM737", "IBM775", "IBM850", "IBM852", "IBM855", "IBM857", "IBM860", "IBM861", "IBM863", "IBM864", "IBM865", "IBM865", "IBM869", "IBM870", "IBM01140", "IBM01141", "IBM01142", "IBM01143", "IBM01144", "IBM01145", "IBM01146", "IBM01147", "IBM01148", "IBM01149", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-1", "ISO-8859-2", "ISO-8859-3", "ISO-8859-4", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8859-9", "ISO-8859-13", "ISO-8859-15", "WINDOWS-874", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1255"2", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255", "WINDOWS-1256", "WINDOWS-1257", "WINDOWS-1258" | Nie | encodingName |
Zachowaj nazwę pliku zip jako folder | Wskazuje, czy podczas kopiowania zachować nazwę źródłowego pliku zip jako strukturę folderów. | Wybrane (domyślne) lub usuń zaznaczenie | Nie. | preserveZipFileNameAsFolder (w obszarze compressionProperties ->type as ZipDeflateReadSettings ):true (wartość domyślna) lub fałsz |
Zachowaj nazwę pliku kompresji jako folder | Wskazuje, czy podczas kopiowania zachować nazwę skompresowanego pliku źródłowego jako strukturę folderów. | Wybrane (domyślne) lub usuń zaznaczenie | Nie. | preserveCompressionFileNameAsFolder (w obszarze compressionProperties ->type jako TarGZipReadSettings lub TarReadSettings ):true (wartość domyślna) lub fałsz |
Kod JSON jako miejsce docelowe
Poniższe właściwości są obsługiwane w sekcji Miejsce docelowe działania kopiowania w przypadku korzystania z formatu JSON.
Nazwa/nazwisko | Opis | Wartość | Wymagania | Właściwość skryptu JSON |
---|---|---|---|---|
Format pliku | Format pliku, którego chcesz użyć. | JSON | Tak | type (w obszarze datasetSettings ):Dane w formacie JSON |
Typ kompresji | Koder koder kompresji używany do pisania plików JSON. | Wybierz spośród następujących: Brak bzip2 gzip Deflate ZipDeflate TarGzip smoła |
Nie. | type (w obszarze compression ): bzip2 gzip Deflate ZipDeflate TarGzip smoła |
Poziom kompresji | Współczynnik kompresji. | Najszybszy Optymalny |
Nie. | poziom (w obszarze compression ): Najszybszy Optymalny |
Kodowanie | Typ kodowania używany do pisania plików testowych. | "UTF-8" (domyślnie),"UTF-8 bez BOM", "UTF-16LE", "UTF-16BE", "UTF-32LE", "UTF-32BE", "US-ASCII", "UTF-7", "BIG5", "EUC-JP", "EUC-KR", "GB2312", "GB18030", "JOHAB", "SHIFT-JIS", "CP875", "CP866", "IBM00858", "IBM037", "IBM273", "IBM437", "IBM500", "IBM737", "IBM737", "IBM775", "IBM850", "IBM852", "IBM855", "IBM857", "IBM860", "IBM861", "IBM863", "IBM864", "IBM865", "IBM865", "IBM869", "IBM870", "IBM01140", "IBM01141", "IBM01142", "IBM01143", "IBM01144", "IBM01145", "IBM01146", "IBM01147", "IBM01148", "IBM01149", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-1", "ISO-8859-2", "ISO-8859-3", "ISO-8859-4", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8859-9", "ISO-8859-13", "ISO-8859-15", "WINDOWS-874", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1255"2", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255", "WINDOWS-1256", "WINDOWS-1257", "WINDOWS-1258" | Nie | encodingName |
Wzorzec pliku | Wskazuje wzorzec danych przechowywanych w każdym pliku JSON. | Zestaw obiektów Tablica obiektów |
Nie. | filePattern: setOfObjects arrayOfObjects |