使用英语阅读

通过


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

http_request_post 插件

适用于:✅Microsoft Fabric✅Azure 数据资源管理器

http_request_post 插件发送 HTTP POST 请求并将响应转换为表。

先决条件

  • 运行 .enable plugin http_request_post启用插件
  • 标注策略中将要访问的 URI 设置为 webapi 的允许目标

语法

evaluate http_request_post ( Uri [, RequestHeaders [, 选项 [, 内容]]] )

详细了解语法约定

参数

客户 类型​​ 必需 说明
Uri string ✔️ HTTP 或 HTTPS 请求的目标 URI。
RequestHeaders dynamic 一个包含要随请求一起发送的 HTTP 标头的属性包。
选项 dynamic 一个包含请求的附加属性的属性包。
内容 string 与请求一起发送的正文内容。 内容采用 UTF-8 编码,Content-Type 属性的媒体类型为 application/json

备注

  • 若要指定一个跟在可选参数之后的可选参数,请确保为前面的可选参数提供一个值。 有关详细信息,请参阅使用可选参数
  • 如果使用身份验证,则请使用 HTTPS 协议。 尝试将 HTTP 与身份验证结合使用会导致错误。

身份验证和授权

若要进行身份验证,请使用 HTTP 标准 Authorization 标头或 Web 服务支持的任何自定义标头。

备注

如果查询包含机密信息,请确保对查询文本的相关部分进行模糊处理,以便在任何跟踪中省略它们。 有关详细信息,请参阅经过模糊处理的字符串文本

返回

此插件返回一个表,该表有单条记录,其中包含以下动态列:

  • ResponseHeaders:一个包含响应标头的属性包。
  • ResponseBody:分析为 dynamic 类型值的响应正文。

如果 HTTP 响应指示(通过 Content-Type 响应标头)媒体类型为 application/json,则会自动对响应正文进行分析,就像它是 JSON 对象一样。 否则会将它按原样返回。

标头

RequestHeaders 参数可用于将自定义标头添加到传出的 HTTP 请求。 除了标准 HTTP 请求标头和用户提供的自定义标头之外,该插件还添加以下自定义标头:

名称 说明
x-ms-client-request-id 用于标识请求的相关 ID。 在同一查询中多次调用该插件都将使用同一 ID。
x-ms-readonly 一个标志,指示此请求的处理器不应做出任何永久性更改。

警告

为插件发送的、由查询而非管理命令触发的每个 HTTP 请求设置 x-ms-readonly 标志。 Web 服务应将具有此标志的任何请求视为不会做出内部状态更改的请求,否则它们应拒绝该请求。 这可以防止向用户发送看似无害的查询,但攻击者最终可以使用 Kusto 查询做出恶意的更改,以此作为此类攻击的发射台。

示例

以下示例适用于假设的 HTTPS Web 服务,该服务接受附加的请求头,且必须使用 Microsoft Entra ID 进行身份验证:

Kusto
let uri='https://example.com/node/js/on/eniac';
let headers=dynamic({'x-ms-correlation-vector':'abc.0.1.0', 'authorization':'bearer ...Azure-AD-bearer-token-for-target-endpoint...'});
evaluate http_request_post(uri, headers)