排查 Microsoft Graph 连接器 SDK 的问题
本文介绍 Microsoft Graph 连接器 SDK 的一些最常见问题,以及如何对其进行故障排除。
索引中缺少的项
如果索引中缺少以前存在的项,这可能是由于平台中的删除检测逻辑造成的。 OperationStatus 中成功响应中已存在于索引中的项将从索引中删除。
如果连接器发送暂时性故障响应,并且超过 10% 的项导致爬网失败,则将删除未包含在最后两次爬网中的项。
处理连接器端口更改
当连接器需要在不同的端口上运行时,需要使用新值更新端口映射配置文件。 编辑端口映射配置文件时,必须重启 GCA 服务才能使更改生效。 若要重启服务,请打开 services.msc 并重启 GcaHostService。
GCA 升级后连接失败
如果在从 GCA 版本 1.8.0.0 或更低版本升级后发现连接失败,请执行以下步骤:
- 打开 GCA 控制面板。 在 “程序和功能”中,从程序列表中选择“ Graph 连接器代理 ”,然后选择“ 修复”。
- 使用以前的配置更新新的端口映射文件配置。
- 从Microsoft 365 管理中心恢复任何失败的连接。
连接器服务不可用
如果爬网失败,并出现连接器在指定端口上不可用错误,请验证以下事项:
- 连接器确实在指定的端口上运行,并且未崩溃且未卡住。
- 端口映射配置文件中指定的端口是正确的。
- 如果已编辑端口映射配置文件,请确保重启 GcaHostService。
处理 RPC 错误
如果在 Microsoft Graph 连接器代理平台与连接器之间的通信过程中看到任何 RPC 错误,可以在 状态代码 页上查找错误代码。
如果错误代码为 “未知”,则连接器代码中可能存在未经处理的异常。 请确保在所有情况下都发送具有成功/失败操作状态的响应。
查找自定义连接器的日志文件
如果使用 GraphConnectorsTemplate 开发自定义连接器,则默认使用当前用户帐户的 AppData 文件夹来存储日志。 还可以提供一个绝对路径,用于将日志存储在模板 的 ConnectorServer.cs 文件中。 用户帐户应有权访问你提供的绝对路径。
以下是日志路径的位置,具体取决于你的用例:
连接器未作为 Windows 服务托管:
C:\Users\{User Account}\AppData\Local\Microsoft\{Connector Name}\Logs\ConnectorLog.log
作为本地系统帐户下的 Windows 服务托管的连接器:
C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\{Connector Name}\Logs\ConnectorLog.log
在虚拟帐户下作为 Windows 服务托管的连接器:
C:\Windows\ServiceProfiles\{Network Service Name}\AppData\Local\Microsoft\{Connector Name}\Logs\ConnectorLog.log
作为本地系统帐户下的 Windows 服务托管的连接器:
C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\{Connector Name}\Logs\ConnectorLog.log
注意
- GraphConnectorsTemplate v2.1 及更高版本支持存储作为 Windows 服务托管的连接器的日志。
- 请确保在 ConnectorServer.cs 文件中提供唯一的连接器名称,以确保单独存储每个唯一连接器的日志。
将连接器托管为 Windows 服务时出错
由于访问被拒绝错误,服务无法启动
使用以下步骤确保 LocalService 帐户可以访问可执行文件的路径。
右键单击包含可执行文件的文件夹,然后选择“属性”。
打开“ 安全性 ”选项卡,在 “组或用户名”下,选择 “编辑”。
选择添加。
输入“LOCAL SERVICE”作为对象名称,然后选择 “检查名称”。
在每个对话框中选择 “确定 ”。
服务无法启动,出现任何错误
如果服务无法启动,检查事件查看器错误日志。 打开事件查看器并转到 Windows 日志 > 应用程序和Windows 日志 > 系统。
更多帮助
如果需要更多帮助来排查问题,可以通过 GitHub 存储库提出 问题 或 开始讨论相关 主题。
还可以联系 Microsoft Graph 连接器团队 以获取更多帮助和故障排除。