Поделиться через


Формат CSV-файла SDS версии 2.1

Для синхронизации учебной информационной системы (SIS) с Office 365 можно использовать CSV-файлы (значения, разделенные запятыми) в формате School Data Sync (SDS) версии 2.1. Использование формата CSV-файла SDS версии 2.1 для приема категорий данных позволяет осветить основные возможности SDS для подготовки. Это также помогает улучшить возможности продуктов и функций Microsoft 365. Формат CSV-файла SDS версии 2.1 продолжает расширять поддерживаемые категории данных.

Если вы используете формат SDS версии 2.1, файлы должны быть отформатированы соответствующим образом. Отправьте файлы с именем точно так же, как подробно. В заголовках столбцов учитывается регистр. CSV-файлы должны быть в формате UTF-8 и соответствовать RFC. Кроме того, мы не принимаем разрывы строк во входящих данных. Чтобы просмотреть и скачать пример набора CSV-файлов SDS версии 2.1, ознакомьтесь с репозиторием 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 Уникальный идентификатор
name Да Инженерный колледж String
type Да колледж Перечисление
parentSourcedId Нет 10000 Уникальный идентификатор

users.csv

Поле Обязательный? Пример Тип данных
sourcedId Да 14001 Уникальный идентификатор
username Да [email protected] String
familyName Да (только при создании пользователей) Крейг String
givenName; Да (только при создании пользователей) Бин String
activeDirectoryMatchId Нет [email protected] String
email Нет [email protected] Электронная почта
phone Нет +1234567890 Phone
СМС Нет +1234567890 Phone
userNumber Нет 14001 String
  • familyName и givenName являются обязательными для пользователей, если используется параметр "Создание пользователей, несоответвленных".
  • familyName, givenName и электронная почта являются обязательными для пользователей при использовании параметра "Связи контактов учащихся" для пользователей с ролью связи контактов в relationships.csv. Для пользователей, которые являются сотрудниками, а также контактами, рекомендуется иметь в списке две пользовательские записи с записью пользователя контактов, связанной с их личным адресом электронной почты.
  • Ожидается, что поля телефона и sms будут отформатированы на основе стандарта E.164. За символом "плюс" следует номер телефона или за символом "плюс" следует код страны, код региона, префикс телефона и номер строки.
  • пароль больше не используется для указания пароля по умолчанию для создания новых пользователей.

roles.csv

Поле Обязательный? Пример Тип данных
userSourcedId Да 14001 Уникальный идентификатор
orgSourcedId Да 10001 Уникальный идентификатор
role Да student Перечисление
sessionSourcedId Нет FS2021 Уникальный идентификатор
оценка Нет PS1 Перечисление
isPrimary Нет true Логический
roleStartDate Нет 2020-08-24 Date
roleEndDate Нет 2020-12-11 Date
  • Требуется ссылка на связанного пользователя, использующий поле userSourcedId, и создается зависимость от файла users.csv.
  • Требуется ссылка на связанную организацию с использованием поля orgSourcedId и создается зависимость от файла orgs.csv.
  • Если передано. Для этого требуется ссылка на связанные термины (академические сеансы), использующие поле sessionSourcedId, и создается зависимость от файла academicSessions.csv.
  • isPrimary указывает, является ли эта роль первичной (true) или вторичной (false) ролью для этой организации. При передаче нескольких ролей для одного пользователя и одной организации для каждой организации должна быть одна и только одна основная роль ( true) для каждой организации.
  • Значения даты, предоставляемые в формате ISO8601.
  • Начальные нули "0", отсутствующие во входящем значении для ENUM уровня оценок. Например, "1" будет соответствовать определенному списку значений (ENUM) "01" и сохраняется как "01".

classes.csv

Поле Обязательный? Пример Тип данных
sourcedId Да 12001 Уникальный идентификатор
orgSourcedId Да 10001 Уникальный идентификатор
title Да Информатика 101 String
sessionSourcedIds Нет FS2021 Уникальный идентификатор[]
courseSourcedId Нет C12001 Уникальный идентификатор
code Нет 12001 String
  • Для этого требуется ссылка на связанное учебное заведение (организация), использующий поле orgSourcedId, и создается зависимость от файла orgs.csv.
  • Если передано. Для этого требуется ссылка на связанные термины (академические сеансы), использующие поле sessionSourcedIds, и создается зависимость от файла academicSessions.csv.
  • Если класс связан с несколькими сеансами в одном учебном году, например осеннего семестра и весеннего семестра, можно указать оба исходных идентификатора для сеансов в записи. Значения должны быть объединены в одну строку со значениями, окруженными кавычками и разделенными запятыми.
    • Связь с несколькими sessionSourcedId хранится только в Data Lake.
    • Атрибут расширения группы Microsoft 365 для идентификаторов сеансов не поддерживает несколько сопоставлений.
  • Если передано. Для этого требуется ссылка на связанный курс, использующий поле courseSourcedId, и создается зависимость от файла courses.csv.

enrollments.csv

Поле Обязательный? Пример Тип данных
classSourcedId Да 12001 Уникальный идентификатор
userSourcedId Да 14001 Уникальный идентификатор
role Да student Перечисление
  • Для этого требуется ссылка на связанный класс, использующий поле classSourcedId, и создается зависимость от файла classes.csv.
  • Для этого требуется ссылка на связанного пользователя, использующий поле userSourcedId, и создается зависимость от users.csv файла.

academicSessions.csv

Поле Обязательный? Пример Тип данных
sourcedId Да FS2021 Уникальный идентификатор
title Да Осенний семестр String
type Да семестр Перечисление
schoolYear Да 2021 Перечисление
startDate Да 2020-08-24 Date
endDate Да 2020-12-11 Date
  • Ожидается, что значения даты будут предоставлены в ISO8601 формате.

courses.csv

Поле Обязательный? Пример Тип данных
sourcedId Да C12001 Уникальный идентификатор
orgSourcedId Да 10001 Уникальный идентификатор
title Да Информатика 101 String
code Нет CS101 String
schoolYearSourcedId Нет Y2021 Уникальный идентификатор
subject Нет 10 Перечисление
оценка Нет студент Перечисление
  • Для этого требуется ссылка на связанную организацию (организацию), использующий поле orgSourcedId, и создается зависимость от файла orgs.csv.
  • Если передано: для этого требуется ссылка на связанную запись года учебного сеанса с использованием поля schoolYearSourcedId, где тип = schoolYear. Это создает зависимость от файла academicSessions.csv.
  • Начальные нули "0", отсутствующие во входящем значении для ENUM уровня оценок. Например, "1" будет соответствовать определенному списку значений (ENUM) "01" и сохраняется как "01".

relationships.csv

Поле Обязательный? Пример Тип данных
userSourcedId Да 14001 Уникальный идентификатор
relationshipUserSourcedId Да P14001 Уникальный идентификатор
relationshipRole Да опекун Перечисление
  • Если вы также синхронизируете контактные отношения (опекуны), необходимо включить запись для них в users.csv.
  • Для этого требуется ссылка на связанного пользователя, использующий поле userSourcedId, и создается зависимость от users.csv файла.
  • Для этого требуется ссылка на связанного пользователя, использующий поле relationshipUserSourcedId, и создается зависимость от файла users.csv.
  • Кроме того, для пользователей с ролями связи контактов требуются familyName, givenName и электронная почта.

demographics.csv

Поле Обязательный? Пример Тип данных
userSourcedId Да 14001 Уникальный идентификатор
секс Нет мужской Перечисление
birthDate Нет 2001-07-20 Date
birthCity Нет Ваудсвилл String
birthState Нет WA Перечисление
birthCountry Нет США String
ethnicityCodes Нет hispanicOrLatinoEthnicity Перечисление
raceCodes Нет demographicRaceTwoOrMoreRaces Перечисление
  • Для этого требуется ссылка на связанного пользователя, использующий поле userSourcedId, и создается зависимость от users.csv файла.
  • Несколько значений, сопоставленных с raceCodes, должны быть объединены в одну строку со значениями, окруженными кавычками и разделенными запятыми.

userFlags.csv

Поле Обязательный? Пример Тип данных
userSourcedId Да 14001 Уникальный идентификатор
flag Да lep Перечисление
  • Для этого требуется ссылка на связанного пользователя, использующий поле userSourcedId, и создается зависимость от users.csv файла.