Amazon S3 のマニフェストファイルでサポートされている形式 - Amazon QuickSight

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 ファイルエンコードはサポートされていますが、UTF-8 (BOM 付き) はサポートされていません。JSON ファイルをインポートする場合は、globalUploadSettingsformat を指定する必要がありますが、delimitertextqualifiercontainsHeader を指定する必要がありません。

指定したファイルが Amazon QuickSight へのアクセスを許可した Amazon S3 バケット内にあることを確認します。Amazon QuickSight に AWS リソースへのアクセス権を付与する方法の詳細については、データソースへのアクセス を参照してください。

Amazon QuickSight 用のマニフェストファイル形式

Amazon QuickSight のマニフェストファイルでは、以下の JSON 形式が使用されています。

{ "fileLocations": [ { "URIs": [ "uri1", "uri2", "uri3" ] }, { "URIPrefixes": [ "prefix1", "prefix2", "prefix3" ] } ], "globalUploadSettings": { "format": "CSV", "delimiter": ",", "textqualifier": "'", "containsHeader": "true" } }

fileLocations 要素内のフィールドではインポートするファイルを指定し、globalUploadSettings 要素内のフィールドではそれらのファイルのインポート設定 (フィールド区切り文字など) を指定します。

マニフェストファイルの要素について以下に説明します。

  • fileLocations - インポートするファイルを指定するときはこの要素を使用します。URIs 配列と URIPrefixes 配列のいずれかまたは両方を使用してファイルを指定できます。そのいずれかで、値を 1 つ以上指定する必要があります。

    • URI - インポートする特定のファイルの URI をリスト化するときは、この配列を使用します。

      Amazon QuickSight では、任意の AWS リージョンにある Amazon S3 ファイルにアクセスできます。ただし、Amazon QuickSight アカウントで使用されているリージョンと異なるリージョンに置かれている場合、Amazon S3 バケットの AWS リージョンを特定する URI 形式を使用する必要があります。

      以下の形式の URI がサポートされています。

      URI 形式 コメント
      https://s3.amazonaws.com/<bucket name>/<file name> https://s3.amazonaws.com/awsexamplebucket/data.csv
      s3://<bucket name>/<file name> s3://awsexamplebucket/data.csv
      https://<bucket name>.s3.amazonaws.com/<file name> https://awsexamplebucket.s3.amazonaws.com/data.csv
      https://s3-<region name>.amazonaws.com/<bucket name>/<file name> https://s3-us-east-1.amazonaws.com/awsexamplebucket/data.csv

      この URI タイプは、Amazon S3 バケットの AWS リージョンを特定しています。

      https://<bucket name>.s3-<region name>.amazonaws.com/<file name>

      https://awsexamplebucket.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/awsexamplebucket/
      https://s3.amazonaws.com/<bucket name>/<folder name1>/(<folder name2>/etc.) https://s3.amazonaws.com/awsexamplebucket/folder1/
      s3://<bucket name> s3://awsexamplebucket/
      s3://<bucket name>/<folder name1>/(<folder name2>/etc.) s3://awsexamplebucket/folder1/

      https://<bucket name>.s3.amazonaws.com

      https://awsexamplebucket.s3.amazonaws.com
      https://s3-<region name>.amazonaws.com/<bucket name>/ https://s3-your-region-for-example-us-east-2.amazonaws.com/awsexamplebucket/ この URIPrefix タイプでは、Amazon S3 バケットの AWS リージョンを特定しています。
      https://s3-<region name>.amazonaws.com/<bucket name>/<folder name1>/(<folder name2>/etc.) https://s3-us-east-1.amazonaws.com/awsexamplebucket/folder1/ この URIPrefix タイプでは、Amazon S3 バケットの AWS リージョンを特定しています。
      https://<bucket name>.s3-<region name>.amazonaws.com

      https://awsexamplebucket.s3-us-east-1.amazonaws.com

      この URIPrefix タイプでは、Amazon S3 バケットの AWS リージョンを特定しています。
  • globalUploadSettings - (オプション) この要素は、Amazon S3 ファイルのインポート設定 (フィールド区切り文字など) を指定するときに使用します。この要素が指定されていない場合、Amazon QuickSight ではこのセクションのフィールドのデフォルト値が使用されます。

    重要

    ログ形式 (.clf) と拡張ログ形式 (.elf) のファイルでは、このセクションの format フィールドのみが適用されるため、その他のフィールドは省略できます。他のフィールドを含めている場合、それらの値は無視されます。

    • format - (オプション) インポートするファイルの形式を指定します。有効な形式は、CSVTSVCLFELF、および JSON です。デフォルト値は CSV です。

    • delimiter - (オプション) ファイルのフィールド区切り文字を指定します。この値は、format フィールドで指定しているファイルタイプに対応している必要があります。有効な値は、.csv ファイルではカンマ (,)、.tsv ファイルではタブ (\t) です。デフォルト値はカンマ (,) です。

    • textqualifier (オプション) ファイルのテキスト修飾子を指定します。有効な形式は、一重引用符 (')、二重引用符 (\") です。先頭のバックスラッシュは、JSON で二重引用符に必須のエスケープ文字です。デフォルト値は二重引用符 (\") です。テキストにテキスト修飾子が必要ない場合は、このプロパティを含めないでください。

    • containsHeader - (オプション) ファイルにヘッダー行を入れるかどうかを指定します。有効な形式は、true または false です。デフォルト値は true です。

Amazon QuickSight 用のマニフェストファイルの例

次に、完成した Amazon QuickSight マニフェストファイルの一例を紹介します。

次の例では、インポートする 2 つ .csv ファイルを特定するマニフェストファイルを示しています。これらのファイルでは、テキスト修飾子として二重引用符を使用しています。formatdelimiter、および containsHeader フィールドは、デフォルト値のままで問題ないため、省略しています。

{ "fileLocations": [ { "URIs": [ "https://yourBucket.s3.amazonaws.com/data-file.json", "https://yourBucket.s3.amazonaws.com/data-file-2.json" ] } ], "globalUploadSettings": { "textqualifier": "\"" } }

次の例では、インポートする 1 つの .tsv ファイルを特定するマニフェストファイルを示しています。このファイルには、インポート用の追加の .tsv ファイルを含む別の AWS リージョンのバケットも含まれます。textqualifier および containsHeader フィールドは、デフォルト値のままで問題ないため、省略しています。

{ "fileLocations": [ { "URIs": [ "https://s3.amazonaws.com/awsexamplebucket/data.tsv" ] }, { "URIPrefixes": [ "https://s3-us-east-1.amazonaws.com/awsexamplebucket/" ] } ], "globalUploadSettings": { "format": "TSV", "delimiter": "\t" } }

次の例では、インポートする .clf ファイルを含む 2 つのバケットを識別します。1 つは Amazon QuickSight アカウントと同じ AWS リージョンにあり、もう 1 つは別の AWS リージョンにあります。delimitertextqualifier、および containsHeader フィールドは、ログ形式のファイルには適用されないため、省略しています。

{ "fileLocations": [ { "URIPrefixes": [ "https://awsexamplebucket.your-s3-url.com", "s3://awsexamplebucket2/" ] } ], "globalUploadSettings": { "format": "CLF" } }

次の例では、Amazon Redshift 形式を使用して、インポートする .csv ファイルを特定しています。

{ "entries": [ { "url": "https://awsexamplebucket.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" } }