支持的 Amazon S3 清单文件格式 - Amazon QuickSight

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

支持的 Amazon S3 清单文件格式

您可以使用JSON清单文件在 Amazon S3 中指定要导入到亚马逊的文件 QuickSight。这些JSON清单文件可以使用下文所述的亚马逊 QuickSight 格式,也可以使用亚马逊 Redshift 数据库开发者指南中使用清单指定数据文件中描述的 Amazon Redshift 格式。您无需使用 Amazon Redshift 就能使用 Amazon Redshift 清单文件格式。

例如my_manifest.json,如果您使用亚马逊 QuickSight 清单文件,则其扩展名必须为.json。如果使用 Amazon Redshift 清单文件,则可以使用任何扩展名。

如果您使用亚马逊 Redshift 清单文件,亚马逊会像亚马逊 Redshift 一样 QuickSight 处理可选mandatory选项。如果未找到关联文件,Amazon 将 QuickSight 结束导入过程并返回错误。

选择导入的文件必须是分隔文本(例如.csv 或.tsv)、日志 (.clf)、扩展日志 (.elf) 格式或 (.json)。JSON一个清单文件中标识的所有文件都必须使用相同的文件格式。另外,所有文件必须具有相同数量和类型的列。Amazon QuickSight 支持 UTF -8 文件编码,但不支持带字节顺序标记 () 的 UTF -8。BOM如果要导入JSON文件,则globalUploadSettings指定format、但不是delimitertextqualifier、或containsHeader

确保您指定的所有文件都位于您已授予亚马逊 QuickSight 访问权限的 Amazon S3 存储桶中。有关授予 Amazon AWS 资源 QuickSight 访问权限的信息,请参阅访问数据来源

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 数组来执行该操作。您必须在其中任意一项中至少指定一个值。

    • URIs— 使用此数组列URIs出要导入的特定文件。

      亚马逊 QuickSight 可以访问任何文件中的亚马逊 S3 文件 AWS 区域。但是,如果该URI格式与您的亚马逊 QuickSight 账户使用的格式不同,则必须使用能够识别 Amazon S3 存储桶所在 AWS 区域的格式。

      URIs支持以下格式。

      URI 格式 示例 注释
      https://s3.amazonaws.com/< 存储桶名称 >/< 文件名 > https://s3.amazonaws.com/awsexamplebucket/data.csv
      s3://<存储桶名称>/<文件名> s3://awsexamplebucket/data.csv
      https://<存储桶名称>.s3.amazonaws.com/<文件名> https://awsexamplebucket.s3.amazonaws.com/ data.csv
      https://s3-<区域名称>.amazonaws.com/<存储桶名称>/<文件名> https:/s3-us-east-1.amazonaws.com//awsexamplebucket/data.csv

      此 URI 类型指定 Amazon S3 存储桶的 AWS 区域 。

      https://<存储桶名称>.s3-<区域名称>.amazonaws.com/<文件名>

      https://awsexamplebuckets3-us-east-1amazonawscom/data.csv 此URI类型 AWS 区域 用于标识 Amazon S3 存储桶。
    • URIPrefixes— 使用此数组列出 S3 存储桶和文件夹URI的前缀。将导入指定的存储桶或文件夹中的所有文件。Amazon QuickSight 以递归方式从子文件夹中检索文件。

      QuickSight 可以访问任何 AWS 区域存储桶中的 Amazon S3 存储桶或文件夹。 AWS 区域 如果 S3 存储桶与您的 QuickSight 账户使用的存储桶不同,请务必使用标识 S3 存储桶URI的前缀格式。

      URI支持以下格式的前缀。

      URI前缀格式 示例 注释

      https://s3.amazonaws.com/< 存储桶名称 >/

      https://s3.amazonaws.com/awsexamplebucket/
      https://s3.amazonaws.com/< 存储桶名称 >/< 文件夹名称1 >/ (< 文件夹名称 2>/等) https://s3.amazonaws.com/awsexamplebucket/文件夹 1/
      s3://<存储桶名称> s3://awsexamplebucket/
      s3://<存储桶名称>/<文件夹名称 1>/(<文件夹名称 2>/等) s3://awsexamplebucket/folder1/

      https: //< bucket name>。 s3amazonaws.com

      https://awsexamplebuckets3amazonaws.com
      https://s3-<区域名称>.amazonaws.com/<存储桶名称>/ https://s3-your-region-for-example-us-east-2amazonaws.com/awsexamplebucket/ URIPrefix类型 AWS 区域 用于标识 Amazon S3 存储桶。
      https://s3-<区域名称>.amazonaws.com/<存储桶名称>/<文件夹名称 1>/(<文件夹名称 2>/等) https:s3-us-east-1.amazonaws.com//awsexamplebucket//folder1/ URIPrefix类型 AWS 区域 用于标识 Amazon S3 存储桶。
      https://<存储桶名称>.s3-<区域名称>.amazonaws.com

      https://awsexamplebuckets3-us-east-1.amazonawscom

      URIPrefix类型 AWS 区域 用于标识 Amazon S3 存储桶。
  • globalUploadSettings—(可选)使用此元素指定 Amazon S3 文件的导入设置,例如字段分隔符。如果未指定此元素,Amazon 将 QuickSight 使用本节中字段的默认值。

    重要

    对于日志 (.clf) 和扩展日志 (.elf) 文件,只有这部分中的 format 字段适用,因此,您可以跳过其他字段。如果选择包括它们,其值将被忽略。

    • format –(可选)指定要导入的文件的格式。有效的格式为 CSVTSVCLFELFJSON。默认值为 CSV

    • delimiter –(可选)指定文件字段分隔符。必须映射到 format 字段中指定的文件类型。有效的格式为用于 .csv 文件的逗号 (,) 和用于 .tsv 文件的制表符 (\t)。默认值为逗号 (,)。

    • textqualifier –(可选)指定文件文本限定符。有效格式为单引号 (')、双引号 (\")。前导反斜杠是双引号中的必填转义字符。JSON默认值为双引号 (\")。如果您的文本不需要文本限定符,则不要包含此属性。

    • containsHeader—(可选)指定文件是否有标题行。有效的格式为 truefalse。默认值为 true

Amazon 的清单文件示例 QuickSight

以下是已完成的 Amazon QuickSight 清单文件的一些示例。

以下示例显示一个清单文件,它指定两个要导入的特定 .csv 文件。这些文件对文本限定符使用双引号。默认值是可接受的,因此,跳过 formatdelimitercontainsHeader 字段。

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

以下示例显示一个清单文件,它指定一个要导入的特定 .tsv 文件。该文件还包含其他 AWS 区域中的存储桶,其中包含要导入的其他 .tsv 文件。默认值是可接受的,因此跳过 textqualifiercontainsHeader 字段。

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

以下示例指定两个包含要导入的 .clf 文件的存储桶。一个与Amazon QuickSight 账户 AWS 区域 相同,另一个在另一个账户中 AWS 区域。delimitertextqualifiercontainsHeader 字段不适用于日志文件,因此跳过这些字段。

{ "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 格式来识别两个要导入的JSON文件。

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