经过仔细考虑,我们决定分两个步骤停止使用亚马逊 Kinesis Data Analytics SQL 的应用程序:
1. 从 2025 年 10 月 15 日起,您将无法为应用程序创建新的 Kinesis Data Analytic SQL s。
2. 我们将从 2026 年 1 月 27 日起删除您的申请。您将无法启动或操作适用于应用程序的 Amazon Kinesis Data Analytic SQL s。从那时起,亚马逊 Kinesis Data Analytics SQL 将不再提供支持。有关更多信息,请参阅 适用于应用程序的 Amazon Kinesis Data Analytic SQL s 停产。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
针对静态数据使用架构发现功能
注意
2023 年 9 月 12 日之后,如果您尚未使用适用于 SQL 的 Kinesis Data Analytics,则将无法使用 Kinesis Data Firehose 作为来源创建新应用程序。有关更多信息,请参阅限制。
架构发现功能可以根据流中的数据或 Amazon S3 存储桶上存储的静态文件中的数据生成架构。假设您要为 Kinesis Data Analytics 应用程序生成架构以进行引用,或者实时流数据不可用。您可以对包含示例数据 (采用流或引用数据的预期格式) 的静态文件使用架构发现功能。Kinesis Data Analytics 可针对 Amazon S3 存储桶中所存的 JSON 或 CSV 文件中的示例数据运行架构发现。要针对数据文件使用架构发现功能,需使用控制台或指定了 DiscoverInputSchema 参数的 S3Configuration
API。
使用控制台运行架构发现
要使用控制台对静态文件运行发现功能,请执行以下操作:
向 S3 存储桶添加引用数据对象。
在 Kinesis Data Analytics 控制台的应用程序主页面中选择 连接引用数据。
提供存储桶、路径和 IAM 角色数据以访问包含引用数据的 Amazon S3 对象。
选择 发现架构。
有关如何在控制台中添加引用数据和发现架构的更多信息,请参阅示例:在 应用程序中添加引用数据。
使用 API 运行架构发现
要使用 API 针对静态文件运行发现,您需要为 API 提供具有以下信息的 S3Configuration
结构:
-
BucketARN
:包含该文件的 Amazon S3 存储桶的 Amazon 资源名称 (ARN)。对于 Amazon S3 存储桶 ARN 的格式,请参阅 Amazon 资源名称 (ARN) 和 Amazon 服务命名空间:Amazon Simple Storage Service (Amazon S3)。 -
RoleARN
:具有AmazonS3ReadOnlyAccess
策略的 IAM 角色的 ARN。有关如何将策略添加到角色的信息,请参阅修改角色。 -
FileKey
:对象的文件名称。
使用 DiscoverInputSchema
API 根据 Amazon S3 对象生成架构
-
确保您已完成 AWS CLI 设置。有关更多信息,请参阅“入门”部分中的第 2 步:设置 AWS Command Line Interface (AWS CLI)。
-
使用以下内容创建名为
data.csv
的文件:year,month,state,producer_type,energy_source,units,consumption 2001,1,AK,TotalElectricPowerIndustry,Coal,ShortTons,47615 2001,1,AK,ElectricGeneratorsElectricUtilities,Coal,ShortTons,16535 2001,1,AK,CombinedHeatandPowerElectricPower,Coal,ShortTons,22890 2001,1,AL,TotalElectricPowerIndustry,Coal,ShortTons,3020601 2001,1,AL,ElectricGeneratorsElectricUtilities,Coal,ShortTons,2987681
-
登录到 Amazon S3 控制台,网址:https://console.aws.amazon.com/s3/
。 -
创建一个 Amazon S3 存储桶,并上传您创建的
data.csv
文件。请记下所创建存储桶的 ARN。有关创建 Amazon S3 存储桶并上传文件的信息,请参阅 Amazon Simple Storage Service 入门。 -
通过 https://console.aws.amazon.com/iam/
打开 IAM 控制台。创建具有 AmazonS3ReadOnlyAccess
策略的角色。记下新角色的 ARN。有关创建角色的更多信息,请参阅创建向 Amazon 服务委托权限的角色。有关如何将策略添加到角色的信息,请参阅修改角色。 -
在中运行以下
DiscoverInputSchema
命令 AWS CLI,将 ARN 替换为您的 Amazon S3 存储桶和 IAM 角色:$aws kinesisanalytics discover-input-schema --s3-configuration '{ "RoleARN": "arn:aws:iam::123456789012:role/service-role/your-IAM-role", "BucketARN": "arn:aws:s3:::your-bucket-name", "FileKey": "data.csv" }'
-
该响应应该类似于下列内容:
{ "InputSchema": { "RecordEncoding": "UTF-8", "RecordColumns": [ { "SqlType": "INTEGER", "Name": "COL_year" }, { "SqlType": "INTEGER", "Name": "COL_month" }, { "SqlType": "VARCHAR(4)", "Name": "state" }, { "SqlType": "VARCHAR(64)", "Name": "producer_type" }, { "SqlType": "VARCHAR(4)", "Name": "energy_source" }, { "SqlType": "VARCHAR(16)", "Name": "units" }, { "SqlType": "INTEGER", "Name": "consumption" } ], "RecordFormat": { "RecordFormatType": "CSV", "MappingParameters": { "CSVMappingParameters": { "RecordRowDelimiter": "\r\n", "RecordColumnDelimiter": "," } } } }, "RawInputRecords": [ "year,month,state,producer_type,energy_source,units,consumption\r\n2001,1,AK,TotalElectricPowerIndustry,Coal,ShortTons,47615\r\n2001,1,AK,ElectricGeneratorsElectricUtilities,Coal,ShortTons,16535\r\n2001,1,AK,CombinedHeatandPowerElectricPower,Coal,ShortTons,22890\r\n2001,1,AL,TotalElectricPowerIndustry,Coal,ShortTons,3020601\r\n2001,1,AL,ElectricGeneratorsElectricUtilities,Coal,ShortTons,2987681" ], "ParsedInputRecords": [ [ null, null, "state", "producer_type", "energy_source", "units", null ], [ "2001", "1", "AK", "TotalElectricPowerIndustry", "Coal", "ShortTons", "47615" ], [ "2001", "1", "AK", "ElectricGeneratorsElectricUtilities", "Coal", "ShortTons", "16535" ], [ "2001", "1", "AK", "CombinedHeatandPowerElectricPower", "Coal", "ShortTons", "22890" ], [ "2001", "1", "AL", "TotalElectricPowerIndustry", "Coal", "ShortTons", "3020601" ], [ "2001", "1", "AL", "ElectricGeneratorsElectricUtilities", "Coal", "ShortTons", "2987681" ] ] }