Skip To Content

创建 webhook

作为组织管理员,您可以为 ArcGIS Enterprise 部署配置 webhook,以在发生特定事件时收到通知。 以下部分概述了如何配置组织和服务 webhook。

创建 webhook 的先决条件

创建 webhook 之前,请考虑以下事项:

  • 要使用组织 webhook,您的组织必须使用 10.7 或更高版本的 ArcGIS Enterprise。 要使用服务 webhook,您的组织必须使用 11.0 或更高版本的 ArcGIS Enterprise
  • 要创建和管理组织 webhook,您必须是管理员或已被分配默认管理员角色。
  • 要创建和管理服务 webhook,您必须已被分配更新、删除、安全性和基础架构或服务器管理员权限,或已被分配默认管理员角色。
  • Webhook 接收器必须配置为通过 HTTPS 进行通信。 此处提供多个支持用作接收器的选项:例如第三方 Web 服务接收器(Microsoft Power AutomateZapier 和 IFFT)、自定义 Web 服务、ArcGIS Notebook ServerArcGIS Workflow Manager。 有关如何创建自定义 Web 服务的示例或使用第三方接收器的入门指南,请参阅 Webhook 资料档案库。 要了解有关创建 Notebook ServerWorkflow Manager webhook 的详细信息,请相应地参阅使用 ArcGIS Notebooks 自动化工作流使用 Webhook 创建作业
  • 要为要素服务配置 webhook,服务必须具有编辑功能,并且在不使用同步功能的情况下启用了更改追踪。
  • 要为地理处理服务配置 webhook,服务必须为异步服务。
注:

在此版本中,服务 webhook 是测试版功能。 在测试版中,这些功能可能不完整,因此可能存在已知的性能或质量问题,并且不会得到 Esri 技术支持部门的支持。 服务 webhook 的测试版 API 文档位于 服务 webhook 管理员 API 指南 PDF。 有关 ArcGIS Enterprise 中测试版功能的详细信息,请参阅测试版功能

创建组织 webhook

您可通过组织 webhook 订阅至与 ArcGIS Enterprise 门户项目、群组和用户关联的事件的触发器。

注:

要查看创建围绕与用户、群组和项目相关的事件的 webhook 的示例 POST 请求,请参阅创建 webhook REST API 文档。

要为组织创建 webhook,请执行以下步骤:

  1. 浏览至 ArcGIS Portal Directory,然后以具有管理员角色的用户身份登录。

    仅管理员或已分配默认管理员角色的成员可以创建和管理 webhook。

    https://machine.domain.com/webadaptor/sharing/rest

    登录后,随即显示帐户的用户资源页面。

  2. 单击组织 ID 超链接,或按照以下格式发出请求,以访问门户自助资源页面:
    https://machine.domain.com/webadaptor/sharing/rest/portals/self
  3. 滚动到自助资源页面的底部,然后单击Webhook > 创建 webhook 以访问创建 webhook 操作。
  4. 访问创建 webhook 端点后,提供以下信息:
    1. 名称文本框中,为 webhook 提供唯一名称。
    2. 负载 URL 文本框中提供 webhook 接收器的负载 URL,创建 webhook 时会对其进行查询,以确保可以在接收器和 ArcGIS Enterprise 门户之间成功建立连接。

      示例负载 URL 如下所示:

      https://app.logic.azure.com:443/workflows/b688528a36e246279dc050f936e5ebd4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=nHP-LBo9x-nSgMi11DSDuwRIUiJr-8yKGCy7OYaT_ow
    3. 或者,设置一个可用于对 webhook 与接收器的消息进行身份验证的 webhook 机密。 在机密(可选)文本框中,输入用户定义的字母数字字符串。
    4. 或者,在配置属性文本框中指定 webhook 的停用信息。

      默认情况下,如果在五天内发生了五次故障,则 webhook 会停用。

    5. 您希望在哪些事件触发此 webhook 下,请选择允许我手动定义向我发送所有内容
      • 如果您选择允许我手动定义,请在向我发送这些以逗号分隔的事件的更改文本框中列出将用于此 webhook 的触发器事件。 例如,如果您想要订阅与组织中特定群组相关的所有事件,请输入与下方所示的一项相似的触发器事件,其中 [groupID] 表示与特定群组关联的唯一 ID:
        /groups/[groupID]/update
        要查看组织 webhook 所有支持的事件触发器的列表,请参阅事件触发器主题。
      • 如果您选择向我发送所有内容,将订阅所有受支持的触发器事件。 在每个事件发生时,您将收到通知。
  5. 配置完上述参数后,单击创建 webhook 以提交请求。

    操作完成后,一个新的 webhook 将添加到您的组织。

为组织 webhook 配置高级参数

应用于组织的 webhook 的高级设置允许您进一步自定义 webhook 的性能,例如指定传送尝试的次数、通知时间和传送尝试之间的时间。

注:

要查看配置这些高级属性的示例 POST 请求,请参阅更新 webhook 设置 REST API 文档。

要设置这些高级属性,请执行以下操作:

  1. 浏览至 ArcGIS Portal Directory,然后以具有管理员角色的用户身份登录。 仅管理员或已分配默认管理员角色的成员可以创建和管理 webhook。
    https://machine.domain.com/webadaptor/sharing/rest

    登录后,随即显示帐户的用户资源页面。

  2. 单击组织 ID 超链接,或按照以下格式发出请求,以访问门户自助资源页面:
    https://machine.domain.com/webadaptor/sharing/rest/portals/self
  3. 滚动到自助资源页面的底部,然后单击 Webhook > 设置 > 更新以访问更新 webhook 设置操作。
  4. 访问更新 webhook 设置端点后,提供以下信息:
    1. 设置通知尝试次数的值。

      此值指定尝试传送 webhook 负载的次数。 默认情况下,ArcGIS Enterprise 门户将尝试传送负载三次。 尝试次数的值必须是 0 到 5 之间的整数。

    2. 设置以秒为单位的通知超时的值。

      此值以秒为单位指定时间长度,ArcGIS Enterprise 门户将在此时间内等待从接收器接收响应。 默认情况下,ArcGIS Enterprise 门户将等待 10 秒。 ArcGIS Enterprise 门户将等待的秒数值必须是 0 到 60 秒之内的整数。

    3. 设置以秒为单位的通知历时的值。

      此值指定每次负载传送尝试之间的时间量(以秒为单位)。 默认情况下,如果上次尝试失败,ArcGIS Enterprise 门户将在 5 秒后尝试传送另一个负载,直到达到通知尝试次数中指定的尝试次数为止。

  5. 配置完上述参数后,单击更新 webhook 设置以提交请求。

    完成操作后,更新的属性将应用于每个已配置的组织 webhook。

创建地理处理服务 webhook

您可通过地理处理服务 webhook 订阅与地理处理服务关联的特定事件触发器。

注:

要查看创建地理处理服务 webhook 的示例 POST 请求,请参阅 中的 webhook REST API 测试版文档服务 webhook 管理员 API 指南 PDF。

要为地理处理服务创建 webhook,请执行以下步骤:

  1. 浏览至 ArcGIS Server Administrator Directory,然后使用已分配合适的管理权限的成员身份登录。
    仅以下用户可以创建和管理 webhook:已分配更新、删除、安全性和基础架构或服务器管理员权限的管理员,或已分配默认管理员角色的管理员。
    https://machine.domain.com/webadaptor/admin
  2. 登录后,浏览至地理处理服务的 Webhook 资源,方法是单击服务 > [ServiceName] > Webhook > 创建,其中 [ServiceName] 表示将为之创建 webhook 的服务。 对于位于特定文件夹中的服务,单击服务 > [FolderName] > [ServiceName] > Webhook > 创建,其中 [FolderName] 表示服务所在的文件夹。
    警告:

    要为地理处理服务配置 webhook,地理处理服务必须为异步服务。

  3. 访问创建 webhook 端点后,提供以下信息:
    1. 名称文本框中,为 webhook 提供唯一名称。 提供的名称仅可包含字母数字值,因为使用特殊字符将导致错误响应。
    2. 或者,设置一个可用于对 webhook 与接收器的消息进行身份验证的 webhook 机密。 在签名密钥文本框中,输入用户定义的字母数字字符串。
    3. Hook URL 文本框中提供 webhook 接收器的负载 URL,创建 webhook 时会对其进行查询,以确保可以在接收器和部署的 ArcGIS Server 之间成功建立连接。 示例负载如下所示:
      https://app.logic.azure.com:443/workflows/b688528a36e246279dc050f936e5ebd4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=nHP-LBo9x-nSgMi11DSDuwRIUiJr-8yKGCy7OYaT_ow
    4. 或者,指定媒体类型。 在内容类型下拉菜单中,选择以下任一项:
      • application/json(默认)
      • application/x-www-form-urlencoded
    5. 或者,定义负载的格式。 在负载格式下拉菜单中,选择以下任一项:
      • JSON(默认)
      • PJSON
    6. 或者,使用激活参数在触发 webhook 时禁用或启用回调。 要启用,请选择 True。 要禁用,请选择 False

      默认设置为启用回调。

  4. 配置完上述参数后,单击创建以提交请求。

    操作完成后,新 webhook 将应用于特定的地理处理服务。

注:
与组织和要素服务 webhook 不同,地理处理服务 webhook 没有用户定义的事件触发器。 地理处理服务 webhook 会在地理处理作业完成后传送负载。 有关为地理处理服务传送的负载的详细信息,请参阅负载主题。

创建要素服务 webhook

您可通过要素服务 webhook 订阅与要素服务关联的特定事件触发器。

注:

要查看创建要素服务 webhook 的示例 POST 请求,请参阅 中的 webhook REST API 测试版文档服务 webhook 管理员 API 指南 PDF。

要为要素服务创建 webhook,请执行以下步骤:

  1. 浏览至 ArcGIS Server Administrator Directory,然后使用已分配合适的管理权限的成员身份登录。

    仅以下用户可以创建和管理 webhook:已分配更新、删除、安全性和基础架构或服务器管理员权限的管理员,或已分配默认管理员角色的管理员。

    https://machine.domain.com/webadaptor/admin
  2. 登录后,浏览至要素服务的 Webhook 资源,方法是单击服务 > [ServiceName] > Webhook > 创建,其中 [ServiceName] 表示将为之创建 webhook 的服务。 对于位于特定文件夹中的服务,单击服务 > [FolderName] > [ServiceName] > Webhook > 创建,其中 [FolderName] 表示服务所在的文件夹。
    警告:

    要为要素服务配置 webhook,要素服务必须包含编辑功能,并且在不使用同步功能的情况下启用了更改追踪。

  3. 访问创建 webhook 端点后,提供以下信息:
    1. 名称文本框中,为 webhook 提供唯一名称。 提供的名称仅可包含字母数字值,因为使用特殊字符将导致错误响应。
    2. 更改类型文本框中列出将用于此 webhook 的事件触发器。 例如,要在创建要素服务时调用 webhook,请使用以下事件触发器:

      示例

      FeaturesCreated
      要查看要素服务 webhook 支持的所有事件触发器的列表,请参阅事件触发器主题。
    3. 或者,设置一个可用于对 webhook 与接收器的消息进行身份验证的 webhook 机密。 在签名密钥文本框中,输入用户定义的字母数字字符串。
    4. Hook URL 文本框中提供 webhook 接收器的负载 URL,创建 webhook 时会对其进行查询,以确保可以在接收器和部署的 ArcGIS Server 之间成功建立连接。 示例负载如下所示:
      https://app.logic.azure.com:443/workflows/b688528a36e246279dc050f936e5ebd4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=nHP-LBo9x-nSgMi11DSDuwRIUiJr-8yKGCy7OYaT_ow
    5. 或者,指定媒体类型。 在内容类型下拉菜单中,选择以下任一项:
      • application/json(默认)
      • application/x-www-form-urlencoded
    6. 或者,定义负载的格式。 在负载格式下拉菜单中,选择以下任一项:
      • JSON(默认)
      • PJSON
    7. 或者,使用激活参数在触发 webhook 时禁用或启用回调。 要启用,请选择 True。 要禁用,请选择 False

      默认设置为启用回调。

    8. 通过修改计划文本框中的信息,可以调整 webhook 的计划。 对于要频繁经历大量编辑的要素服务,降低值以在负载中接收包含较少事件信息的较频繁的 webhook。 对于不经历频繁更改的要素服务,请提高属性的值,以在负载中接收包含较多事件信息的较不频繁的 webhook。

      计划的最小值和默认值为 20 秒。

  4. 配置完上述参数后,单击创建以提交请求。

    操作完成后,新 webhook 将应用于特定的要素服务。