我的 PNP PowerShell Azure 函数存在问题。
Azure 函数将由 html 或逻辑应用触发,并将连接到 SharePoint 网站。
连接打开后,azure功能会对此站点设置不同的权限。但是,如果从两个站点快速触发 azure 功能,第一个站点将失败并显示以下错误消息。
Set-PnPListPermission:该对象在与该对象关联的上下文不同的上下文中使用。
在 run.ps1:第 51 行
设置 PnPListPermission
- <小时/>
CategoryInfo:WriteError:(:) [Set-PnPListPermission],InvalidOperationException
FullyQualifiedErrorId:异常、SharePointPnP.PowerShell.Commands.Lists.SetListPermission
如果触发操作之间有 20 秒的间隔,azure 函数将成功运行。
我的第一个想法是,这是因为 azure 函数的实例化......
在本地PC上,PowerShell脚本运行顺利。
谢谢,BR
最佳答案
我找到了适合我的工作解决方案:
为 azure 函数创建一个 host.json,其计时如下例所示: { “队列”:{ “最大轮询间隔”:15000, “可见性超时”:“00:00:30”, “批量大小”:1, “最大出队计数”:3, “新批处理阈值”:2 } }
将 WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 设置为 1
- 使用 CSOM 调用而不是 PNP。使用 CSOM,您将拥有更高的灵 active ...
- 实现延迟重试执行的功能,以防止出现 SharePoint HTTP 错误消息
- 如果许多消息在短时间内发送到共享点,则在此步骤之间添加额外的延迟。
关于powershell - Azure 函数中的 PNP PowerShell 在某个时间间隔内快速触发时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48516298/