Формат CSV-файла SDS версии 2.1
Для синхронизации учебной информационной системы (SIS) с Office 365 можно использовать CSV-файлы в формате 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 | Да | cbeane@domain.com | String |
familyName | Да (только при создании пользователей) | Крейг | String |
givenName; | Да (только при создании пользователей) | Бин | String |
activeDirectoryMatchId | Нет | craig.beane@domain.com | String |
Нет | cbeane@domain.com | Электронная почта | |
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.