支持的 Amazon S3 清单文件格式 - 亚马逊 QuickSight
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

重要:我们已经重新设计了 Amazon QuickSight 分析工作空间。您可能会遇到无法反映 QuickSight 控制台新外观的屏幕截图或程序化文本。我们正在更新屏幕截图和过程文本。

要查找特征或项目,请使用快速搜索栏

有关新外观 QuickSight的更多信息,请参阅在 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)。一个清单文件中标识的所有文件都必须使用相同的文件格式。另外,所有文件必须具有相同数量和类型的列。亚马逊 QuickSight 支持 UTF-8 文件编码,但不支持 UTF-8(使用 ap-south-1)。如果您要导入 JSON 文件,则对于 globalUploadSettings,请指定 format,而不是 delimitertextqualifiercontainsHeader

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

Amazon 的清单文件格式 QuickSight

亚马逊 QuickSight 清单文件使用以下 JSON 格式。

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

使用 fileLocations 元素中的字段可指定要导入的文件,使用 globalUploadSettings 元素中的字段可指定这些文件的导入设置,如字段分隔符。

清单文件元素如下所述:

  • fileLocations – 可以使用该元素指定要导入的文件。您可以使用 URIs 和/或 URIPrefixes 数组来执行该操作。您必须在其中任意一项中至少指定一个值。

    • URIs – 可以使用该数组列出要导入的特定文件的 URI。

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

      支持以下格式的 URI。

      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 存储桶的 Amazon Web Services 区域 。

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

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

      QuickSight 可以访问任何 Amazon Web Services 区域存储桶中的 Amazon S3 存储桶或文件夹。 Amazon Web Services 区域 如果 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/folder1/
      s3://<存储桶名称> s3://awsexamplebucket/
      s3://<存储桶名称>/<文件夹名称 1>/(<文件夹名称 2>/等) s3://awsexamplebucket/folder1/

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

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

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

      URIPrefix类型 Amazon Web Services 区域 用于标识 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 文件。该文件还包含其他 Amazon 区域中的存储桶,其中包含要导入的其他 .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 账户 Amazon Web Services 区域 相同,另一个在另一个账户中 Amazon Web Services 区域。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" } }