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 Guide。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 ファイルをインポートする場合は、 に 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 S3 アカウントで使用されているリージョンと異なるリージョンに置かれている場合は、Amazon QuickSight バケットの 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.s3amazonaws.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 (形式)] – (オプション)インポートするファイルの形式を指定します。有効な形式はCSV、、、TSVCLFELFおよび 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" } }