跳转至

升级解决方案

规划和准备

  1. 备份修改后的 QuickSight 分析和仪表板:解决方案升级可能会更新方案提供的分析和仪表板。 如果您更改了它,请按照本文档进行备份。
  2. 数据处理间隔(仅适用于从 1.0.x 版本升级的情况):管道升级大约需要20分钟; 确保升级现有管道时没有数据处理作业正在运行。 您可以更新现有管道,增加间隔时间,并在控制台查看EMR Serverless应用是否有无正在运行的作业。

升级过程

升级 Web 控制台堆栈

  1. 登录到 AWS CloudFormation 控制台,选择您现有的 Web 控制台堆栈,然后选择更新
  2. 选择替换当前模板
  3. 指定模板下:

    • 选择 Amazon S3 URL。
    • 请参阅下表查找适合您的部署类型的链接。
    • 将链接粘贴到 Amazon S3 URL 框中。
    • 再次选择下一步
    模板 描述
    使用 Cognito 进行身份验证 在 AWS 区域中部署为公开服务
    使用 Cognito 通过自定义域进行身份验证 在 AWS 区域中部署为具有自定义域名的公开服务
    使用 OIDC 进行身份验证 在 AWS 区域中部署为公开服务
    使用 OIDC 通过自定义域进行身份验证 在 AWS 区域中部署为具有自定义域名的公开服务
    在 VPC 内使用 OIDC 进行身份验证 在 AWS 区域的 VPC 内部署为私有服务
    在 AWS 中国使用 OIDC 对自定义域进行身份验证 在 AWS 中国区域中部署为具有自定义域名的公开服务
    在 AWS 中国的 VPC 内使用 OIDC 进行身份验证 在 AWS 中国区域的 VPC 内部署为私有服务
  4. 参数下,查看模板的参数并根据需要进行修改。 参数详情请参考部署

  5. 选择下一步
  6. 配置堆栈选项 页面上,选择 下一步
  7. 审核页面上,查看并确认设置。 请务必选中该框,确认模板可能会创建 (IAM) 资源。
  8. 选择 查看更改集 并验证更改。
  9. 选择 执行更改集 以部署堆栈。

您可以在 AWS CloudFormation 控制台的 状态 列中查看堆栈的状态。 几分钟后您应该会收到“UPDATE_COMPLETE”状态。

升级项目管道

重要提示

如果您在升级过程中遇到任何问题,请参考故障排除页面

  1. 登录解决方案的Web控制台。
  2. 转到项目,然后选择要升级的项目。
  3. 点击项目id查看详情按钮,将跳转至数据管道详细信息页面。
  4. 在项目详情页面,点击升级按钮
  5. 系统将提示您确认升级操作。
  6. 点击确认,管道将处于“正在更新”状态。

您可以在解决方案控制台的 状态 列中查看管道的状态。 几分钟后您应该会收到活跃状态。

升级后操作

从1.0.x升级后迁移现有数据

当您从 v1.0.x 升级管道时,您需要执行以下操作将数据从旧表ods_events迁移到 Redshift 中的新表eventevent_parameteruseritem:

  1. 打开 [Redshift 查询编辑器 v2][查询编辑器]。 您可以参考 AWS 文档 使用查询编辑器 v2 使用 Redshift 查询编辑器 v2 登录并查询数据。

    注意

    您必须使用admin用户或具有 schema(名为项目 ID)所有权权限的用户。

  2. 选择无服务器工作组或配置的集群,<project-id>-><app-id>->Tables,并确保其中列出了 appId 的表。

  3. 新建一个SQL编辑器。

  4. 在编辑器中执行以下SQL。

    -- 请将 `<app-id>` 替换为您的实际应用 ID
    CALL "<app-id>".sp_migrate_ods_events_1_0_to_1_1();
    
  5. 等待SQL 完成。 执行时间取决于表“ods_events”中的数据量。

  6. 执行以下SQL查看存储过程执行日志; 确保那里没有错误。

    -- 请将 `<app-id>` 替换为您的实际应用 IDd
    SELECT * FROM  "<app-id>"."clickstream_log" where log_name = 'sp_migrate_ods_events' order by log_date desc;
    
  7. 如果您没有其他应用程序使用旧表和视图,您可以运行下面的 SQL 来清理旧视图和表,以节省 Redshift 的存储空间。

    -- 请将 `<app-id>` 替换为您的实际应用 ID
    DROP TABLE "<app-id>".dim_users CASCADE;
    DROP TABLE "<app-id>".ods_events CASCADE;
    
    DROP PROCEDURE  "<app-id>".sp_clear_expired_events(retention_range_days integer);
    DROP PROCEDURE  "<app-id>".sp_upsert_users();
    DROP PROCEDURE  "<app-id>".sp_migrate_ods_events_1_0_to_1_1();