如何借助 Azure Function 调用 SharePoint





5.00/5 (2投票s)
如何借助 Azure Function 调用 SharePoint。
Microsoft Flow 团队不断改进其产品,其他第三方供应商也是如此。不幸的是,其功能仍然存在一些不足,尤其是在与 SharePoint 相关的方面。这就是为什么我认为通过 Azure Functions 来涵盖某些功能并使其易于使用和扩展是一个好主意。
例如,我实现了一个函数,允许您从 Microsoft Flow 中创建新的 SharePoint 文件夹。
在这篇文章的最后,您将拥有一个托管在您的 Azure 中的 Azure Function 和一个新的 Microsoft Flow 操作。它不需要任何编程技能。同时,如果您是程序员,仍然可以对其进行自定义和扩展。所有源代码都将托管在您的 GitHub 存储库中。欢迎添加新函数并提交拉取请求。
Azure Functions 可以从 GitHub 存储库拉取源代码。因此,您可以轻松地在您的 Azure 环境中重用我存储库中的 Azure Function。我不会在这里详细描述 Azure Function 的实现。那是另一篇文章的主题。下面我将展示如何使用我的 SharePoint 文件夹创建 Azure Function。直接拿来用即可。
在 Microsoft Flow 中使用 Azure Function 的步骤
- Fork 我的 GitHub 存储库
- 配置新的 Azure Function 以从您的 GitHub 存储库拉取代码
- 在 Microsoft Flow 中注册自定义连接器
- 在您的 Flow 中使用 Azure Function,就像使用任何其他操作一样
Fork GitHub 上的存储库
Fork 是存储库的副本。Fork 存储库允许您自由地进行更改实验,而不会影响原始项目。
这里唯一的先决条件是 创建 GitHub 帐户(如果您还没有)。然后导航到我的存储库 https://github.com/plumsail/plumsail-sp-functions,然后点击右上角的“Fork”按钮。
现在您拥有了 Azure Functions 存储库的个人副本
配置新的 Azure Function 以从 GitHub 存储库拉取代码
打开您的 Azure 门户 (https://portal.azure.com),并按照 Azure 文档 创建 Function App。
打开您的 Function 并导航到“平台功能 -> 部署选项”。
点击“设置”,然后选择 GitHub 作为源。登录您的 GitHub 帐户,然后选择“sp-azure-functions”存储库。点击“确定”。
现在您需要等待一分钟。GitHub 存储库中的代码将发布到您的 Function App。
完成后,您将在“Functions”部分看到新的 Function。
然后您需要为 https://flow.microsoft.com 启用 CORS(跨域请求)。这将允许 Microsoft Flow 访问我们 Function 的定义并调用它。
导航到“平台功能 -> CORS”。
将 https://flow.microsoft.com 添加到允许的来源列表中,然后点击“保存”。
然后您需要将您的 SharePoint Online 帐户名称和密码添加到应用程序设置中。该函数将使用它们来创建新文件夹。
向下滚动,添加“SharePointUser”和“SharePointPassword”属性,然后保存设置。
在 Microsoft Flow 中注册连接器
现在我们需要让 Microsoft Flow 了解我们的 Function。Azure Function 具有 Swagger 定义,该定义描述了函数的 API。您可以将此定义馈送到 Microsoft Flow 连接器。这样,它就知道如何从 Flow 中调用我们的函数。
首先,我们需要准备 Swagger 定义。导航到您的 Function App 的“API 定义”部分。您将看到一个表示 Swagger 定义的 XML 结构。您需要在定义中替换一个单词,即您的 Flow App 的地址。
在上图所示的示例中,我将“spfunction”替换为“sharepoint-function”(我的新 Function App 的名称)。
点击“保存”并将 API 定义 URL 复制到某处。
导航到您的 Microsoft Flow 帐户 (https://flow.microsoft.com)。打开连接。
使用您之前复制的 API 定义 URL 创建一个新自定义连接器。
点击“继续”,然后填写“Label”属性。“Label”是将在 Microsoft Flow 连接中显示的 API 密钥的显示名称。我将其命名为“Key”。
点击“Continue”和“Create connector”按钮。
创建自定义连接器后,您就可以在 Microsoft Flow 中使用该函数了。
在 Microsoft Flow 中使用 Azure Function,就像使用任何其他操作一样
创建一个新的 Flow,然后搜索“SharePoint Create Folder”。您将看到一个新的可用操作。
将其添加到 Flow 后,系统将提示您输入 API 密钥。
API 密钥可以像这样从您的 Azure Function 设置中复制。
现在您可以指定操作的参数。
sharePointSiteUrl
— SharePoint 站点 URLbaseFolderServerRelativeUrl
— 要在其中创建子文件夹的文件夹的服务器相对 URLnewFolderName
— 新子文件夹的名称
运行您的 Flow
结论
就是这样!现在您拥有了一个新的操作。起初可能看起来有点棘手。但它具有扩展您的 Flow 的巨大潜力。现在您知道如何使用 Azure Functions 与 SharePoint 进行通信了。
Azure Function 托管在您的 Azure 中。它完全在您的控制之下。函数的代码在您的 GitHub 存储库中。
如果您是 IT 专业人员,请直接使用,无需修改。如果您是开发人员,欢迎贡献并添加其他函数并与世界分享!
这篇文章最初发布在 Plumsail 博客。