本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
支持的 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
、但不是delimiter
textqualifier
、或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:// awsexamplebucket
。s3-us-east-1
。amazonaws
。com
/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
>。s3
。amazonaws.com
https:// awsexamplebucket
。s3
。amazonaws.com
https://s3-<区域名称>.amazonaws.com/<存储桶名称>/ https://s3- your-region-for-example-us-east-2
。amazonaws.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://
awsexamplebucket
。s3-us-east-1.amazonaws
。com
此 URIPrefix
类型 AWS 区域 用于标识 Amazon S3 存储桶。
-
-
globalUploadSettings—(可选)使用此元素指定 Amazon S3 文件的导入设置,例如字段分隔符。如果未指定此元素,Amazon 将 QuickSight 使用本节中字段的默认值。
重要
对于日志 (.clf) 和扩展日志 (.elf) 文件,只有这部分中的 format 字段适用,因此,您可以跳过其他字段。如果选择包括它们,其值将被忽略。
-
format –(可选)指定要导入的文件的格式。有效的格式为
CSV
、TSV
、CLF
、ELF
和JSON
。默认值为CSV
。 -
delimiter –(可选)指定文件字段分隔符。必须映射到
format
字段中指定的文件类型。有效的格式为用于 .csv 文件的逗号 (,
) 和用于 .tsv 文件的制表符 (\t
)。默认值为逗号 (,
)。 -
textqualifier –(可选)指定文件文本限定符。有效格式为单引号 (
'
)、双引号 (\"
)。前导反斜杠是双引号中的必填转义字符。JSON默认值为双引号 (\"
)。如果您的文本不需要文本限定符,则不要包含此属性。 -
containsHeader—(可选)指定文件是否有标题行。有效的格式为
true
或false
。默认值为true
。
-
Amazon 的清单文件示例 QuickSight
以下是已完成的 Amazon QuickSight 清单文件的一些示例。
以下示例显示一个清单文件,它指定两个要导入的特定 .csv 文件。这些文件对文本限定符使用双引号。默认值是可接受的,因此,跳过 format
、delimiter
和 containsHeader
字段。
{ "fileLocations": [ { "URIs": [ "https://
yourBucket
.s3
.amazonaws.com
/data-file.csv
", "https://yourBucket
.s3
.amazonaws.com
/data-file-2.csv
" ] } ], "globalUploadSettings": { "textqualifier": "\"" } }
以下示例显示一个清单文件,它指定一个要导入的特定 .tsv 文件。该文件还包含其他 AWS
区域中的存储桶,其中包含要导入的其他 .tsv 文件。默认值是可接受的,因此跳过 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 文件的存储桶。一个与Amazon QuickSight 账户 AWS 区域 相同,另一个在另一个账户中 AWS 区域。delimiter
、textqualifier
和 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 格式来识别两个要导入的JSON文件。
{ "fileLocations": [ { "URIs": [ "https://
yourBucket
.s3
.amazonaws.com
/data-file.json
", "https://yourBucket
.s3
.amazonaws.com
/data-file-2.json
" ] } ], "globalUploadSettings": { "format": "JSON" } }