SDS V2.1 CSV 文件格式
可以使用 CSV (逗号分隔值) SDS V2.1 格式的文件,将学校信息系统 (SIS) 与Office 365同步。 使用 SDS V2.1 CSV 文件格式引入数据类别,可以照亮用于预配的核心 SDS 功能。 它还有助于增强 Microsoft 365 产品和功能的体验。 SDS V2.1 CSV 文件格式将继续扩展它支持的数据类别。
如果使用 SDS V2.1 格式,则必须对文件设置适当的格式。 上传按详细名称命名的文件。 列标题区分大小写。 CSV 文件必须采用 UTF-8 格式且符合 RFC。 此外,我们不接受传入数据中的换行符。 若要查看和下载 SDS V2.1 CSV 文件的示例集, 请参阅 SDS GitHub 存储库。
重要
在创建入站流期间进行初始上传后,无论在可选文件中是否进行了数据更改,都需要始终为后续上传提供相同的文件集。 如果不这样做,系统将确定记录不再处于活动状态,并按此类方式对其进行标记。
必需:必须提供以下三个文件。 如果只管理用户,而不管理类,则只需提供这些文件。
orgs.csv
users.csv
roles.csv
可选/必需:如果仅管理用户,则不需要以下两个文件。 如果同时管理课堂和课堂注册,则需要提供下面列出的两个文件以及上述三个文件。
classes.csv
enrollments.csv
可选:以下是可选文件,用于增强体验。 这些文件不是必需的,除非上述文件具有基于以下注释的数据引用。
academicSessions.csv (如果 roles.csv、classes.csv 或 courses.csv 包含学术会话数据,则应提供相应的数据以避免在处理数据时出现错误消息。)
courses.csv (如果 classes.csv 数据包含指向课程的链接,则应提供相应的数据以避免在处理数据时出现错误消息。)
demographics.csv
userFlags.csv
relationships.csv
每个 CSV 文件都必须包含“必需”下标有“是”的字段的数据,指出“否”的字段为“可选”数据。 标记为“必需”的字段标头必须存在于提供的文件中,否则它们不会被接受。 如果未传递相应的可选数据,则标记为“可选”的字段标头不需要存在于文件中。
具有“数据类型”列中标记的已定义枚举值的字段具有一组它们支持的特定值。 枚举字段支持的默认值集 请参阅默认值列表。
orgs.csv
字段 | 是否必需? | 示例 | 数据类型 |
---|---|---|---|
sourcedId | 是 | 10001 | 唯一 ID |
name | 是 | 工程学院 | String |
type | 是 | 大学 | 枚举 |
parentSourcedId | 否 | 10000 | 唯一 ID |
users.csv
字段 | 是否必需? | 示例 | 数据类型 |
---|---|---|---|
sourcedId | 是 | 14001 | 唯一 ID |
username | 是 | cbeane@domain.com | String |
familyName | 是 (仅当创建用户) | 克雷格 | String |
givenName | 是 (仅当创建用户) | Beane | String |
activeDirectoryMatchId | 否 | craig.beane@domain.com | String |
电子邮件 | 否 | cbeane@domain.com | 电子邮件 |
phone | 否 | +1234567890 | Phone |
短信 | 否 | +1234567890 | Phone |
userNumber | 否 | 14001 | String |
- 如果使用“创建不匹配的用户”选项,则用户需要 familyName 和 givenName。
- 如果用户对在 relationships.csv 中具有联系人关系角色的用户使用“学生联系人关联”选项,则用户需要 familyName、givenName 和电子邮件。 建议列出属于员工(但也是联系人)的用户有两条用户记录,其中联系人用户记录与其专用电子邮件地址相关联。
- 应根据 E.164 标准设置电话和短信字段的格式,其中加号字符由电话号码使用并成功,或者更确切地说,加号字符后跟国家/地区代码、区号、电话前缀和行号。
- password 不再用于提供用于创建新用户的默认密码。
roles.csv
字段 | 是否必需? | 示例 | 数据类型 |
---|---|---|---|
userSourcedId | 是 | 14001 | 唯一 ID |
orgSourcedId | 是 | 10001 | 唯一 ID |
role | 是 | student | 枚举 |
sessionSourcedId | 否 | FS2021 | 唯一 ID |
grade | 否 | PS1 | 枚举 |
isPrimary | 否 | true | 布尔值 |
roleStartDate | 否 | 2020-08-24 | 日期 |
roleEndDate | 否 | 2020-12-11 | 日期 |
- 需要使用“userSourcedId”字段引用关联用户。 这会对 users.csv 文件产生依赖项。
- 需要使用“orgSourcedId”字段引用关联的组织。 这会对 orgs.csv 文件产生依赖项。
- 如果传递:这需要使用“sessionSourcedId”字段引用) 学术会议 (关联术语。 这会对 academicSessions.csv 文件产生依赖项。
- isPrimary 指示此角色是该组织的主要 (true) 还是辅助角色 (false) 角色。如果传递多个角色,则对于同一用户和同一组织,应为每个组织设置一个且只有一个主角色设置为 (true) 。
- 要以ISO8601格式提供的日期值。
- 年级级别 ENUM 的传入值上缺少前导零“0”(例如“1”)将与定义的值列表 (ENUM) “01”匹配,并将存储为“01”。
classes.csv
字段 | 是否必需? | 示例 | 数据类型 |
---|---|---|---|
sourcedId | 是 | 12001 | 唯一 ID |
orgSourcedId | 是 | 10001 | 唯一 ID |
title | 是 | 计算机科学 101 | String |
sessionSourcedIds | 否 | FS2021 | 唯一 ID[] |
courseSourcedId | 否 | C12001 | 唯一 ID |
code | 否 | 12001 | String |
- 这需要使用“orgSourcedId”字段引用关联的学校 (组织) 。 这会对 orgs.csv 文件产生依赖项。
- 如果传递:这需要使用“sessionSourcedIds”字段引用) 学术会议 (关联术语。 这会对 academicSessions.csv 文件产生依赖项。
- 如果通过:如果一个班级与同一学年(例如秋季学期和春季学期)中的多个会话相关联,则可以为记录上的会话提供两个 sourcedId。 值应合并为单个字符串,值用引号括起来,用逗号分隔。
- 与多个 sessionSourcedId 的关联仅存储在 Data Lake 中。
- 会话 ID 的 Microsoft 365 组扩展属性不支持多个关联。
- 如果传递:这需要使用“courseSourcedId”字段引用关联的课程。 这会对 courses.csv 文件产生依赖项。
enrollments.csv
字段 | 是否必需? | 示例 | 数据类型 |
---|---|---|---|
classSourcedId | 是 | 12001 | 唯一 ID |
userSourcedId | 是 | 14001 | 唯一 ID |
role | 是 | student | 枚举 |
- 这需要使用“classSourcedId”字段引用关联的类。 这会对 classes.csv 文件产生依赖项。
- 这需要使用“userSourcedId”字段引用关联用户。 这会对 users.csv 文件产生依赖项。
academicSessions.csv
提交 | 是否必需? | 示例 | 数据类型 |
---|---|---|---|
sourcedId | 是 | FS2021 | 唯一 ID |
title | 是 | 秋季学期 | String |
type | 是 | 学期 | 枚举 |
schoolYear | 是 | 2021 | 枚举 |
startDate | 是 | 2020-08-24 | 日期 |
endDate | 是 | 2020-12-11 | 日期 |
- 应以ISO8601格式提供日期值。
courses.csv
字段 | 是否必需? | 示例 | 数据类型 |
---|---|---|---|
sourcedId | 是 | C12001 | 唯一 ID |
orgSourcedId | 是 | 10001 | 唯一 ID |
title | 是 | 计算机科学 101 | String |
code | 否 | CS101 | String |
schoolYearSourcedId | 否 | Y2021 | 唯一 ID |
subject | 否 | 10 | 枚举 |
grade | 否 | 本科 | 枚举 |
- 这需要使用 orgSourcedId 字段引用关联组织 (组织) 。 这会对 orgs.csv 文件产生依赖项。
- 如果通过:这需要使用类型 = schoolYear 的“schoolYearSourcedId”字段引用关联的学术会议年份记录。 这会对 academicSessions.csv 文件产生依赖项。
- 年级级别 ENUM 的传入值上缺少前导零“0”(例如“1”)将与定义的值列表 (ENUM) “01”匹配,并将存储为“01”。
relationships.csv
字段 | 是否必需? | 示例 | 数据类型 |
---|---|---|---|
userSourcedId | 是 | 14001 | 唯一 ID |
relationshipUserSourcedId | 是 | P14001 | 唯一 ID |
relationshipRole | 是 | 监护人 | 枚举 |
- 如果同时同步联系人关系 (监护人) ,则必须在 users.csv 中包含他们的记录。
- 这需要使用“userSourcedId”字段引用关联用户。 这会对 users.csv 文件产生依赖项。
- 这需要使用“relationshipUserSourcedId”字段引用关联用户。 这会对 users.csv 文件产生依赖项。
- 此外,具有联系人关系角色的用户需要 familyName、givenName 和 email。
demographics.csv
字段 | 是否必需? | 示例 | 数据类型 |
---|---|---|---|
userSourcedId | 是 | 14001 | 唯一 ID |
性 | 否 | 雄 | 枚举 |
birthDate | 否 | 2001-07-20 | 日期 |
birthCity | 否 | 伍德维尔 | String |
birthState | 否 | 华盛顿州 | 枚举 |
birthCountry | 否 | 美国 | String |
ethnicityCodes | 否 | hispanicOrLatinoEthnicity | 枚举[] |
raceCodes | 否 | demographicRaceTwoOrMoreRaces | 枚举[] |
- 这需要使用“userSourcedId”字段引用关联用户。 这会对 users.csv 文件产生依赖项。
- 映射到“raceCodes”的多个值应合并到单个字符串中,值用引号括起来,用逗号分隔。
userFlags.csv
字段 | 是否必需? | 示例 | 数据类型 |
---|---|---|---|
userSourcedId | 是 | 14001 | 唯一 ID |
flag | 是 | lep | 枚举 |
- 这需要使用“userSourcedId”字段引用关联用户。 这会对 users.csv 文件产生依赖项。