Соединители Microsoft Graph для PostgreSQL (предварительная версия)
Соединитель PostgreSQL Microsoft Graph позволяет вашей организации индексировать записи из базы данных PostgreSQL. После настройки соединителя пользователи могут искать эти записи в PostgreSQL в Microsoft Copilot и в любом клиенте Поиска Майкрософт.
Эта статья предназначена для администраторов Microsoft 365 или тех, кто настраивает, запускает и отслеживает соединитель PostgreSQL Graph.
Примечание.
Соединитель PostgreSQL находится в предварительной версии. Если вы хотите получить доступ, чтобы попробовать его, необходимо включить целевой круг выпуска для учетной записи Администратор.
Возможности
- Индексируйте записи из базы данных PostgreSQL с помощью SQL-запроса.
- Укажите разрешения доступа для каждой записи со списком пользователей или групп, добавленных в SQL-запросе.
- Разоставьте пользователям возможность задавать вопросы, связанные с индексированием записей в Copilot.
- Используйте семантический поиск в Copilot , чтобы пользователи могли находить релевантный контент на основе ключевых слов, личных предпочтений и социальных связей.
Ограничения
- Поддерживаемые версии PostgreSQL: соединитель поддерживает PostgreSQL версии 14 или более поздней.
- Для поддержки высокой скорости обхода контента и повышения производительности соединитель создан для поддержки только рабочих нагрузок OLTP (online Transaction Processing). Рабочие нагрузки OLAP (интерактивная аналитическая обработка), которые не выполняют предоставленный SQL-запрос в течение 40 секунд и не поддерживаются.
- Списки управления доступом поддерживаются только с помощью имени участника-пользователя (UPN), Microsoft Entra ID или безопасности Active Directory.
- Индексирование полнофункционированного содержимого внутри столбцов базы данных не поддерживается. Примерами такого содержимого являются HTML, JSON, XML, BLOB-объекты и синтаксический анализ документов, которые существуют в виде ссылок внутри столбцов базы данных.
Предварительные условия
- Вы должны быть администратором поиска для клиента Microsoft 365 вашей организации.
- Установите агент соединителя Microsoft Graph. Чтобы получить доступ к серверу PostgreSQL, необходимо установить и настроить агент соединителя. Дополнительные сведения см. в статье Установка агента соединителя Microsoft Graph .
- Адрес сервера PostgreSQL. Для подключения к данным PostgreSQL требуется адрес сервера PostgreSQL вашей организации.
- Учетная запись службы. Чтобы подключиться к серверу PostgreSQL и разрешить Соединителю Microsoft Graph регулярно обновлять записи, требуется учетная запись службы с разрешениями на чтение, предоставленными учетной записи службы.
Начало работы с программой установки
1. Отображаемое имя
Отображаемое имя используется для идентификации каждой ссылки в Copilot, помогая пользователям легко распознавать связанный файл или элемент. Отображаемое имя также означает доверенное содержимое. Отображаемое имя также используется в качестве фильтра источника содержимого. Для этого поля используется значение по умолчанию, но его можно настроить на имя, которое распознают пользователи в вашей организации.
2. Сервер PostgreSQL
Чтобы подключиться к данным PostgreSQL, вам потребуется адрес сервера PostgreSQL, порт и имя базы данных.
3. Тип проверки подлинности
Соединитель PostgreSQL поддерживает только проверку подлинности на основе пароля для подключения к базе данных.
4. Развертывание для ограниченной аудитории
Разверните это подключение в ограниченной базе пользователей, если вы хотите проверить его в Copilot и других поверхностях поиска, прежде чем развернуть развертывание для более широкой аудитории. Чтобы узнать больше об ограниченном выпуске, щелкните здесь.
Содержимое
Для поиска содержимого базы данных необходимо указать SQL-запросы при настройке соединителя. Эти SQL-запросы должны присвоить имена всем столбцам базы данных, которые требуется индексировать (свойства источника). Сюда входят все соединения SQL, которые необходимо выполнить для получения всех столбцов. Чтобы ограничить доступ к результатам поиска, необходимо указать контроль доступа Списки (ACL) в SQL-запросах при настройке соединителя.
1. Полный обход контента (обязательный)
А.
Выбор столбцов данных (обязательный) и ACL (необязательно)
[Щелкните, чтобы развернуть] Выбор столбцов данных для полного запроса обхода контента.
На этом шаге вы настроите SQL-запрос, выполняющий полный обход базы данных. При полном обходе контента выбираются все столбцы или свойства, которые должны быть представлены в Microsoft Copilot или поиске. Можно также указать столбцы ACL, чтобы ограничить доступ к результатам поиска определенным пользователям или группам.
Совет
Чтобы получить все необходимые столбцы, можно объединить несколько таблиц.
В примере демонстрируется выбор из пяти столбцов данных, в которые содержатся данные для поиска: OrderId, OrderTitle, OrderDesc, CreatedDateTime и IsDeleted. Чтобы задать разрешения на просмотр для каждой строки данных, при необходимости можно выбрать следующие столбцы ACL: AllowedUsers, AllowedGroups, DeniedUsers и DeniedGroups. Все эти столбцы данных также имеют параметры Query, Search, Retrieve или Refine.
Выберите столбцы данных, как показано в этом примере запроса: SELECT OrderId, OrderTitle, OrderDesc, AllowedUsers, AllowedGroups, DeniedUsers, DeniedGroups, CreatedDateTime, IsDeleted
Соединители SQL не разрешают имена столбцов с буквенно-цифровыми символами в предложении SELECT. Удалите все небуквенно-цифровые символы из имен столбцов с помощью псевдонима. Пример. SELECT column_name AS columnName
Чтобы управлять доступом к результатам поиска, можно указать один или несколько столбцов ACL в запросе. Соединитель SQL позволяет управлять доступом на уровне записей. Вы можете выбрать одинаковый контроль доступа для всех записей в таблице. Если сведения об ACL хранятся в отдельной таблице, может потребоваться выполнить соединение с этими таблицами в запросе.
Ниже описано использование каждого из столбцов ACL в приведенном выше запросе. В следующем списке описаны четыре механизма управления доступом.
- AllowedUsers: в этом столбце указывается список идентификаторов пользователей, которые могут получить доступ к результатам поиска.
- AllowedGroups: в этом столбце указывается группа пользователей, которые могут получить доступ к результатам поиска.
- DeniedUsers: в этом столбце указывается список пользователей, у которых нет доступа к результатам поиска.
- DeniedGroups: в этом столбце указывается группа пользователей, у которых нет доступа к результатам поиска.
Б.
Поддерживаемые типы данных
[Щелкните, чтобы развернуть] Список поддерживаемых типов данных.
В таблице перечислены типы данных SQL, поддерживаемые соединителем PostgreSQL. В таблице также приводится сводка типа данных индексирования для поддерживаемого типа данных SQL. Дополнительные сведения о поддерживаемых соединителях Microsoft Graph для индексирования см. в документации по типам ресурсов свойств.
Категория | Тип данных источника | Индексирование типа данных |
---|---|---|
Числовой | smallint integer bigint smallserial серийный bigserial |
int64 |
Числовой | decimal числовой real двойная точность |
double |
Знак | character varying(n) varchar(n) character(n) char(n) bpchar(n) bpchar текст |
string |
Денежный | деньги | int64 |
Binary | bytea | string |
Дата или время | метка времени [(p)] без часового пояса метка времени [(p)] с часовыми поясами date time [(p)] без часового пояса time [(p)] с часовой поясом |
datetime |
Дата или время | interval [fields] [(p)] | string |
Логический | логический | логический |
Перечисленных | enum | string |
Для любого другого типа данных, который в настоящее время не поддерживается напрямую, необходимо явно привести столбец к поддерживаемому типу данных.
c.
Подложка (обязательно)
[Щелкните, чтобы развернуть] Указание столбца подложки в запросе полного обхода контента
Чтобы предотвратить перегрузку базы данных, соединитель пакетирует и возобновляет запросы полного обхода с помощью столбца подложки полного обхода. Используя значение столбца подложки, извлекается каждый последующий пакет, а запрос возобновляется из последней контрольной точки. По сути, эти механизмы управляют обновлением данных для полного обхода контента.
Создайте фрагменты запросов для подложек, как показано в следующих примерах:
-
WHERE (CreatedDateTime > @watermark)
. Приведите имя столбца подложки с зарезервированным ключевое слово@watermark
. Если порядок сортировки столбца подложки возрастает, используйте>
; в противном случае используйте<
. -
ORDER BY CreatedDateTime ASC
. Сортировка по столбцу водяного знака по возрастанию или убыванию.
Чтобы получить первый пакет строк, укажите тип данных столбца подложки.
Первый запрос извлекает первое N строк с помощью : "CreatedDateTime > 1 января 1753 00:00:00" (минимальное значение типа данных DateTime). После получения первого пакета наибольшее значение, возвращенное CreatedDateTime
в пакете, сохраняется в качестве контрольной точки, если строки отсортированы по возрастанию. Пример: 1 марта 2019 г. 03:00:00. Затем следующий пакет из N строк извлекается с помощью "CreatedDateTime > 1 марта 2019 г. 03:00:00" в запросе.
2. Инструкции по обратимым удалениям (необязательно)
Чтобы исключить обратимо удаленные строки в базе данных из индексирования, укажите имя и значение обратимого удаления столбца, указывающее, что строка удалена.
Пользователи
1. Сопоставление столбцов, содержащих сведения о разрешениях доступа
Выберите Сопоставить столбцы , чтобы выбрать различные столбцы управления доступом (ACL), которые определяют механизм управления доступом. Выберите имя столбца, указанного в sql-запросе для полного обхода контента.
Ожидается, что каждый из столбцов ACL будет многозначным. Разделители, такие как точка с запятой (;), запятая (,) и т. д., могут разделять эти несколько значений идентификаторов. Этот разделитель необходимо указать в поле разделителя значений .
Для использования в качестве списков управления доступом поддерживаются следующие типы идентификаторов:
-
Имя участника-пользователя (UPN). Имя участника-пользователя (UPN) — это имя системного пользователя в формате адреса электронной почты. Имя участника-пользователя (например,
john.doe@domain.com
) состоит из имени пользователя (имя входа), разделителя (символ @) и доменного имени (суффикс имени участника-пользователя). - Microsoft Entra ID. В Microsoft Entra ID каждый пользователь или группа имеет идентификатор объекта, который выглядит примерно так: "e0d3ad3d-0000-1111-2222-3c5f5c52ab9b".
- Идентификатор безопасности Active Directory (AD). В локальной установке AD каждый пользователь и группа имеют неизменяемый уникальный идентификатор безопасности, который выглядит примерно так: S-1-5-21-3878594291-215959936-132693609-65242.
2. Разрешения доступа
Вы можете использовать списки ACL, указанные на предыдущем шаге, или переопределить их, чтобы сделать содержимое видимым для всех.
Синхронизация
Интервал обновления определяет частоту синхронизации данных между источником данных и индексом соединителя Graph.
Вы можете настроить полное и добавочное обход контента на основе параметров планирования, представленных здесь. По умолчанию добавочный обход контента (при настройке) устанавливается каждые 15 минут, а полный обход — на каждый день. При необходимости эти расписания можно настроить в соответствии с потребностями обновления данных.
На этом этапе вы готовы создать подключение для PostgreSQL. Вы можете нажать кнопку "Создать", чтобы опубликовать данные подключения и индексирования из базы данных.
Устранение неполадок
После публикации подключения можно просмотреть состояние на вкладке Источники данных в Центре администрирования. Сведения об обновлении и удалении см. в статье Управление соединителем.
Если у вас возникли проблемы или вы хотите отправить отзыв, обратитесь в Microsoft Graph | Поддержка.