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


Соединители 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 | Поддержка.