Amazon S3 のマニフェストファイルでサポートされている形式
JSON マニフェストファイルを使用して、Amazon QuickSight にインポートする Amazon S3 内のファイルを指定します。これらの JSON マニフェストファイルでは、下記のAmazon QuickSight 形式、または「Amazon Redshift データベースデベロッパーガイド」の「Using a manifest to specify data files」で説明されている Amazon Redshift 形式の、いずれかを使用できます。Amazon Redshift マニフェストファイル形式を使用する際に、Amazon Redshift を使用している必要はありません。
Amazon QuickSight 形式のマニフェストファイルを使用する場合、ファイルに .json の拡張子が付いている必要があります (例: my_manifest.json) 。Amazon Redshift 形式のマニフェストファイルを使用する場合は、任意の拡張子を付けることができます。
Amazon Redshift マニフェストファイルを使用する場合、Amazon QuickSight では、オプションの mandatory オプションは、Amazon Redshift と同様に動作します。関連するファイルが見つからない場合、Amazon QuickSight は読み込み処理を終了し、エラーを返します。
インポート用に選択するファイルは、文字区切り形式 (.csv や .tsv など) 、ログ (.clf)、拡張ログ (.elf) 形式、または JSON (.json) である必要があります。1 つのマニフェストファイルで識別されるすべてのファイルでは、同じファイル形式を使用する必要があります。さらに、列の数とタイプが同じである必要があります。Amazon QuickSight では UTF-8 ファイルエンコードはサポートされていますが、バイトオーダーマーク(BOM) 付きの UTF-8 はサポートされていません。JSON ファイルをインポートする場合は、globalUploadSettings に format を指定する必要がありますが、delimiter、textqualifier、containsHeader を指定する必要がありません。
指定したファイルが Amazon QuickSight へのアクセスを許可した Amazon S3 バケット内にあることを確認します。Amazon QuickSight に AWS リソースへのアクセス権を付与する方法の詳細については、「データソースへのアクセス」を参照してください。
Amazon QuickSight 用のマニフェストファイル形式
Amazon QuickSight のマニフェストファイルでは、以下の JSON 形式が使用されています。
{ "fileLocations": [ { "URIs": [ "uri1", "uri2", "uri3" ] }, { "URIPrefixes": [ "prefix1", "prefix2", "prefix3" ] } ], "globalUploadSettings": { "format": "JSON", "delimiter": ",", "textqualifier": "'", "containsHeader": "true" } }
fileLocations 要素内のフィールドではインポートするファイルを指定し、globalUploadSettings 要素内のフィールドではそれらのファイルのインポート設定 (フィールド区切り文字など) を指定します。
マニフェストファイルの要素について以下に説明します。
-
fileLocations - インポートするファイルを指定するときはこの要素を使用します。
URIs配列とURIPrefixes配列のいずれかまたは両方を使用してファイルを指定できます。そのいずれかで、値を 1 つ以上指定する必要があります。-
URI - インポートする特定のファイルの URI をリスト化するときは、この配列を使用します。
Amazon QuickSight では、任意の AWS リージョン にある Amazon S3 ファイルにアクセスできます。ただし、Amazon S3 バケットの AWS リージョンが Amazon QuickSight アカウントで使用されているリージョンと異なる場合は、そのリージョンを特定する URI 形式を使用する必要があります。
以下の形式の URI がサポートされています。
URI 形式 例 コメント https://s3.amazonaws.com/<bucket name>/<file name> https://s3.amazonaws.com/amzn-s3-demo-bucket/data.csv s3://<bucket name>/<file name> s3://amzn-s3-demo-bucket/data.csv https://<bucket name>.s3.amazonaws.com/<file name> https:// amzn-s3-demo-bucket.s3.amazonaws.com/data.csvhttps://s3-<region name>.amazonaws.com/<bucket name>/<file name> https:// s3-us-east-1.amazonaws.com/amzn-s3-demo-bucket/data.csvこの URI タイプにより、Amazon S3 バケット用の AWS リージョン が特定されます。
https://<bucket name>.s3-<region name>.amazonaws.com/<file name>
https:// amzn-s3-demo-bucket.s3-us-east-1.amazonaws.com/data.csvこの URI タイプにより、Amazon S3 バケット用の AWS リージョン が特定されます。 -
URIPrefixes - S3 バケットおよびフォルダの URI プレフィックスをリスト化するときは、この配列を使用します。指定したバケットまたはフォルダ内のすべてのファイルがインポートされます。Amazon QuickSight では、子フォルダ内のファイルを再帰的に取得します。
QuickSight では、任意の AWS リージョン にある Amazon S3 バケットまたはフォルダにアクセスできます。ただし、QuickSight アカウントで使用されているリージョンと異なるリージョンにアクセスする場合には、S3 バケットの AWS リージョン を特定するプレフィックス形式を URI に使用する必要があります。
以下の形式の URI プレフィックスがサポートされています。
URI プレフィックス形式 例 コメント https://s3.amazonaws.com/<bucket name>/
https://s3.amazonaws.com/amzn-s3-demo-bucket/ https://s3.amazonaws.com/<bucket name>/<folder name1>/(<folder name2>/etc.) https://s3.amazonaws.com/amzn-s3-demo-bucket/folder1/ s3://<bucket name> s3://amzn-s3-demo-bucket/ s3://<bucket name>/<folder name1>/(<folder name2>/etc.) s3://amzn-s3-demo-bucket/folder1/ https://<
bucket name>.s3.amazonaws.comhttps:// amzn-s3-demo-bucket.s3.amazonaws.comhttps://s3-<region name>.amazonaws.com/<bucket name>/ https://s3- your-region-for-example-us-east-2.amazonaws.com/amzn-s3-demo-bucket/この URIPrefixタイプにより、Amazon S3 バケット用の AWS リージョン が特定されます。https://s3-<region name>.amazonaws.com/<bucket name>/<folder name1>/(<folder name2>/etc.) https:// s3-us-east-1.amazonaws.com/amzn-s3-demo-bucket/folder1/この URIPrefixタイプにより、Amazon S3 バケット用の AWS リージョン が特定されます。https://<bucket name>.s3-<region name>.amazonaws.com https://
amzn-s3-demo-bucket.s3-us-east-1.amazonaws.comこの URIPrefixタイプにより、Amazon S3 バケット用の AWS リージョン が特定されます。
-
-
globalUploadSettings - (オプション) この要素は、Amazon S3 ファイルのインポート設定 (フィールド区切り文字など) を指定するときに使用します。この要素が指定されていない場合、Amazon QuickSight ではこのセクションのフィールドのデフォルト値が使用されます。
重要
ログ形式 (.clf) と拡張ログ形式 (.elf) のファイルでは、このセクションの format フィールドのみが適用されるため、その他のフィールドは省略できます。他のフィールドを含めている場合、それらの値は無視されます。
-
format - (オプション) インポートするファイルの形式を指定します。有効な形式は、
CSV、TSV、CLF、ELF、およびJSONです。デフォルト値はCSVです。 -
delimiter - (オプション) ファイルのフィールド区切り文字を指定します。この値は、
formatフィールドで指定しているファイルタイプに対応している必要があります。有効な値は、.csv ファイルではカンマ (,)、.tsv ファイルではタブ (\t) です。デフォルト値はカンマ (,) です。 -
textqualifier (オプション) ファイルのテキスト修飾子を指定します。有効な形式は、一重引用符 (
')、二重引用符 (\") です。先頭のバックスラッシュは、JSON で二重引用符に必須のエスケープ文字です。デフォルト値は二重引用符 (\") です。テキストにテキスト修飾子が必要ない場合は、このプロパティを含めないでください。 -
containsHeader - (オプション) ファイルにヘッダー行を入れるかどうかを指定します。有効な形式は、
trueまたはfalseです。デフォルト値はtrueです。
-
Amazon QuickSight 用のマニフェストファイルの例
次に、完成した Amazon QuickSight マニフェストファイルの一例を紹介します。
次の例では、インポートする 2 つ .csv ファイルを特定するマニフェストファイルを示しています。これらのファイルでは、テキスト修飾子として二重引用符を使用しています。format、delimiter、および containsHeader フィールドは、デフォルト値のままで問題ないため、省略しています。
{ "fileLocations": [ { "URIs": [ "https://yourBucket.s3.amazonaws.com/data-file.csv", "https://yourBucket.s3.amazonaws.com/data-file-2.csv" ] } ], "globalUploadSettings": { "textqualifier": "\"" } }
次の例では、インポートする 1 つの .tsv ファイルを特定するマニフェストファイルを示しています。このファイルには、インポート用の追加の .tsv ファイルが含まれる別の AWS リージョンのバケットも含まれます。textqualifier および containsHeader フィールドは、デフォルト値のままで問題ないため、省略しています。
{ "fileLocations": [ { "URIs": [ "https://s3.amazonaws.com/amzn-s3-demo-bucket/data.tsv" ] }, { "URIPrefixes": [ "https://s3-us-east-1.amazonaws.com/amzn-s3-demo-bucket/" ] } ], "globalUploadSettings": { "format": "TSV", "delimiter": "\t" } }
次の例では、インポートする .clf ファイルを含む 2 つのバケットを識別します。1 つは Amazon QuickSight アカウントと同じ AWS リージョン にあり、もう 1 つは別の AWS リージョン にあります。delimiter、textqualifier、および containsHeader フィールドは、ログ形式のファイルには適用されないため、省略しています。
{ "fileLocations": [ { "URIPrefixes": [ "https://amzn-s3-demo-bucket1.your-s3-url.com", "s3://amzn-s3-demo-bucket2/" ] } ], "globalUploadSettings": { "format": "CLF" } }
次の例では、Amazon Redshift 形式を使用して、インポートする .csv ファイルを特定しています。
{ "entries": [ { "url": "https://amzn-s3-demo-bucket.your-s3-url.com/myalias-test/file-to-import.csv", "mandatory": true } ] }
次の例では、Amazon Redshift 形式を使用して、インポートする 2 つの JSON ファイルを特定しています。
{ "fileLocations": [ { "URIs": [ "https://yourBucket.s3.amazonaws.com/data-file.json", "https://yourBucket.s3.amazonaws.com/data-file-2.json" ] } ], "globalUploadSettings": { "format": "JSON" } }