使用 Azure blob 导入 (预览版) 导入业务数据

重要

此功能仅适用于公共预览版客户。 预览版中的功能可能不完整,并且可能会在更广的版本中推出之前进行更改。

将业务数据上传到Viva Insights有助于了解 Copilot 使用情况如何影响对组织最重要的业务成果。 业务成果可能包括任务和作业级别的生产力指标,例如销售团队发送的电子邮件数或已关闭的交易数。 有关详细信息,请参阅有关 Copilot 业务成果 (Copilot 业务影响) 报表 的单独文档。

可以通过以下两种方式之一在 Viva Insights Web 应用中上传业务数据:通过作为见解管理员直接上传到Viva Insights的单个 .csv 文件,或者通过你、源系统管理员和 Azure 参与者设置的 Azure Blob 导入。

本文介绍第二个选项,即 Azure Blob 导入。

通过 Azure Blob 导入,Azure 订阅的所有者存储帐户参与者 (基于角色的访问控制管理员) 在Azure 门户上创建包含 Blob 容器的新存储帐户,并且源系统管理员会配置 .csv 文件的定期导出到 blob 容器的位置。 然后,可以将Viva Insights设置为自动从此位置内的 .csv 文件拉取业务数据。

工作流

  1. 设置:

    1. Azure 订阅所有者在Azure 门户上创建一个安全 Blob 容器。 Blob 存储位置对于敏感业务数据应是安全的,并且需要在客户的 Azure 订阅中设置。

    2. 如果 Azure 参与者首选服务主体授权,Azure 参与者会授权服务主体,并通过以安全的方式共享 Blob URL,向见解管理员和源系统管理员提供该 URL。 如果 Azure 参与者不喜欢服务主体授权,则会生成 SAS URL 并将其提供给见解管理员和源系统管理员。

    3. 源系统管理员在 .csv 文件中准备数据,并配置从 HR 源系统到 Blob 容器的定期导出文件。

    4. 见解管理员在 Viva Insights 应用中输入 URL,以启用从 Azure Blob 存储位置导入。 见解管理员还会上传业务数据的映射文件。

  2. 验证:Viva Insights验证数据。 (如果验证不成功,可以从 验证失败中所述的几个选项中进行选择。)

  3. 处理:Viva Insights处理数据。 (如果处理不成功,可以从 处理失败中所述的几个选项中进行选择。)

    成功验证和处理数据后,整个数据导入任务即完成。

视频教程

安装

1.创建安全 Blob 容器

适用于:在帐户级别具有至少具有存储 Blob 数据参与者权限的 Azure 订阅所有者

  1. 打开浏览器并登录到组织的Azure 门户。

  2. “Azure 服务”下,选择“ 存储帐户”。

  3. 在左上角的 “存储帐户 ”下,选择“ 创建 ”以设置新的存储帐户。

  4. “项目详细信息”下,使用默认设置。

  5. “实例详细信息”下,输入存储帐户名称并选择区域。 对于主服务,请使用支持分层命名空间的 Gen 2 存储帐户。 详细了解如何创建 Azure 存储帐户

  6. 对于性能和冗余,可以使用默认设置,除非需要进行更改。

  7. 在底部,选择“ 下一步 ”转到“高级”部分。

  8. 在“高级”页上,选择“ 需要安全传输 REST API作 ”和 “启用存储帐户密钥访问”。 对于“最低 TLS 版本”,请选择至少 版本 1.2。 选择 “启用分层命名空间”。

  9. 对于所有其他高级设置,可以使用默认设置,除非需要进行更改。

  10. 在底部,选择“ 下一步:网络”。

  11. “网络连接”下,选择“ 启用来自所有网络的公共访问”。

  12. 在“ 网络路由”下,选择路由首选项。

  13. 在底部,选择“ 下一步:数据保护”。

  14. 在“数据保护”页上,除非需要进行更改,否则可以使用默认设置。

  15. 在底部,选择“ 下一步:加密”。

  16. 在“加密”页上,除非需要进行更改,否则可以使用默认设置。

  17. 在底部,选择“ 下一步:标记”。

  18. 可选:向帐户添加标记。

  19. 在底部,选择“ 下一步:查看”。

  20. 查看所选内容。 然后,在左下角选择“ 创建”。

  21. 在下一页上,将显示一条消息,指出“部署正在进行”。部署完成后,将显示存储帐户及其设置。

  22. 在左侧的 “数据存储”下,选择“ 容器”。

  23. 若要创建新容器,请在顶部选择“ 容器”。 然后,在右侧输入容器的名称,例如“myCustomData”。在底部,选择“ 创建”。

2.授权 Blob 容器

适用于:在帐户级别具有至少具有存储 Blob 数据参与者权限的 Azure 订阅所有者

接下来,需要创建 Blob SAS URL 或授权 工作区分析 服务主体。 建议使用更安全的服务主体授权方法。 Blob SAS 令牌没有任何内置审核功能。 针对所选方法,请按照以下步骤作。

对于服务主体授权

  1. 在左侧面板中,选择“访问控制”。

  2. 在顶部,选择“ 角色分配”。 选择 “添加”,然后选择“ 添加角色分配”。

  3. 在角色列表中,找到并选择“ 存储 Blob 数据参与者”。

  4. “成员”旁边,选择“ 选择成员”。 在右侧的搜索字段中,输入 “工作区分析”,然后选择它。

  5. 在左下角,选择“ 查看 + 分配”。

  6. 在左侧面板的 “数据存储”下,选择“ 容器”。

  7. 选择在上述步骤中创建的存储容器。

  8. 在左侧面板的 “设置”下,选择“ 属性”。

  9. 复制 URL 并将其安全地与 Insights 管理员共享。

  10. 让源系统管理员知道谁将填充此容器中的数据。 他们需要存储 Blob 数据参与者访问权限。

对于 SAS URL 授权

  1. 显示你创建的新存储容器时,将其选中。 然后,在 左侧的“设置”下,选择“ 访问策略”。

  2. “存储访问策略”下,选择“ 添加策略”。 提供唯一标识符,例如“BlobStoreVivaInsights”。选择“ 读取 ”和“ 列出 权限”。 选择过去几分钟的开始时间和一年后的结束时间。 选择“确定”

  3. 在左侧 的“设置”下,选择“ 共享访问令牌”。

  4. 可以使用 “签名密钥”下的默认选项。 在 “存储访问策略”下,选择上面创建的策略。 这将自动填充过期窗口和权限列表。

  5. 对于 “允许的 IP 地址 ”和 “允许的协议”,可以使用默认设置。

  6. 选择“ 生成 SAS 令牌和 URL”。

  7. 复制 Blob SAS URL 并将其安全地与见解管理员共享。

  8. 让源系统管理员知道谁将填充此容器中的数据。 他们需要存储 Blob 数据参与者访问权限。

3. 设置Viva Insights以从 Blob 位置导入数据

适用于:见解管理员

业务数据可能具有不同的数据源,并且可能会按不同的计划进行更新。 例如,客户满意度和销售活动指标可能具有不同的源系统和源管理员。 应为每个连接设置单独的 Blob 连接,Viva Insights称为“数据集”。

  1. 从 Viva Insights Web 应用中的两个位置之一开始导入:“数据中心”页;或“平台设置”下的“业务数据”页。

    • 数据中心

      1. 在右侧面板中的 “业务数据源”下,选择“ Azure Blob 导入”。
      2. 选择“开始”
    • “从 业务数据 ”页:

      1. 选择“ 管理数据源”,然后选择“ Azure Blob 导入”。
      2. 选择“开始”
  2. 在“Azure Blob 连接”页的“ 连接名称”下,输入导入的唯一名称。

  3. “授权类型”下,选择“ 服务主体授权”或“ SAS URL 授权”。 此处的选择取决于 Azure 参与者在上述步骤 2 中使用的授权方法。

  4. 输入 Azure 参与者在步骤 2 中提供的导入的 Blob SAS URLBlob URL

  5. 上传metadata.json文件,输入如下所述:

    • 若要进行增量上传并轻松访问此数据,请输入此数据集的“数据集名称”和“数据集类型”。 例如,可以上传销售团队关于客户满意度和帐户保留情况的两个不同的数据集。 可以将类型“Sales”分配给这些数据集,并将其命名为“CSAT”和“Account”。分析人员可以在设置查询时通过搜索其名称和类型来发现此数据。 数据集名称和类型不应包含空格。

    • "Dataset type":数据类别的名称,例如“销售数据”。可以分配除以下系统保留类型之外的任何唯一类型:“Survey”、“CRM”、“Person”、“Signal”、“AnalystUploadedData”、“UserSkills”、“HeirarchicalSkills”、“RelatedSkills”、“SkillsLibrary”、“ManagerHierarchy”、“Learning”、“None”、“InteractiveExplorationPersonOutput”、“None”

    • "Dataset name":表示数据类别中特定表的唯一名称。 如果数据集类型名为“SalesData”,则示例数据集可以是“交易”、“库存”或“订单”。

    • "IsBootstrap":默认情况下,此值设置为 False 。 仅当想要覆盖以前上传的表时,才设置为 True (请参阅数据集名称) 。

    • "ColumnMap":除了 PersonId 和 StartDate 的必填字段外,还包括 .csv 文件中的自定义字段。 对于自定义字段,必须包含名称和数据类型。

      • 源列 (名为“BusinessMetric1”、“BusinessMetric2”和“BusinessMetric3”的) 使用的标签应与 .csv 文件中的列名称匹配。

      • “name”属性应表示希望在报表输出中反映的名称。 请确保选择的标签遵循 这些规则

      • 有两个选项用于指定“类型”:

        • 如果数据值包含整数,请输入“int32”
        • 如果数据值包含小数点,请输入“double”

    注意

    需要上传数字业务成果数据,以用于高级分析中的任何报表。

    下面是一个示例元数据文件:

    { 
      "DatasetType": "SalesData", 
      "IsBootstrap": "false", 
      "properties": { 
        "DatasetName":  "Deals" 
      }, 
      "ColumnMap": { 
        "StartDate": { 
          "name": "StartDate", 
          "type": "DateTime_MMDDYYYY" 
        }, 
        "PersonId": { 
          "name": "PersonId", 
          "type": "EmailType" 
        }, 
        "BusinessMetric1": { 
          "name": " Metric1", 
          "type": "int32" 
        }, 
        "BusinessMetric2": { 
          "name": " Metric2", 
          "type": "int32" 
        }, 
        "BusinessMetric3": { 
          "name": " Metric3", 
          "type": "double" 
        } 
      } 
    }
    

    例如,假设源系统管理员使用“PipelineGenerated”来捕获创建的交易数。 代码为:

    "PipelineGenerated": { 
    
    "name": "DealsCreated", 
    
    "type": "int32" 
    
    } 
    

    上传数据时,数据将记录为整数类型的“PipelineGenerated”。 确保上传数值结果。 详细了解如何设置业务数据文件

  6. 选择“提交”。

  7. 如果看到错误消息,检查确保已执行上述所有步骤,并检查确保输入的 Blob SAS URL 或 blob URL 准确无误。 选择“ 重试”。

4.准备业务数据文件并发送到 Blob 存储

适用于:在帐户级别具有至少具有存储 Blob 数据参与者权限的 Azure 订阅所有者

任务 1 - 准备数据

首先,为每个数据集创建单独的 .csv 文件。 请参阅 示例 .csv 模板 了解数据结构和指南,以避免出现唯一值过多或过少、字段冗余、数据格式无效等常见问题。  详细了解文件规则和验证错误

以这种方式构造数据:

  • 将要导入的所有字段添加到文件

  • 必填字段为“PersonId”和“StartDate”

  • 所有业务数据都应按月和按人计算

  • “StartDate”应表示一个月的数据,日期应代表当月的第一个数据。 例如,2024 年 1 月应表示为 2024 年 1 月 1 日。 建议至少使用三个月的业务数据。

  • 为要分析的每个业务成果指标添加一列。

  • 需要上传数字业务成果数据,以用于高级分析中的任何报表。

注意

Viva Insights不会选取在连接创建和映射上传之前删除的任何文件。 因此,在删除文件之前,请确保先建立连接。

任务 2 - 将数据从源系统导出到 Blob 存储

必需资源:在上一个任务中创建的 .csv 文件

按你决定的频率,以编程方式将业务数据从源系统作为 .csv 文件导出到 Blob 存储。 或者,可以在Azure 门户中手动将 .csv 文件上传到 Blob 存储。

5.验证

适用于:见解管理员

在源系统管理员导出数据并设置导入后,应用将开始验证。 在大多数情况下,文件验证应很快完成。

此阶段完成后,验证已成功或失败。 根据结果,你将在 业务数据的“导入历史记录”表中收到成功状态或失败状态。 

有关后续作的信息,请转到相应的部分:

验证成功

成功验证后,Viva Insights开始处理新数据。 处理可能需要几个小时到一天左右的时间。 在处理过程中,你将在 “导入历史记录 ”表上看到“正在处理”状态。

处理完成后,它要么成功,要么失败。 根据结果,可以在 “导入历史记录 ”表中找到“成功”或“失败”状态。

处理成功

“导入历史记录 ”表中找到“成功”状态时,上传过程已完成。 收到“成功”状态后,可以:

  • 选择 (眼睛) 图标的视图以查看验证结果的摘要。

  • 选择映射图标以查看工作流的映射设置。

处理失败

如果处理失败,可在 “导入历史记录 ”表中找到“处理失败”状态。 若要成功处理,源系统管理员需要更正错误并再次将数据推送到Viva Insights。

注意

处理失败通常是由后端错误导致的。 如果看到持续处理失败,并且已更正导入文件中的数据,请 向我们记录支持票证

验证失败

如果数据验证失败,则会在 “导入历史记录 ”表中看到“验证失败”状态。 若要成功验证,源系统管理员需要更正错误并将数据重新发送到 Blob 存储。 在 “作”下,选择下载图标以下载错误日志。 将此日志发送给源系统管理员,以便他们知道在再次发送数据之前要更正的内容。

源系统管理员可能会发现以下部分有助于修复导出文件中的数据错误。

关于数据中的错误

适用于:源系统管理员

当任何数据行或列具有任何属性的无效值时,整个导入将失败,直到数据源管理员修复源数据。

如果文件的格式不正确,可能会遇到一些特定于导入的错误:

  • .csv 文件为空。 添加非空 .csv 文件,然后再次上传。

  • 如果将 zip 文件上传到 Blob 位置,请改为上传 .csv。

  • 如果.json文件中缺少必填字段,请再次检查并上传映射文件。

  • 源列未映射到受支持的数据类型。 映射到支持的数据类型,然后再次上传文件。

  • .csv 文件中的标头名称与在 .json 文件中映射的字段不匹配。 请确保.json文件包含的字段与 .csv 文件相同,然后再次上传 .zip 文件。

  • .csv 文件中的标头数与在 .json 文件中映射的字段不匹配。 请确保.json文件包含的字段与 .csv 文件相同,然后再次上传 .zip 文件。

  • .csv 文件映射到.json文件中的 null 或空字段。 将其映射到非空字段,然后再次上传 .zip 文件。

  • 了解其他文件规则和验证错误

挂起状态

如果在 “导入历史记录 ”表中或选择“ 管理数据源”时看到“已挂起”状态,则表示授权凭据已过期或访问权限已被撤销。 需要更新凭据并重新连接数据源。

添加新数据和管理数据集

适用于:见解管理员

设置数据导入后,使用以下步骤将新数据添加到现有数据集、创建新数据集、关闭自动导入等。

  1. “业务数据 ”页上,选择“ 管理数据源”。

  2. “Azure blob”下,选择“ 管理”。

    • 若要添加新数据集,请选择“ 添加数据集”,然后按照 上述步骤 3 中所述的过程进行作。

    • 若要删除数据集,请选择要删除的数据集旁边的垃圾桶图标。

    • 若要对现有数据集进行更改,请选择设置图标。

    • 若要向现有数据集添加新数据,请选择数据集旁边的加号图标。

    在下一页上,可以编辑连接名称、blob SAS URL 或 Blob URL。 如果更新 SAS URL 或 URI,新位置将用于将来的数据刷新。

    还可以打开或关闭自动导入。 完成时选择“保存”。

    若要使用现有 Blob SAS URL 或 Blob URL 替换或编辑业务数据,请与源系统管理员联系。将数据导入Viva Insights时,将执行完全刷新或增量刷新。 如果要删除字段,可以使用完全刷新来执行此作。

刷新类型

完整

执行完全刷新时,将替换Viva Insights中的所有业务数据,即覆盖已导入的内容。 必填字段为 PersonId 和 StartDate。

可以使用完全刷新来删除字段,因为省略的字段不会显示在数据中。 下一部分将介绍如何删除数据。

删除完全刷新的字段

若要删除完全刷新的字段,请将数据导出为包含除要删除的字段以外的所有字段的 .csv。 由于完全刷新会替换现有数据,因此,除了在导入过程中遗漏的字段之外,你最终会获得每个字段。

增量

如果只想将新信息添加到已上传到Viva Insights的业务数据,则执行增量刷新。 通过增量刷新,可以为现有员工添加新的业务数据,或编辑现有业务数据。

如何指示完全刷新或增量刷新
  1. 在metadata.json,转到第 3 行。

  2. "IsBootstrap": 属性更新为以下项之一:

    • 若要进行完全刷新,请使用 "IsBootstrap" : "true"

    • 对于增量刷新,请使用 "IsBootstrap" : "false"

当导入选项运行时,Viva Insights将开始以完全刷新或增量刷新的形式处理数据,具体取决于你在metadata.json中指定的内容。

重要

请确保从metadata.json中删除未包含在 data.csv 文件中的任何字段。 如果metadata.json文件中的字段多于 data.csv 文件中的字段(反之亦然),则导入的处理将失败。

要包含在 data.csv 中用于完全刷新和增量刷新的字段

完整刷新和增量刷新都应包含相同的必填字段集:PersonId 和 StartDate。 StartDate 值应与每月边界保持一致。 从元数据.json文件中删除 .csv 中没有的任何字段。