Microsoft Fabric の Data Factory での JSON 形式
この記事では、Microsoft Fabric で Data Factory のデータ パイプラインでの JSON 形式を構成する方法の概要を示します。
サポートされる機能
JSON 形式は、次のアクティビティとコネクタでソースとコピー先としてサポートされています。
カテゴリ | コネクタ/アクティビティ |
---|---|
サポートされているコネクタ | Amazon S3 |
Amazon S3 互換 | |
Azure Blob Storage | |
Azure Data Lake Storage Gen1 | |
Azure Data Lake Storage Gen2 | |
Azure Files | |
ファイル システム | |
FTP | |
Google Cloud Storage | |
HTTP | |
レイクハウス ファイル | |
Oracle Cloud Storage | |
SFTP | |
サポートされているアクティビティ | Copy アクティビティ (コピー元/コピー先) |
Lookup アクティビティ | |
GetMetadata アクティビティ | |
アクティビティを削除する |
Copy アクティビティでの JSON 形式
JSON 形式を構成するには、データ パイプラインの Copy アクティビティのソースまたはコピー先で接続を選び、[ファイル形式] のドロップダウン リストで [JSON] を選びます。 この形式をさらに構成するには、[設定] を選択します。
ソースとしての JSON 形式
[ファイル形式] セクションで [設定] を選択すると、ポップアップの [File format settings] (ファイル形式設定) ダイアログ ボックスに以下のプロパティが表示されます。
[圧縮の種類]: JSON ファイルの読み取りに使う圧縮コーデックをドロップダウン リストで選びます。 [なし]、[bzip2]、[gzip]、[deflate]、[ZipDeflate]、[TarGzip]、[tar] から選べます。
圧縮の種類として [ZipDeflate] を選択した場合、[ソース] タブの [詳細設定] に [Preserve zip file name as folder] (ZIP ファイル名をフォルダーとして保持する) が表示されます。
- [Preserve zip file name as folder] (ZIP ファイル名をフォルダーとして保持する): コピー時にソースの ZIP ファイル名をフォルダー構造として保持するかどうかを指定します。
- このボックスがオン (既定値) の場合、解凍されたファイルはサービスによって
<specified file path>/<folder named as source zip file>/
に書き込まれます。 - このボックスがオフの場合、解凍されたファイルはサービスによって
<specified file path>
に直接書き込まれます。 競合または予期しない動作を避けるために、異なるソース ZIP ファイルに重複したファイル名がないことを確認します。
- このボックスがオン (既定値) の場合、解凍されたファイルはサービスによって
圧縮の種類として [TarGzip/tar] を選択した場合、[ソース] タブの [詳細設定] に [Preserve compression file name as folder] (圧縮ファイル名をフォルダーとして保持する) が表示されます。
- [Preserve compression file name as folder] (圧縮ファイル名をフォルダーとして保持する): コピー時にソースの圧縮ファイル名をフォルダー構造として保持するかどうかを指定します。
- このボックスがオン (既定値) の場合、圧縮解除されたファイルがサービスによって
<specified file path>/<folder named as source compressed file>/
に書き込まれます。 - このボックスがオフの場合、圧縮解除されたファイルがサービスによって
<specified file path>
に直接書き込まれます。 競合または予期しない動作を避けるために、異なるソース ファイルに重複したファイル名がないことを確認します。
- このボックスがオン (既定値) の場合、圧縮解除されたファイルがサービスによって
- [Preserve zip file name as folder] (ZIP ファイル名をフォルダーとして保持する): コピー時にソースの ZIP ファイル名をフォルダー構造として保持するかどうかを指定します。
圧縮レベル: 圧縮率です。 [最速] または [最適] から選べます。
最速: 圧縮操作は可能な限り短時間で完了しますが、生成ファイルが最適に圧縮されない場合があります。
Optimal:圧縮操作で最適に圧縮されますが、操作が完了するまでに時間がかかる場合があります。 詳細については、圧縮率に関する記事を参照してください。
[エンコード]: テスト ファイルの読み取りに使うエンコードの種類を指定します。 ドロップダウン リストから種類を 1 つ選びます。 既定値は UTF-8です。
コピー先としての JSON 形式
[設定] を選択すると、[File format settings] (ファイル形式設定) ダイアログ ボックスに以下のプロパティが表示されます。
[圧縮の種類]: JSON ファイルの書き込みに使う圧縮コーデックをドロップダウン リストで選びます。 [なし]、[bzip2]、[gzip]、[deflate]、[ZipDeflate]、[TarGzip]、[tar] から選べます。
圧縮レベル: 圧縮率です。 [最適] または [最速] から選択できます。
最速: 圧縮操作は可能な限り短時間で完了しますが、生成ファイルが最適に圧縮されない場合があります。
Optimal:圧縮操作で最適に圧縮されますが、操作が完了するまでに時間がかかる場合があります。 詳細については、圧縮率に関する記事を参照してください。
[エンコード]: テスト ファイルの書き込みに使うエンコードの種類を指定します。 ドロップダウン リストから種類を 1 つ選びます。 既定値は UTF-8です。
[コピー先] タブの [詳細] 設定に、次の JSON 形式の関連プロパティが表示されます。
- [ファイルのパターン]: 各 JSON ファイルに格納されるデータのパターンを指定します。 指定できる値は、[Set of objects] (オブジェクトのセット) (JSON 行) と [Array of objects] (オブジェクトの配列) です。 既定値は [Set of objects] (オブジェクトのセット) です。 これらのパターンの詳細については、「JSON ファイルのパターン」セクションを参照してください。
JSON ファイルのパターン
JSON ファイルからデータをコピーする場合、コピー アクティビティでは、JSON ファイルの以下のパターンを自動的に検出および解析することができます。 データを JSON ファイルに書き込むときに、Copy アクティビティのコピー先でファイル パターンを構成できます。
タイプ I: setOfObjects
各ファイルには、単一のオブジェクト、JSON 行、または連結されたオブジェクトが含まれます。
単一オブジェクトの JSON の例
{ "time": "2015-04-29T07:12:20.9100000Z", "callingimsi": "466920403025604", "callingnum1": "678948008", "callingnum2": "567834760", "switch1": "China", "switch2": "Germany" }
JSON 行 (コピー先の既定値)
{"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"}
連結 JSON の例
{ "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" }
タイプ II: arrayOfObjects
各ファイルにはオブジェクトの配列が含まれます。
[ { "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" } ]
表の概要
ソースとしての JSON
JSON 形式を使う場合、Copy アクティビティの [ソース] セクションでは、次のプロパティがサポートされます。
名前 | Description | Value | 必須 | JSON スクリプト プロパティ |
---|---|---|---|---|
ファイル形式 | 使用するファイル形式。 | JSON | はい | type ("datasetSettings の下"):JSON |
[圧縮の種類] | JSON ファイルの読み取りに使われる圧縮コーデック。 | 次から選択してください。 なし bzip2 gzip deflate ZipDeflate TarGzip tar |
いいえ | type ("compression の下"):bzip2 gzip deflate ZipDeflate TarGzip tar |
圧縮レベル | 圧縮率です。 | Fastest Optimal |
いいえ | level ("compression の下"):Fastest 最適 |
[エンコード] | テスト ファイルの読み取りに使われるエンコードの種類。 | "UTF-8" (既定値)、"BOM なしの UTF-8"、"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"、"IBM775"、"IBM850"、"IBM852"、"IBM855"、"IBM857"、"IBM860"、"IBM861"、"IBM863"、"IBM864"、"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-1252"、"WINDOWS-1253"、"WINDOWS-1254"、"WINDOWS-1255"、"WINDOWS-1256"、"WINDOWS-1257"、"WINDOWS-1258" | なし | encodingName |
Preserve zip file name as folder (ZIP ファイル名をフォルダーとして保持する) | コピー時にソースの ZIP ファイル名をフォルダー構造として保持するかどうかを指定します。 | オン (既定値) またはオフ | いいえ | preserveZipFileNameAsFolder (" compressionProperties ->type の下に ZipDeflateReadSettings として"):true (既定値) または false |
Preserve compression file name as folder (圧縮ファイル名をフォルダーとして保持する) | コピー時にソースの圧縮ファイル名をフォルダー構造として保持するかどうかを指定します。 | オン (既定値) またはオフ | いいえ | preserveCompressionFileNameAsFolder (" compressionProperties ->type の下に TarGZipReadSettings または TarReadSettings として"):true (既定値) または false |
コピー先としての JSON
JSON 形式を使う場合、Copy アクティビティの [コピー先] セクションでは、次のプロパティがサポートされます。
名前 | Description | Value | 必須 | JSON スクリプト プロパティ |
---|---|---|---|---|
ファイル形式 | 使用するファイル形式。 | JSON | はい | type ("datasetSettings の下"):JSON |
[圧縮の種類] | JSON ファイルの書き込みに使われる圧縮コーデック。 | 次から選択してください。 なし bzip2 gzip deflate ZipDeflate TarGzip tar |
いいえ | type ("compression の下"):bzip2 gzip deflate ZipDeflate TarGzip tar |
圧縮レベル | 圧縮率です。 | Fastest Optimal |
いいえ | level ("compression の下"):Fastest 最適 |
[エンコード] | テスト ファイルの書き込みに使われるエンコードの種類。 | "UTF-8" (既定値)、"BOM なしの UTF-8"、"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"、"IBM775"、"IBM850"、"IBM852"、"IBM855"、"IBM857"、"IBM860"、"IBM861"、"IBM863"、"IBM864"、"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-1252"、"WINDOWS-1253"、"WINDOWS-1254"、"WINDOWS-1255"、"WINDOWS-1256"、"WINDOWS-1257"、"WINDOWS-1258" | なし | encodingName |
ファイル パターン | 各 JSON ファイルに格納されたデータのパターンを示します。 | オブジェクトのセット オブジェクトの配列 |
いいえ | filePattern: setOfObjects arrayOfObjects |