跳转至

步骤 3 - 集成 SDK

一旦流水线的状态变为“Active”,它就准备好接收点击流数据了。现在您需要在流水线中注册一个应用程序,然后将 SDK 集成到您的应用程序中,以使其能够将数据发送到流水线。

  1. 登录 AWS 控制台上的 Clickstream Analytics
  2. 在左侧导航窗格中,选择 Projects,然后选择之前创建的项目(quickstart),点击其标题,进入项目页面。
  3. 选择 + Add application 开始向流水线添加应用程序。
  4. 按照以下表格填写表单:

    • App 名称:test-app
    • App ID:系统将根据名称生成一个 ID,如果需要,您可以自定义它。
    • 描述:用于 Clickstream Analytics on AWS 解决方案的测试应用程序
    • Android 包名称:留空
    • App Bundle ID:留空
  5. 选择 注册应用程序并生成 SDK 指令,并等待注册完成。

  6. 选择 Android 选项卡,您将看到将 SDK 添加到应用程序的详细说明。您可以按照步骤添加 SDK。

  7. 单击 下载配置 json 文件 按钮下载配置文件,并将此文件保持打开,稍后会用到。

更新流水线以添加您刚刚添加的应用程序可能需要大约 3 ~ 5 分钟的时间。当您看到流水线状态再次变为 Active 时,它已准备好接收来自您的应用程序的数据。

我们已经完成了将应用程序添加到项目的所有步骤。

生成示例数据

您可能无法立即访问将 SDK 与您的应用程序集成。在这种情况下,我们提供了一个 Python 脚本,用于生成一个购物应用过去 30 天的示例数据到您刚刚配置的流水线,以便您可以查看和体验分析仪表板。

先决条件

  • Python 3.8+

发送示例数据

  1. 将代码库克隆到本地环境。
    git clone https://github.com/awslabs/clickstream-analytics-on-aws.git
    
  2. 在克隆代码库后,切换到 examples/standalone-data-generator 项目文件夹。

  3. 安装项目的依赖项。

    pip3 install requests
    

  4. 将在注册应用步骤中下载的 amplifyconfiguration.json 文件放入 examples/standalone-data-generator 的根目录中。请查看 examples/standalone-data-generator/README.md 了解更多用法。

  5. 在此项目文件夹位置打开终端。例如,如果您使用 Visual Studio Code IDE,点击 Visual Studio Code 顶部的 Terminal -> New Terminal 打开终端。

  6. 将以下命令复制并粘贴到终端中:

    python3 create_event.py
    

在终端中按下 Enter 键执行该程序。如果您看到以下输出,则表示程序执行已完成。

job finished, upload 1106400 events, cost: 96252ms

在默认配置下该过程将花费约 2 分钟。

刷新历史数据

此解决方案每次仅计算前一天的指标并在开箱即用的仪表板中展示,我们刚刚发送了过去 30 天的数据,因此我们需要刷新所有的历史数据,以便它们显示在分析工作坊的仪表板中。

在刷新历史数据之前,我们需要确保之前发送的事件都已加载到 Redshift 中。

  1. 打开您的 Project 详细信息页面,单击 View Details(查看详细信息)按钮,然后进入您的项目的管道详细信息页面。
  2. 在管道详细信息页面中,单击并打开 Monitoring(监控)选项卡,然后单击 View in CloudWatch(在 CloudWatch 中查看) 按钮以进入解决方案 CloudWatch 仪表板。
  3. 向下滚动并找到 CloudWatch 仪表板中的 Data Modeling - Redshift Serverless 部分,然后确保 'Load data to redshift tables' workflow 表中的所有状态变为 ExecutionsSucceeded

将所有事件加载到 Redshift 后,我们可以按照以下步骤刷新历史数据。

  1. 在数据管道所在区域的 AWS 控制台中打开 Step Functions 服务。
  2. 搜索并找到名为 RefreshMaterializedViewsWorkflowRefreshMVStateMachine 的状态机,然后单击进入详细信息页面。
  3. 在详细信息页面中单击 Start Execution(启动执行)按钮。
  4. 复制以下 JSON 内容,将 refreshEndTime 值更改为当前时间戳,将 refreshStartTime 更改为30天前的时间戳,然后将其粘贴到输入面板中并单击 Start Execution(启动执行)按钮:
    {
      "refreshEndTime": 1715658451000,
      "refreshStartTime": 1713066451000
    }
    
  5. 返回状态机详细信息页面,您将发现一个新的执行已开始,让我们等待状态变为 Succeeded,此过程将需要大约 7 分钟。

现在所有历史数据都已刷新,请继续进行下一步。

下一步