Indexing SharePoint Online Microsoft.SharePoint.SPQueryThrottledException来自工作流

Indexing SharePoint Online Microsoft.SharePoint.SPQueryThrottledException来自工作流,indexing,sharepoint-online,sharepoint-workflow,threshold,Indexing,Sharepoint Online,Sharepoint Workflow,Threshold,背景:我们的SharePoint任务列表达到阈值限制,意味着项目数超过5000个。我们已经创建了自定义视图,以便在索引列的帮助下管理数据视图 但在SharePoint 2013 designer工作流中有一个逻辑,即我们需要获取任务的“描述”列和其他几列,以将其保存为历史记录(哪个用户采取了什么操作以及何时采取了什么行动)。 现在,为了获得信息,我们使用GUID return来分配设计器的任务操作并查询已完成的任务。 问题:我们的SP designer工作流基于GUID调用任务列表和筛选项。下面

背景:我们的SharePoint任务列表达到阈值限制,意味着项目数超过5000个。我们已经创建了自定义视图,以便在索引列的帮助下管理数据视图

但在SharePoint 2013 designer工作流中有一个逻辑,即我们需要获取任务的“描述”列和其他几列,以将其保存为历史记录(哪个用户采取了什么操作以及何时采取了什么行动)。 现在,为了获得信息,我们使用GUID return来分配设计器的任务操作并查询已完成的任务。 问题:我们的SP designer工作流基于GUID调用任务列表和筛选项。下面是designer调用的示例屏幕截图

一旦达到这一步,它会在工作流中抛出一个错误,工作流被挂起,当我深入了解它是由于阈值限制的原因时,我在浏览器上测试了它,如下所示

我的方法: 为了解决上述问题,我只想到两点:

1) 通过项ID而不是GUID调用以上内容,因为项ID将被默认索引,但分配SharePoint designer workfow的任务操作返回包含GUID的TaskID,以便根据GUID筛选项,但GUID不被索引列,因此,它抛出了Microsoft.SharePoint.SPQueryThrottledException

2) 需要将GUID设为索引列,以便能够处理阈值错误。但在列表设置中,GUID不能设置为索引列,因为它未在其中列出

问题:
是否有任何解决方案或其他方法,以便在任务完成后,我们可以在designer中获取与任务相关的信息。

我们在SharePoint Online环境中遇到了完全相同的问题。SharePoint Designer WF生成如下REST调用,以从WF的关联任务列表中获取任务:

https://site/web/_api/web/lists(guid'1b7a4526-47da-4040-8df1-ba8a97543188')/Items?%24filter=**GUID**+**eq**+guid%2771c23273-2535-4dbb-869d-c3e608899ca0%27&%24select=ID%2CEditorId
我通过powershell在“GUID”列上放置了一个索引:

Add-PSSnapin Microsoft.sharepoint.powershell

$web = get-spweb '<URL>'
$list = $web.Lists['Workflow Tasks']
$field = $list.Fields['GUID'] 
$field.Indexed = $true
$field.Update()
$list.FieldIndexes.Add($field)
在Microsoft.sharepoint.powershell中添加PSSnapin
$web=获取spweb“”
$list=$web.Lists['Workflow Tasks']
$field=$list.Fields['GUID']
$field.index=$true
$field.Update()
$list.fieldindex.Add($field)
(在创建索引之前,必须确保列表中的项目不超过5000项)

我们在一周前完成了此操作,所有挂起的工作流都已成功恢复。现在任务列表中有~5100项,GUID筛选器没有问题