Skip To Content

管理 webhook

作为管理员,您可以通过更新 webhook 配置(例如更新 webhook 订阅的事件触发器)的方式对其进行更新和管理,还可以禁用和删除之前配置的 webhook。

更新 webhook

创建后,您可以更新为 webhook 配置的参数。 以下部分概述了如何更新组织、地理处理服务和要素服务 webhook 的属性。

ArcGIS Portal Directory 中更新组织 webhook

要通过 ArcGIS Portal Directory 更新组织 webhook,请按照以下步骤操作:

注:

要查看更新 webhook 配置的示例 POST 请求,请参阅更新 webhook REST API 文档。

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

    仅具有组织 webhook 权限的管理员或已分配默认管理员角色的成员可以创建和管理组织 webhook。

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

    登录后,随即显示帐户的用户资源端点。

  2. 单击组织 ID 超链接,或按照以下格式发出请求,以访问门户自助资源页面:
    https://machine.domain.com/webadaptor/sharing/rest/portals/self
  3. 滚动至自助资源端点的底部,然后单击 Webhook > [Webhook] > 更新 webhook,其中 [Webhook] 表示特定 webhook 的 ID 或名称,用于访问更新 webhook 操作。
  4. 访问更新 webhook 端点后,修改以下信息:
    1. 要更新 webhook 名称,在名称文本框中为 webhook 提供唯一名称。
    2. 如果您正在使用 webhook 接收器或需要为现有接收器更新负载 URL,请在负载 URL 文本框中提供新的 URL。

      更新 webhook 时,将对负载 URL 进行查询,以确保可以在接收器和 ArcGIS Enterprise 门户之间成功建立连接。 示例负载如下所示:

      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,请选择以下选项之一:
      • 单击允许我手动定义以在向我发送这些以逗号分隔的事件的更改文本框中修改将用于此 webhook 的触发器事件列表。 例如,要订阅与组织中特定群组相关的所有事件,请提供与下方所示的触发器相似的事件触发器,其中 [groupID] 表示与特定群组关联的唯一 ID。
        /groups/[groupID]/update
      • 单击向我发送所有内容以订阅所有受支持的事件触发器,并在事件发生时接收每个事件的通知。
  5. 配置完上述参数后,单击更新 webhook 以提交请求并应用更改。

ArcGIS Enterprise 门户网站中更新组织 webhook

要通过 ArcGIS Enterprise 门户网站更新组织 webhook,请按照以下步骤操作:

  1. 确认您以默认管理员身份或具有创建和管理组织 webhook 的管理权限的自定义角色成员的身份登录。
  2. 浏览至组织 > 设置 > Webhook
  3. 找到要更新的组织 webhook。
  4. 单击选项按钮 ,然后单击编辑
  5. 创建 webhook 窗口中,修改以下内容:
    1. 要更新 webhook 名称,在名称文本框中为 webhook 提供唯一名称。
    2. 要更新 webhook 类型,请单击类型下拉菜单 ,然后选择新 webhook 类型。
      • 选择全部可订阅所有受支持的事件触发器。 在每个事件发生时,您将收到通知。
      • 选择项目用户群组角色允许您手动定义要订阅的触发事件。
    3. 如果选择全部以外的 webhook 类型,则会出现一个与所选 webhook 类型相关的附加下拉菜单。 例如,如果您为 webhook 类型选择了项目,则会出现项目下拉菜单,允许您选择 webhook 将监控的特定项目。
    4. 要更新事件触发器,请单击事件下拉菜单,然后选择一个新的触发器事件。 例如,如果您希望在发布特定项目时调用 webhook,请选择 /items/<项目 ID>/publish
    5. 如果需要更新负载 URL,请选择 Webhook URL,然后提供 webhook 接收器的新负载 URL。
    6. 如果需要更新笔记本项目,请选择笔记本,然后选择将在触发 webhook 时运行的新笔记本。
    7. 或者,可以添加一个作为 webhook 机密的字母数字字符串或更新预先存在的机密,此机密可用于对 webhook 与接收器的消息进行身份验证。 在机密(可选)文本框中,提供新机密或更新的机密。
  6. 单击更新 webhook 以应用更改。

更新地理处理服务 webhook

要更新地理处理服务 webhook 的属性,请执行以下步骤。

注:

只能通过 ArcGIS Server Administrator Directory 创建地理处理服务 webhook。 要查看更新地理处理服务 webhook 的示例 POST 请求,请参阅编辑 webhook REST API 文档。

  1. 浏览至 ArcGIS Server Administrator Directory,然后使用已分配合适的管理权限的成员身份登录。
    仅分配有地理处理权限或默认管理员角色的成员才能创建和管理 webhook。
    https://machine.domain.com/webadaptor/admin
  2. 登录后,浏览至地理处理服务的编辑操作,方法是单击服务 > [ServiceName] > Webhook > [Webhook] > 编辑,其中 [ServiceName] 表示受影响的地理处理服务,而 [Webhook] 表示将更新的 webhook。 对于位于特定文件夹中的服务,单击服务 > [FolderName] > [ServiceName] > Webhook > [Webhook] > 编辑,其中 [FolderName] 表示服务所在的文件夹。
  3. 编辑端点上,修改以下信息:
    1. 如果更新 webhook 名称,在名称文本框中为 webhook 提供唯一名称。 提供的名称仅可包含字母数字值,因为使用特殊字符将导致错误消息。
    2. 或者,添加或更新可用于向接收者验证 Webhook 请求的密钥。 在签名密钥文本框中,输入新的或更新的字母数字字符串。

      服务 Webhook 使用签名验证来确保从 ArcGIS Enterprise 发送到 Webhook 接收器的 Webhook 负载的完整性和安全性。 输入到签名密钥文本框的字母数字字符串被视为密钥,ArcGIS Enterprise 和 webhook 接收器都知道并独立存储该密钥。 当触发 Webhook 事件时,将使用 HMAC-SHA256 算法对密钥和负载进行哈希处理,从而创建签名。 然后签名作为 x-esriHook-Signature 标头值在 Webhook 请求中传递。 当 Webhook 有效负载传递到接收器时,接收器使用密钥和有效负载来创建自己的签名,该签名使用与 ArcGIS Enterprise 使用的相同的 HMAC-SHA256 算法。 如果请求标头中包含的签名与 Webhook 接收器创建的重新计算值匹配,则接收器可以信任 Webhook 有效负载。 否则,接收器可能会选择拒绝传入的 Webhook 负载。

    3. 如果正在使用新的接收器或需要更新负载 URL,请在 Hook URL 文本框中提供新 URL,webhook 更新时会对其进行查询,以确保可以在接收器和部署的 ArcGIS Server 之间成功建立连接。

      示例负载 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
    4. 要为 webhook 建立新的媒体类型值,从内容类型下拉框中选择以下任一项:
      • application/json(默认)
      • application/x-www-form-urlencoded
    5. 要更新负载的格式,从负载格式下拉框中选择以下任一项:
      • JSON(默认)
      • PJSON
    6. 通过修改为激活参数选择的值,可以选择启用或禁用 webhook 的回调。 要启用,请选择 true。 要禁用,请选择 false
  4. 配置完上述参数后,单击编辑以提交请求并应用更改。
注:
与组织和要素服务 webhook 不同,地理处理服务 webhook 没有用户定义的事件触发器。 地理处理服务 webhook 会在地理处理作业完成后传送负载。 有关为地理处理服务传送的负载的详细信息,请参阅负载

更新要素服务 webhook

要更新要素服务 webhook 的属性,请执行以下步骤:

注:

只能通过 ArcGIS Server Administrator Directory 创建要素服务 webhook。 要查看更新要素服务 webhook 的示例 POST 请求,请参阅编辑 webhook REST API 文档。

  1. 浏览至 ArcGIS Server Administrator Directory,然后使用已分配合适的管理权限的成员身份登录。
    仅分配有要素图层权限或默认管理员角色的成员才能创建和管理 webhook。

    https://machine.domain.com/webadaptor/admin
  2. 登录后,浏览至要素服务的 Webhook 资源,方法是单击服务 > [ServiceName] > Webhook > 创建,其中 [ServiceName] 表示将为之创建 webhook 的服务。 对于位于特定文件夹中的服务,单击服务 > [FolderName] > [ServiceName] > Webhook > 创建,其中 [FolderName] 表示服务所在的文件夹。
  3. 访问创建 webhook 端点后,提供以下信息:
    1. 如果更新 webhook 名称,在名称文本框中为 webhook 提供唯一名称。 提供的名称仅可包含字母数字值,因为使用特殊字符将导致错误消息。
    2. 要更新 webhook 的事件触发器,请在更改类型文本框中列出将用于此 webhook 的事件触发器。 例如,如果要更新 webhook,使其在创建任意要素服务时调用,则可以使用以下事件触发器:

      FeaturesCreated
      要查看要素服务 webhook 支持的所有事件触发器的列表,请参阅事件触发器
    3. 或者,添加或更新可用于向接收者验证 Webhook 请求的密钥。 在签名密钥文本框中,输入新的或更新的字母数字字符串。

      服务 Webhook 使用签名验证来确保从 ArcGIS Enterprise 发送到 Webhook 接收器的 Webhook 负载的完整性和安全性。 输入到签名密钥文本框的字母数字字符串被视为密钥,ArcGIS Enterprise 和 webhook 接收器都知道并独立存储该密钥。 当触发 Webhook 事件时,将使用 HMAC-SHA256 算法对密钥和负载进行哈希处理,从而创建签名。 然后签名作为 x-esriHook-Signature 标头值在 Webhook 请求中传递。 当 Webhook 有效负载传递到接收器时,接收器使用密钥和有效负载来创建自己的签名,该签名使用与 ArcGIS Enterprise 使用的相同的 HMAC-SHA256 算法。 如果请求标头中包含的签名与 Webhook 接收器创建的重新计算值匹配,则接收器可以信任 Webhook 有效负载。 否则,接收器可能会选择拒绝传入的 Webhook 负载。

    4. 如果正在使用新的接收器或需要更新负载 URL,请在 Hook URL 文本框中提供新 URL,webhook 更新时会对其进行查询,以确保可以在接收器和部署的 ArcGIS Server 之间成功建立连接。

      示例负载 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
    5. 要为 webhook 建立新的媒体类型值,从内容类型下拉框中选择以下任一项:
      • application/json(默认)
      • application/x-www-form-urlencoded
    6. 要更新负载的格式,从负载格式下拉框中选择以下任一项:
      • JSON(默认)
      • PJSON
    7. 通过修改为激活参数选择的值,可以选择启用或禁用 webhook 的回调。 要启用,请选择 true。 要禁用,请选择 false
    8. 通过修改计划文本框中的信息,可以调整 webhook 的计划。 对于要频繁经历大量编辑的要素服务,降低值以在负载中接收包含较少事件信息的较频繁的 webhook。 对于不经历频繁更改的要素服务,请提高属性的值,以在负载中接收包含较多事件信息的较不频繁的 webhook。

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

  4. 配置完上述参数后,单击编辑以提交请求并应用更改。

禁用 webhook

可以手动禁用 webhook,或者对于组织 webhook,可在满足禁用策略(在 webhook 创建期间设置)时进行禁用。 当 webhook 停用时,webhook 会暂停并且在触发时无法传送负载。 以下部分概述了如何禁用组织、地理处理服务和要素服务 webhook。

ArcGIS Portal Directory 中禁用组织 webhook

要通过 ArcGIS Portal Directory 禁用组织 webhook,请按照以下步骤操作:

注:

要查看禁用 webhook 的示例 POST 请求,请参阅禁用 webhook REST API 文档。

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

    仅具有组织 webhook 权限的管理员或已分配默认管理员角色的成员可以创建和管理组织 webhook。

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

    登录后,随即显示帐户的用户资源端点。

  2. 单击组织 ID 超链接,或按照以下格式发出请求,以访问门户自助资源页面:
    https://machine.domain.com/webadaptor/sharing/rest/portals/self
  3. 滚动至自助资源端点的底部,然后单击 Webhook > [Webhook] > 禁用,其中 [Webhook] 反映用于访问禁用操作的特定 webhook 的 ID 或名称。
  4. 访问禁用端点后,单击禁用以暂停 webhook。

ArcGIS Enterprise 门户网站中禁用组织 webhook

要通过 ArcGIS Enterprise 门户网站禁用组织 webhook,请按照以下步骤操作:

  1. 确认您以默认管理员身份或具有创建和管理组织 webhook 的管理权限的自定义角色成员的身份登录。
  2. 浏览至组织 > 设置 > Webhook
  3. 找到要禁用的组织 webhook,然后单击激活
  4. 单击确认以暂停 webhook。

禁用地理处理服务 webhook

要禁用为地理处理服务配置的所有 webhook,请执行以下步骤:

注:

只能通过 ArcGIS Server Administrator Directory 管理地理处理服务 webhook。 要查看禁用地理处理服务的所有 webhook 的示例 POST 请求,请参阅禁用 webhook REST API 文档。

  1. 浏览至 ArcGIS Server Administrator Directory,然后使用已分配合适的管理权限的成员身份登录。
    仅分配有地理处理权限或默认管理员角色的成员才能创建和管理 webhook。
    https://machine.domain.com/webadaptor/admin
  2. 登录后,浏览至地理处理服务的 deactivateAll 操作,方法是单击服务 > [ServiceName] > Webhook > deactivateAll,其中 [ServiceName] 表示特定的地理处理服务。 对于位于特定文件夹中的服务,单击服务 > [FolderName] > [ServiceName] > Webhook > deactivateAll,其中 [FolderName] 表示服务所在的文件夹。
  3. 访问 deactivateAll 端点后,单击禁用全部以暂停所有已配置的 webhook。

禁用要素服务 webhook

要禁用为要素服务配置的所有 webhook,请执行以下步骤:

注:

只能通过 ArcGIS Server Administrator Directory 管理要素服务 webhook。 要查看禁用要素服务的所有 webhook 的示例 POST 请求,请参阅禁用 webhook REST API 文档。

  1. 浏览至 ArcGIS Server Administrator Directory,然后使用已分配合适的管理权限的成员身份登录。
    仅分配有要素图层权限或默认管理员角色的成员才能创建和管理 webhook。
    https://machine.domain.com/webadaptor/admin
  2. 登录后,浏览至要素服务的 deactivateAll 操作,方法是单击服务 > [ServiceName] > Webhook > deactivateAll,其中 [ServiceName] 表示特定的要素服务。 对于位于特定文件夹中的服务,单击服务 > [FolderName] > [ServiceName] > Webhook > deactivateAll,其中 [FolderName] 表示服务所在的文件夹。
  3. 访问 deactivateAll 端点后,单击禁用全部以暂停所有已配置的 webhook。

激活 webhook

当 webhook 停用时,无法传送负载。 重新激活 webhook 会重新启动 webhook,并使其能够在下一次调用 webhook 时传送负载。 以下部分概述了如何激活之前禁用的组织、地理处理服务和要素服务 webhook。

通过 ArcGIS Portal Directory 激活组织 webhook

要通过 ArcGIS Portal Directory 激活组织 webhook,请按照以下步骤操作:

注:

要查看激活 webhook 的示例 POST 请求,请参阅激活 webhook REST API 文档。

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

    仅具有组织 webhook 权限的管理员或已分配默认管理员角色的成员可以创建和管理组织 webhook。

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

    登录后,随即显示帐户的用户资源端点。

  2. 单击组织 ID 超链接,或按照以下格式发出请求,以访问门户自助资源页面:
    https://machine.domain.com/webadaptor/sharing/rest/portals/self
  3. 滚动至自助资源端点的底部,然后单击 Webhook > [Webhook] > 激活,其中 [Webhook] 表示用于访问激活操作的特定 webhook 的 ID 或名称。
  4. 访问激活端点后,单击激活以重新启动 webhook。

通过 ArcGIS Enterprise 门户网站激活组织 webhook

要通过 ArcGIS Enterprise 门户网站启用组织 webhook,请按照以下步骤操作:

  1. 确认您以默认管理员身份或具有创建和管理组织 webhook 的管理权限的自定义角色成员的身份登录。
  2. 浏览至组织 > 设置 > Webhook
  3. 找到要激活的组织 webhook,然后单击非活动
  4. 单击确认以重新启动 webhook。

激活地理处理服务 webhook

要激活为地理处理服务配置的所有 webhook,请执行以下步骤:

注:

只能通过 ArcGIS Server Administrator Directory 管理地理处理服务 webhook。 要查看激活地理处理服务的所有 webhook 的示例 POST 请求,请参阅激活 webhook REST API 文档。

  1. 浏览至 ArcGIS Server Administrator Directory,然后使用已分配合适的管理权限的成员身份登录。
    仅分配有地理处理权限或默认管理员角色的成员才能创建和管理 webhook。
    https://machine.domain.com/webadaptor/admin
  2. 登录后,浏览至地理处理服务的 activateAll 操作,方法是单击服务 > [ServiceName] > Webhook > activateAll,其中 [ServiceName] 表示特定的地理处理服务。 对于位于特定文件夹中的服务,单击服务 > [FolderName] > [ServiceName] > Webhook > activateAll,其中 [FolderName] 表示服务所在的文件夹。
  3. 访问 activateAll 端点后,单击激活全部以恢复所有暂停的 webhook。

激活要素服务 webhook

要激活为要素服务配置的所有 webhook,请执行以下步骤:

注:

只能通过 ArcGIS Server Administrator Directory 管理要素服务 webhook。 要查看激活要素服务的所有 webhook 的示例 POST 请求,请参阅激活 webhook REST API 文档。

  1. 浏览至 ArcGIS Server Administrator Directory,然后使用已分配合适的管理权限的成员身份登录。
    仅分配有要素图层权限或默认管理员角色的成员才能创建和管理 webhook。
    https://machine.domain.com/webadaptor/admin
  2. 登录后,浏览至要素服务的 activateAll 操作,方法是单击服务 > [ServiceName] > Webhook > activateAll,其中 [ServiceName] 表示特定的要素服务。 对于位于特定文件夹中的服务,单击服务 > [FolderName] > [ServiceName] > Webhook > activateAll,其中 [FolderName] 表示服务所在的文件夹。
  3. 访问 activateAll 端点后,单击激活全部以恢复所有暂停的 webhook。

删除 webhook

如果不再需要先前创建的 webhook,则可以通过删除 webhook 将其从组织中永久移除。 以下部分概述了如何删除组织、地理处理服务或要素服务 webhook。

ArcGIS Portal Directory 中删除组织 webhook

要通过 ArcGIS Portal Directory 删除组织 webhook,请按照以下步骤操作:

注:

要查看删除 webhook 的示例 POST 请求,请参阅删除 webhook REST API 文档。

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

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

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

    登录后,随即显示帐户的用户资源端点。

  2. 单击组织 ID 超链接,或按照以下格式发出请求,以访问门户自助资源:
    https://machine.domain.com/webadaptor/sharing/rest/portals/self
  3. 滚动至自助资源端点的底部,然后单击 Webhook > [Webhook] > 删除,其中 [Webhook] 表示用于访问删除操作的特定 webhook 的 ID 或名称。
  4. 访问删除端点后,单击删除以永久移除 webhook。

ArcGIS Enterprise 门户网站中删除组织 webhook

要通过 ArcGIS Enterprise 门户网站更新组织 webhook,请按照以下步骤操作:

  1. 确认您以默认管理员身份或具有创建和管理组织 webhook 的管理权限的自定义角色成员的身份登录。
  2. 浏览至组织 > 设置 > Webhook
  3. 找到要更新的组织 webhook。
  4. 单击选项按钮,然后单击删除
  5. 删除窗口中,单击确认按钮以永久删除 webhook。

删除地理处理服务 webhook

有两种方法可以删除地理处理服务 webhook。 您可以删除为地理处理服务配置的所有 webhook,或删除单个 webhook。 要删除地理处理服务 webhook,请执行以下步骤:

注:

只能通过 ArcGIS Server Administrator Directory 管理地理处理服务 webhook。 要查看删除地理处理服务 webhook 的示例 POST 请求,请参阅删除 webhook REST API 文档。

  1. 浏览至 ArcGIS Server Administrator Directory,然后使用已分配合适的管理权限的成员身份登录。
    仅分配有地理处理权限或默认管理员角色的成员才能创建和管理 webhook。
    https://machine.domain.com/webadaptor/admin
  2. 登录后,浏览至 Webhook 资源,方法是单击服务 > [ServiceName] > Webhook,其中 [ServiceName] 表示特定的地理处理服务。 对于位于特定文件夹中的服务,单击服务 > [FolderName] > [ServiceName] > Webhook,其中 [FolderName] 表示服务所在的文件夹。
  3. 访问 Webhook 端点后,选择删除所有 webhook 或删除特定 webhook。
    • 要删除为地理处理服务配置的所有 webhook,单击 deleteAll 以访问操作端点。 访问端点后,单击删除全部
    • 要删除特定 webhook,单击[Webhook] > 删除,其中 [Webhook] 表示 webhook 的 ID。 访问删除操作端点后,单击删除

删除要素服务 webhook

有两种方法可以删除要素服务 webhook。 您可以删除为要素服务配置的所有 webhook,或删除单个 webhook。 要删除要素服务 webhook,请执行以下步骤:

注:

只能通过 ArcGIS Server Administrator Directory 管理要素服务 webhook。 要查看删除要素服务 webhook 的示例 POST 请求,请参阅删除 webhook REST API 文档。

  1. 浏览至 ArcGIS Server Administrator Directory,然后使用已分配合适的管理权限的成员身份登录。
    仅分配有要素图层权限或默认管理员角色的成员才能创建和管理 webhook。
    https://machine.domain.com/webadaptor/admin
  2. 登录后,浏览至 Webhook 资源,方法是单击服务 > [ServiceName] > Webhook,其中 [ServiceName] 表示特定的要素服务。 对于位于特定文件夹中的服务,单击服务 > [FolderName] > [ServiceName] > Webhook,其中 [FolderName] 表示服务所在的文件夹。
  3. 访问 Webhook 端点后,选择删除所有 webhook 或删除特定 webhook。
    • 要删除为要素服务配置的所有 webhook,单击 deleteAll 以访问操作端点。 访问端点后,单击删除全部
    • 要删除特定 webhook,单击[Webhook] > 删除,其中 [Webhook] 表示 webhook 的 ID。 访问删除操作端点后,单击删除