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

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

JSON マニフェストファイルを使用して、Amazon S3 にインポートする Amazon QuickSight 内のファイルを指定します。これらの JSON マニフェストファイルでは、下記の Amazon QuickSight 形式、または「Amazon Redshiftマニフェストを使用し、https://docs.aws.amazon.com/redshift/latest/dg/loading-data-files-using-manifest.html」で説明している 形式のいずれかを使用できます。Amazon Redshift Database Developer GuideAmazon Redshift マニフェストファイル形式を使用するために Amazon Redshift を使用する必要はありません。

形式のマニフェストファイルを使用する場合は、.json 拡張子が付いている必要があります (例: Amazon QuickSight)。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 ファイルをインポートする場合、globalUploadSettings には format を指定しますが、delimitertextqualifier、または containsHeader は指定しません。

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

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 つ以上指定する必要があります。

    • [ URIs –] この配列を使用して、インポートする特定のファイルの URI のリストを指定します。

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

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

      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 バケットまたはフォルダにアクセスできます。アカウントで使用されているものと異なる S3 バケットの AWS リージョンを特定する URI プレフィックス形式を必ず使用してください。QuickSight

      以下の形式の 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" } }