powershell - Azure 函数中的 PNP PowerShell 在某个时间间隔内快速触发时失败

标签 powershell azure sharepoint azure-functions

我的 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

最佳答案

我找到了适合我的工作解决方案:

  1. 为 azure 函数创建一个 host.json,其计时如下例所示: { “队列”:{ “最大轮询间隔”:15000, “可见性超时”:“00:00:30”, “批量大小”:1, “最大出队计数”:3, “新批处理阈值”:2 } }

  2. 将 WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 设置为 1

  3. 使用 CSOM 调用而不是 PNP。使用 CSOM,您将拥有更高的灵 active ...
  4. 实现延迟重试执行的功能,以防止出现 SharePoint HTTP 错误消息
  5. 如果许多消息在短时间内发送到共享点,则在此步骤之间添加额外的延迟。

关于powershell - Azure 函数中的 PNP PowerShell 在某个时间间隔内快速触发时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48516298/

相关文章:

SharePoint - 发生意外错误

powershell - 基于空值变量从 Send-MailMessage 有条件地省略 CC 参数

powershell export-csv 每行总和列

reactjs - 将应用程序 react 到 Azure SignalR - FailedWritingMessageToServiceException : Unable to write message to endpoint: https://xxx-dev. service.signalr.net/

azureml 注册数据存储文件共享或 blob 存储

git - 如何在 Azure/VSO 中启用/禁用 secret 扫描

Azure DevOps : while using Release Pipeline in classic mode, 我无法将变量的值传递给其他任务

powershell - 实现 "Press Enter to skip"

c# - 如何将gridview添加到弹出窗口中?

c# - 如何在 Sharepoint 中找到列表的可见列?