在 Quick Sight 中使用 AWS Mainframe Modernization 和 Amazon Q 生成数据见解 - AWS 规范指引

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

在 Quick Sight 中使用 AWS Mainframe Modernization 和 Amazon Q 生成数据见解

Shubham Roy、Roshna Razack 和 Santosh Kumar Singh,Amazon Web Services

Summary

注意: AWS Mainframe Modernization 服务(托管运行时环境体验)不再向新客户开放。要获得与 AWS Mainframe Modernization 服务(托管运行时环境体验)类似的功能,请浏览 AWS Mainframe Modernization 服务(自我管理体验)。现有客户可以继续正常使用该服务。有关更多信息,请参阅 AWS Mainframe Modernization 可用性变更

如果组织在大型机环境中托管关键业务数据,那么从这些数据中获取见解对于推动增长和创新至关重要。通过解锁大型机数据,您可以构建更快、更安全的可扩展商业智能,从而加快 Amazon Web Services(AWS)云中数据驱动的决策、增长和创新。

此模式提供了一种解决方案,可使用 BMC 的 AWS Mainframe Modernization 文件传输功能Amazon Q in Quick Sight,从大型机数据中生成业务见解并创建可共享的叙述。通过 AWS Mainframe Modernization 使用 BMC 进行文件传输,将大型机数据集传输到亚马逊简单存储服务 (Amazon S3) Simple S3。 AWS Lambda 函数格式化并准备大型机数据文件以加载到 Quick Sight 中。

在 Quick Sight 中提供数据后,您可以使用自然语言提示和 Amazon Q in Quick Sight 创建数据摘要、提问并生成数据故事。您不必编写 SQL 查询或学习商业智能(BI)工具。

商业背景

此模式提供了一种解决方案,可用于大型机数据分析和数据见解使用案例。使用此模式,您可以为公司的数据构建可视化控制面板。为了演示解决方案,此模式以一家为美国成员提供医疗、牙科和视力计划的医疗保健公司为例。在此示例中,成员人口统计数据和计划信息存储在大型机数据集中。可视化控制面板显示以下信息:

  • 按区域划分的成员分布

  • 按性别划分的成员分布

  • 按年龄划分的成员分布

  • 按计划类型划分的成员分布

  • 尚未完成预防性免疫接种的成员

创建控制面板后,即可生成一个数据故事,其中会解释从先前分析得出的见解。数据故事就如何增加完成预防性免疫接种的成员人数提供了建议。

先决条件和限制

先决条件

  • 活跃的 AWS 账户

  • 包含业务数据的大型机数据集

  • 具有访问权限,以便在大型机上安装文件传输功能代理

限制

  • 您的大型机数据文件应采用 Quick Sight 支持的文件格式之一。有关支持的文件格式列表,请参阅支持的数据来源

  • 此模式使用 Lambda 函数将大型机文件转换为 Quick Sight 支持的格式。

架构

下图显示了通过在 Quick Sight 中使用 BMC 和 Amazon Q AWS Mainframe Modernization 的文件传输从大型机数据生成业务见解的架构。

架构图描述如下图所示。

下图显示了如下工作流:

  1. 通过使用 BMC 进行 AWS Mainframe Modernization 文件传输,将包含业务数据的大型机数据集传输到 Amazon S3。

  2. Lambda 函数将文件传输目标 S3 存储桶中的文件转换为逗号分隔值(CSV)格式。

  3. Lambda 函数将转换后的文件发送到源数据集 S3 存储桶。

  4. Quick Sight 摄取文件中的数据。

  5. 用户在 Quick Sight 中访问数据。您可以使用 Amazon Q in Quick Sight 通过自然语言提示与数据进行交互。

工具

AWS 服务

最佳实践

  • 当您使用 BMC 和 Lambda 函数创建用于 AWS Mainframe Modernization 文件传输的 AWS Identity and Access Management (IAM) 角色时,请遵循最低权限原则

  • 确保您的源数据集具有 Quick Sight 支持的数据类型。如果您的源数据集包含不支持的数据类型,请将其转换为支持的数据类型。有关不支持的大型机数据类型以及如何将其转换为 Amazon Q in Quick Sight 支持的数据类型的信息,请参阅相关资源部分。

操作说明

Task说明所需技能

安装文件传输功能代理。

要安装 AWS Mainframe Modernization 文件传输代理,请按照AWS 文档中的说明进行操作。

大型机系统管理员

创建 S3 存储桶,用于大型机文件传输功能。

创建 S3 存储桶以存储通过 BMC 传输 AWS Mainframe Modernization 文件的输出文件。在该架构图中,这是文件传输目标存储桶。

迁移工程师

创建数据传输端点。

  1. 创建 S3 存储桶来暂存输入的大型机文件,以便使用 BMC 传输 AWS Mainframe Modernization 文件。

  2. 要创建大型机数据传输端点,请按照 AWS 文档中的说明进行操作。

AWS Mainframe Modernization 专家
Task说明所需技能

创建 S3 存储桶。

为 Lambda 函数创建 S3 存储桶,以便将转换后的大型机文件从源存储桶复制到最终目标存储桶。

迁移工程师

创建一个 Lambda 函数。

要创建能够更改文件扩展名并将大型机文件复制到目标存储桶的 Lambda 函数,请执行以下操作:

  1. 登录并导航到 AWS Lambda 控制台。 AWS 管理控制台

  2. 选择创建函数,然后选择从头开始创作

  3. 对于函数名称,输入您的函数的名称。

  4. 运行时下拉列表中,选择 Python.3.X

  5. 展开更改默认执行角色,然后选择创建具有基本 Lambda 权限的新角色

  6. 选择创建函数

  7. 选择代码选项卡,然后粘贴其他信息部分中提供的 S3CopyLambda.py Python 代码。Python 代码是在 Microsoft Visual Studio 集成式开发环境(IDE)中使用 Amazon Q 生成的。

  8. destination_bucket_name 编辑为您之前创建的 S3 存储桶的名称,并将 change destination_file_key 编辑为大型机文件名。

  9. 部署 Lambda 函数。

迁移工程师

创建 Amazon S3 触发器,以调用 Lambda 函数。

要配置可调用 Lambda 函数的触发器,请执行以下操作:

  1. 在 Lambda 控制台上,打开函数页面

  2. 选择 Lambda 函数。

  3. 函数概述中,选择添加触发器

  4. 触发器配置下拉列表中,选择 S3

  5. 存储桶字段中,输入源存储桶的名称。

  6. 事件类型下拉列表中,选择所有对象创建事件

  7. 选中我确认知晓不建议使用相同的 S3 存储桶用于输入和输出复选框,然后选择添加

有关更多信息,请参见教程:使用 Amazon S3 触发器调用 Lambda函数

迁移主管

为 Lambda 函数提供 IAM 权限。

Lambda 函数需要具有 IAM 权限才能访问文件传输目标和源数据集 S3 存储桶。通过允许文件传输目标 S3 存储桶拥有 s3:GetObjects3:DeleteObject 权限,并允许源数据集 S3 存储桶拥有 s3:PutObject 访问权限,更新与 Lambda 函数执行角色关联的策略。

有关更多信息,请参阅教程:使用 Amazon S3 触发器调用 Lambda函数中的创建权限策略部分。

迁移主管
Task说明所需技能

创建传输任务,以将大型机文件复制到 S3 存储桶。

要创建大型机文件传输任务,请按照 AWS Mainframe Modernization 文档中的说明进行操作。

注意

源代码页编码指定为 IBM1047将目标代码页编码指定为 UTF-8

迁移工程师

验证传输任务。

要验证数据传输是否成功,请按照 AWS Mainframe Modernization 文档中的说明进行操作。确认大型机文件位于文件传输目标 S3 存储桶中。

迁移主管

验证 Lambda 复制函数。

验证 Lambda 函数是否已启动,以及文件是否已使用 .csv 扩展名复制到源数据集 S3 存储桶。

Lambda 函数创建的.csv 文件是 Quick Sight 的输入数据文件。有关示例数据,请参阅附件部分中的 Sample-data-member-healthcare-APG 文件。

迁移主管
Task说明所需技能

设置 Quick Sight。

要设置 Quick Sight,请按照 AWS 文档中的说明进行操作。

迁移主管

为 Quick Sight 创建数据集。

要为 Quick Sight 创建数据集,请按照 AWS 文档中的说明进行操作。输入数据文件是在定义大型机数据传输任务时创建的转换后的大型机文件。

迁移主管
Task说明所需技能

设置 Amazon Q in Quick Sight。

此功能需要企业版。要设置 Amazon Q in Quick Sight,请执行以下操作:

  1. 要获取 Amazon Q 附加组件,请按照 AWS 文档中的“步骤 1:获取 Q 附加组件”的说明进行操作。

  2. 要使用 Amazon Q 中的生成式商业智能功能,请升级用户的账户。按照 AWS 文档中的说明进行操作。

  3. 使用您之前创建的数据集创建 Amazon Q 主题。按照 AWS 文档中的说明进行操作。

  4. 要配置主题元数据使其适合自然语言,请按照 AWS 文档中的说明进行操作。

迁移主管

分析大型机数据并构建可视化控制面板。

要在 Quick Sight 中对数据进行分析和可视化,请执行以下操作:

  1. 要创建大型机数据分析,请按照 AWS 文档中的说明进行操作。对于数据集,选择在上一步中创建的数据集。

  2. 在分析页面上,选择构建视觉对象

  3. 创建分析主题窗口中,选择更新现有主题

  4. 选择主题下拉列表中,选择您之前创建的主题。

  5. 选择主题链接

  6. 链接主题后,选择构建视觉对象,以打开 Amazon Q 构建视觉对象窗口。

  7. 在提示栏中,写下您的分析问题。此模式使用的示例问题如下:

    • 显示按区域划分的成员分布

    • 显示按年龄划分的成员分布

    • 显示按性别划分的成员分布

    • 显示按计划类型划分的成员分布

    • 显示尚未完成预防性免疫接种的成员

    输入问题后,选择构建。Amazon Q in Quick Sight 可创建视觉对象。

  8. 要将视觉对象添加到可视化控制面板,请选择添加到分析

完成后,您可以发布自己的控制面板,以便与组织中的其他人共享。有关示例,请参阅其他信息部分中的大型机可视化控制面板

迁移工程师
Task说明所需技能

创建数据故事。

创建数据故事以解释先前分析的见解,并就增加完成预防性免疫接种的成员人数生成建议:

  1. 要创建数据故事,请按照 AWS 文档中的说明进行操作。

  2. 对于数据故事提示,请使用以下操作:

    Build a data story about Region with most numbers of members. Also show the member distribution by medical plan, vision plan, dental plan. Recommend how to motivate members to complete immunization. Include 4 points of supporting data for this pattern.

    您还可以构建自己的提示,以为其他业务见解生成数据故事。

  3. 选择添加视觉对象,然后添加与数据故事相关的视觉对象。对于此模式,请使用您之前创建的视觉对象。

  4. 选择构建

  5. 有关数据故事输出的示例,请参阅其他信息部分中的数据故事输出

迁移工程师

查看生成的数据故事。

要查看生成的数据故事,请按照 AWS 文档中的说明进行操作。

迁移主管

编辑生成的数据故事。

要更改数据故事中的格式、布局或视觉对象,请按照 AWS 文档中的说明进行操作。

迁移主管

共享数据故事。

要共享数据故事,请按照 AWS 文档中的说明进行操作。

迁移工程师

问题排查

问题解决方案

无法在 BMC 文件传输中发现在 “创建传输任务的数据集搜索条件中输入的大型机 AWS Mainframe Modernization 文件或数据集。

  1. 首先,在 “使用 BMC 传输” 控制台上选择 “数据 AWS Mainframe Modernization 传输端点”,检查连接。如果上次心跳时间超过两分钟,则文件传输连接尚未建立。如果在大型机上运行的代理的最后一次心跳时间不到 2 分钟,则与代理的连接已成功建立。继续执行步骤 2。

  2. 检查 AWS Secrets Manager 设置。必须在 Secrets Manager 中配置私有密钥,其中 userId(大写字母 I)的密钥为大型机的用户 ID,而 password密钥的值为大型机密码的userIdpassword 私有密钥区分大小写,必须按原样输入。

相关资源

要将压缩十进制(COMP-3)二进制(COMP 或 COMP-4)等大型机数据类型转换为 Quick Sight 支持的数据类型,请参阅以下模式:

附加信息

S3 CopyLambda .py

以下 Python 代码是通过在 IDE 中使用 Amazon Q 的提示符生成的:

#Create a lambda function triggered by S3. display the S3 bucket name and key import boto3 s3 = boto3.client('s3') def lambda_handler(event, context): print(event) bucket = event['Records'][0]['s3']['bucket']['name'] key = event['Records'][0]['s3']['object']['key'] print(bucket, key) #If key starts with object_created, skip copy, print "copy skipped". Return lambda with key value. if key.startswith('object_created'): print("copy skipped") return { 'statusCode': 200, 'body': key } # Copy the file from the source bucket to the destination bucket. Destination_bucket_name = 'm2-filetransfer-final-opt-bkt'. Destination_file_key = 'healthdata.csv' copy_source = {'Bucket': bucket, 'Key': key} s3.copy_object(Bucket='m2-filetransfer-final-opt-bkt', Key='healthdata.csv', CopySource=copy_source) print("file copied") #Delete the file from the source bucket. s3.delete_object(Bucket=bucket, Key=key) return { 'statusCode': 200, 'body': 'Copy Successful' }

大型机可视化控制面板

以下数据视觉对象由 Amazon Q in Quick Sight 创建,可用于分析问题 show member distribution by region

图表显示了西南区域、中西部区域、东北区域和东南区域的成员人数。

以下数据视觉对象由 Amazon Q in Quick Sight 创建,可用于分析问题 show member distribution by Region who have not completed preventive immunization, in pie chart

Pie chart showing preventive immunization incompletion by region: Southeast 40%, Southwest 33%, Midwest 27%.

数据故事输出

以下屏幕截图显示了 Amazon Q in Quick Sight 为提示 Build a data story about Region with most numbers of members. Also show the member distribution by medical plan, vision plan, dental plan. Recommend how to motivate members to complete immunization. Include 4 points of supporting data. 创建的数据故事的部分

在简介中,数据故事建议选择成员人数最多的区域,以便免疫接种工作取得最大成效。

重点关注免疫接种完成率的数据故事的简介页面。

该数据故事分析了前三个区域的成员人数,并将西南区域列为重点开展免疫接种工具的领先区域。

Pie chart showing member distribution by region, with Southwest and Northeast leading at 31% each.
注意

西南区域和东北区域各有八名成员。但是,西南区域未完成疫苗接种的成员人数更多,因此它更有可能提高免疫接种率。

附件

要访问与此文档相关联的其他内容,请解压以下文件:attachment.zip