学校数据同步概述

学校数据同步

学校数据同步 (SDS) 是每个Microsoft 365 教育版租户中提供免费的 Web 应用程序,它使用 CSV 文件或直接 API 连接从外部学生信息系统 (SIS) /学生管理系统 (短信) 引入数据元素。 引入后,SDS 使用此数据来管理用户、Microsoft 365 组和 Teams 课堂。 SDS 可节省教师的时间,并使学生和教师能够轻松采用和使用 Microsoft 365 应用和服务。

SDS 还提供了一个选项,用于将它同步的对象和属性存储在 Azure AD) Microsoft Azure Active Directory (。 SDS 通过教育 API (应用程序编程接口) 和 Microsoft Graph 向第三方应用程序提供信息。

此外,SDS 会同步数据以丰富 Insights & Analytics。

SDS 先决条件

  • Office 365 教育版租户

  • 全局管理员权限

    引入引擎

SDS 核心概念

SDS 平台和体系结构是教育客户成功团队的最佳做法的模型,该团队已帮助机构成功设置和使用 SDS,从而在全球范围内支持 Microsoft 365 体验。 我们相信,专注于改进租户管理员的载入和监视体验,以及更好地了解其数据的运行状况,将提供更多时间来帮助教师专注于创新,以改善学习成果。

载入体验分为以下几个方面:1 个) 引入和转换,2 个) 验证、存储和数据运行状况,3 个) 预配数据,以实现方案来改进学习结果。

显示引入和转换、验证、存储和数据运行状况、预配数据的概述的屏幕截图。

引入和转换数据

首先,需要连接到机构的数据。 在这里,你将定义我们如何引入或连接到学生信息系统的 (短信) /学生管理系统的 (短信) 数据。 在这里,你将定义源系统、传入数据的格式、用户标识匹配规则以及活动学年。 这将创建入站流。 默认情况下,入站流将每天激活两次, (2 倍) ,称为运行。

运行开始时,它将连接到入站流的定义的源并执行基本验证。 基本验证确保作为源的 OneRoster API 的连接正确,或者作为源的 SDS CSV 的文件名和标头正确。

接下来,系统将转换数据以供导入,以便为高级验证做准备。 作为数据转换的一部分,它与配置的学年相关联。

  • 如果源系统/数据未提供用户的组织角色进入日期和退出日期,则系统不会根据记录是否存在或不存在推断出输入日期或退出日期。

  • 如果源系统/数据未提供用户注册条目日期和退出日期,则系统不会根据记录是否存在或不存在推断出输入日期或退出数据。

  • 如果源系统/数据未为用户提供有效的组织/注册/或联系人角色,则系统不会将用户记录添加到系统。

  • 将数据关联到学年,并标识记录的活动状态。

    • 学年用于关联传入数据,以帮助随着时间推移而逐年构建历史数据。
    • 该方法与学年与日历年保持一致。
      • 如果学年跨日历年,例如,从 2023 年 8 月 15 日开始,到 2024 年 6 月 15 日结束,则要选择的学年值是结束年份 2024 年。
  • 用户与 (学年) 会话的关联基于其与组织关联的角色。

  • 用户与类的关联基于其与注册绑定的角色,该角色还包括指向会话的链接。

此外,系统还将 Azure AD 的更新副本存储在 SDS Data Lake 中。 Azure AD 的副本有助于在 SIS/SMS 和 Azure AD 用户对象之间进行用户匹配。 在此阶段,匹配链接不会写入 Azure AD 用户对象。

在用户具有多个角色的实例中,以下规则用于确定应在用户记录和 Azure AD 用户对象之间使用哪些教职员工或学生匹配规则。

此外,系统还将 Azure AD 的更新副本存储在教育数据湖中。 Azure AD 的副本有助于在 SIS/SMS 和 Azure AD 用户对象之间进行用户匹配。 在此阶段,匹配链接不会写入 Azure AD 用户对象。

  • 如果为所有学生角色设置了 isPrimary,即使存在与教职员工角色的关联,也会根据学生角色进行匹配。

  • 如果为任何教职员工角色设置了 isPrimary,即使存在与学生角色的关联,也会根据教职员工角色进行匹配。

  • 如果为教职员工和学生角色都设置了 isPrimary,则会根据教职员工角色进行匹配。

  • 如果未为任何角色设置 isPrimary,尤其是教职员工和学生角色的混合,则匹配基于教职员工角色。

    显示数据引入和处理的屏幕截图。

验证、存储和数据运行状况

接下来,入站流将执行高级验证,以确定数据的运行状况。 验证侧重于识别错误和/或警告。 验证遵循引入良好数据并排除错误数据的概念。 错误意味着记录未根据所需数据通过验证,并且已从进一步处理中删除。 警告意味着记录上的可选字段上的值未传递,因此该值已从记录中删除,但包含该记录以供进一步处理。 错误和警告将用于帮助你更好地了解数据的运行状况。

对于通过验证的良好数据,该过程使用配置的学年信息来确定其纵向存储关联。 当数据存储在 SDS Data Lake 中的内部表示形式中时,它将标识 SDS 首次看到它的时间,对于与用户组织、角色关联和类关联关联的数据,它还被标识为当前学年的会话活动。 在将来的运行中,对于同一入站流、源和配置的学年,SDS 将根据是否存在记录来确定记录是否仍可见,并将记录保持活动状态或将其标记为当前学年不再处于活动状态。 这就是 SDS 确定数据在天和学年之间的历史和纵向性质的方式。

  • 首次显示新记录时,数据将反映。 FirstSeenDateTime 是 SDS 首次看到记录的时间,以及表中该行的创建数据的时间。 这并不意味着它是 SIS/SMS 中记录的创建日期,因为 SDS 在将数据添加到外部系统后可能运行良好。

    • 将第一次看到日期 (时间) 和上次修改日期 (时间) 设置为当前,如果适当,它将记录标记为“会话中处于活动状态”为 true。
  • 当同一记录在后续运行中出现时,数据将反映出来。 LastSeenDateTime 是 SDS 最后一次看到同步数据的那一刻。

    • 将保留第一次查看的日期 (时间) 值,将上次修改的日期 (时间) 设置为当前,并将“在会话中处于活动状态”保留为 true。
  • 当后续运行中不存在同一条记录时,数据将反映出来。 这不是从 SIS/SMS 删除记录的日期,而是日期 (时间) SDS 在同步期间看到记录的时间。

    • 将保留第一次看到日期 (时间) 和上次修改日期 (时间) 值,如果适当,请将记录标记为“IsActiveInSession”为 false。
  • 下面是后续运行、相同源、相同传入流、同一个学年缺少数据时的常规数据处理规则。

    • 组织:如果在后续运行时丢失,系统将不执行任何操作,并且记录会保留。
    • 用户:如果在后续运行时缺少,系统会将人员组织角色和注册上的 IsActiveInSession 设置为 False。
    • 角色:如果在后续运行时缺少,系统会将人员组织角色上的 IsActiveInSession 设置为 False。
    • 学术会议:如果在后续运行中丢失,则不执行任何操作,并且会保留记录。
    • 类:如果在后续运行时缺少,系统会将部分、节会话和注册的 IsActiveInSession 设置为 False。
    • 注册:如果在后续运行时缺少,系统会将 IsActiveInSession 设置为 False 进行注册。
    • 课程:如果在后续运行中缺少,系统会将课程的 IsActiveInSession 设置为“False”。
    • 人口统计:如果在后续运行时丢失,系统将不执行任何操作,并且记录会保留。
    • 用户标志:如果在后续运行时缺失,系统将不执行任何操作,并且记录会保留。
    • 关系:如果在后续运行时缺失,系统将不执行任何操作,并且记录会保留。
  • “已停用”记录将有滚动更新。 例如,如果不存在用户记录,系统将保留现有的首次看到日期 (时间) 和上次修改日期 (时间) 值。 系统将用户的组织/角色和注册记录的“会话中处于活动状态”设置为 false。

    • 组织、用户和会话记录会随时间推移而保留,并且不会停用。

    • 根据常规数据处理规则,仅影响上述组织、用户和会话记录的关联记录以及关联记录 IsActiveInSession 状态。

  • 对于也为术语提供学术会话数据的入站数据

    • 如果针对同一源、学年和入站流进行上传,但链接的学术会议术语以及与该现有学术会议术语关联的数据在数据中不存在:
      • 系统不会对任何链接的记录执行停用过程,并且会保留现有状态。
      • 系统不会将 [IsActiveInSession] 更新为 False,以保留分析需求的最后状态。
    • 系统将利用学术会议学期开始日期和结束日期来确定当前和活跃学术会议学期的当前和活跃学术会议期限。
  • 当源数据停止提供用户的分区注册记录,然后在同一学年 (学期) 提供同一用户的分区注册时,系统将更新现有记录。

每次运行结束时,都会确定数据运行状况。 如果没有错误和/或警告,系统将确定管理员不需要数据操作。 如果出现错误和/或警告,系统会通知它发现数据存在一些问题,并鼓励你调查数据运行状况。 将生成错误和警告统计信息,以帮助对数据运行状况产生初始影响。 调查数据运行状况时,管理员将能够下载包含基于发现的错误和警告的信息的日志文件。 然后,管理员可以开始数据调查过程,以更正源系统中的数据。

  • 运行状态
    • 正在运行:主动执行
    • 已完成:已完成,没有任何错误或警告
    • 已完成并出现错误:已完成但已发现错误
    • 已完成并显示警告:已完成,但只发现了警告
    • 错误:系统已取消运行
  • 计数
    • 错误:遇到的错误总数。 错误意味着记录未通过验证,并且整个记录在处理前、验证后被删除。 如果在验证后无法处理记录,计数也将包括该记录。
    • 警告:遇到的警告总数。 警告表示记录上的一个或多个数据部分未通过验证。 已删除包含记录数据的字段,但其余记录和验证数据在处理后验证之前保留。

显示传入良好数据和输出错误数据、错误和警告的屏幕截图。

预配数据以启用方案

调查并解决任何数据错误和/或警告后,你已熟悉数据运行状况的当前状态,然后可以使用现在位于教育数据湖中的数据启用方案。 启用方案以使用此数据时,该方案将创建出站流。 出站流由 Microsoft 365 预配见解 & 分析定义。

  • 基于湖中的数据,与活动学年相关联,并且处于活动状态。
  • 使用在入站流创建期间定义的同步结束日期,还可以知道何时停止运行出站流。
    • 完成学年的转换,定义新的同步结束日期,并在入站流运行后,出站流将再次启动。

Microsoft 365 预配出站流有助于简化用户和类的管理。 只有活动用户和匹配用户包含在数据中,这些数据将用于在 SIS/SMS 及其组和 Teams 课堂部分之间写入 Azure AD 用户对象的链接。

  • 基于湖中的数据,与活动学年相关联,并被标识为会话中的活动。
  • 使用默认和可选属性将匹配的用户链接写入 Azure AD 用户对象。
    • 当用户具有多个角色时,以下规则用于确定将角色写入 Azure AD 用户对象时的值。
      • 如果为所有学生角色设置了 isPrimary,即使存在与教职员工角色的关联,也会基于学生角色创建角色属性值。
      • 如果为任何教职员工角色设置了 isPrimary,即使存在与学生角色的关联,也会基于教职员工角色创建角色属性值。
      • 如果为教职员工和学生角色都设置了 isPrimary,则基于教职员工角色设置角色属性值。
      • 如果未为任何角色设置 isPrimary,尤其是教职员工和学生角色的混合,则角色属性值基于教职员工角色。
    • 如果用户还与多个组织相关联,则以下代码还用于确定将角色写入 Azure AD 用户对象时的值。
      • 使用要设置为 Azure AD 用户对象的最高组织角色的组织角色 排序顺序 值。
  • 为每个分区创建一个 Microsoft 365 组,并在启用选项时创建一个 Team Class。
    • 根据分区注册及其角色定义所有者和成员。
    • 使用默认和可选属性将组链接写入 Azure AD 组对象。

见解 & 分析有助于分析学生课堂中的进度和活动。 在这些数据的指导下,教师拥有所需的信息,以确保其学生的情感、社交和学术需求得到满足。

  • 与适用于教育领导者的 Insights 同步允许通过“领导者仪表板”通过 Teams 使用 Insights 应用程序中的预生成分析导入数据。
  • Education Data Lake Export 支持将入站数据和用户活动数据复制到客户的 Azure 订阅,以便进行自助分析。 通过 Open 教育版分析 (OEA) 释放数据资产的强大功能,这是 Microsoft 提供的一组开源技术资源,可快速轻松地设置 Azure 数据分析环境。

显示出站数据流的屏幕截图

相关文章

计划清单

用户标识规则

使用 SDS v2.1 CSV 引入数据

使用 OneRoster API 引入数据

运行状况和监控

验证规则和说明

管理 Microsoft 365 用户

管理Microsoft 365 组和 Teams

为教育领导者启用同步到见解

启用教育版 Data Lake 导出

常见问题