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

@azure/core-rest-pipeline package

RestError

失败管道请求的自定义错误类型。

接口

AddPipelineOptions

将策略添加到管道时的选项。 用于表达对其他策略的依赖项。

Agent

与 NodeJS 的 http.Agent兼容的接口。 我们希望避免公开重新导出实际接口,因为它可能因运行时版本而异。

AuthorizeRequestOnChallengeOptions

发送到 authorizeRequestOnChallenge 回调的选项

AuthorizeRequestOptions

发送到 authorizeRequest 回调的选项

AuxiliaryAuthenticationHeaderPolicyOptions

用于配置 auxiliaryAuthenticationHeaderPolicy 的选项

BearerTokenAuthenticationPolicyOptions

配置 bearerTokenAuthenticationPolicy 的选项

BodyPart

多部分请求中的请求正文的一部分。

ChallengeCallbacks

用于替代 持续访问评估 挑战处理的选项。

CreateFileFromStreamOptions

传入流时,createFile 的额外选项。

CreateFileOptions

传递给 createFile 的选项,用于指定有关文件的元数据。

DefaultRetryPolicyOptions

控制如何重试失败请求的选项。

ExponentialRetryPolicyOptions

控制如何重试失败请求的选项。

HttpClient

代表管道发出 HTTP 请求的客户端所需的接口。

HttpHeaders

表示请求/响应上的一组 HTTP 标头。 标头名称被视为不区分大小写。

InternalPipelineOptions

定义用于为 SDK 客户端配置 HTTP 管道的内部选项的选项。

KeyObject

与 NodeJS 的 tls.KeyObject兼容的接口。 我们希望避免公开重新导出实际接口,因为它可能因运行时版本而异。

LogPolicyOptions

用于配置 logPolicy 的选项。

MultipartRequestBody

包含多个部分的请求正文。

Pipeline

表示向 URL 发出 HTTP 请求的管道。 管道可以有多个策略来管理对服务器之前和之后每个请求的作。

PipelineOptions

定义用于为 SDK 客户端配置 HTTP 管道的选项。

PipelinePolicy

管道策略在流经管道时作请求。 从概念上讲,它是一个中间件,允许在收到请求之前修改请求以及响应。

PipelineRequest

有关管道发出的请求的元数据。

PipelineRequestOptions

用于初始化请求的设置。 几乎等效于 Partial,但 URL 是必需的。

PipelineResponse

有关管道收到的响应的元数据。

PipelineRetryOptions

控制如何重试失败请求的选项。

ProxySettings

为传出请求配置代理的选项(仅Node.js)。

PxfObject

与 NodeJS 的 tls.PxfObject兼容的接口。 我们希望避免公开重新导出实际接口,因为它可能因运行时版本而异。

RedirectPolicyOptions

有关如何处理重定向响应的选项。

RestErrorOptions

RestError 支持的选项。

RetryInformation

提供给有关重试策略当前进度的重试策略的信息。

RetryModifiers

可以修改重试策略行为的属性。

RetryPolicyOptions

retryPolicy 的选项

RetryStrategy

重试策略旨在定义是否重试,以及如何重试。

SystemErrorRetryPolicyOptions

控制如何重试失败请求的选项。

TelemetryOptions

定义用于配置常见遥测和跟踪信息的选项

ThrottlingRetryPolicyOptions

控制如何重试失败请求的选项。

TlsSettings

表示 TLS 身份验证的证书。

TracingPolicyOptions

用于配置跟踪策略的选项。

UserAgentPolicyOptions

用于将用户代理详细信息添加到传出请求的选项。

类型别名

FormDataMap

提供表单数据的简单对象,就像从浏览器窗体中一样。

FormDataValue

每个表单数据条目可以是字符串、Blob 或文件。 如果要传递具有名称但无权访问 File 类的文件,可以使用 createFile 帮助程序创建一个文件。

HttpMethods

支持在发出请求时使用的 HTTP 方法。

PipelinePhase

策略分阶段执行。 执行顺序为:

  1. 序列化阶段
  2. 策略不在阶段
  3. 反序列化阶段
  4. 重试阶段
  5. 签名阶段
RawHttpHeaders

表示为简单 JSON 对象的 HttpHeaders 集合。

RawHttpHeadersInput

用于输入的 HttpHeaders 集合,表示为简单的 JSON 对象。

RequestBodyType

请求支持的类型。 NodeJS.ReadableStream 和 () => NodeJS.ReadableStream 仅是 Node。 Blob、ReadableStream 和 () => ReadableStream 仅浏览器。

SendRequest

用于发出管道请求和接收响应的简单接口。

TransferProgressEvent

响应上传或下载进度而触发。

函数

agentPolicy(Agent)

获取设置 http.agent 的管道策略

auxiliaryAuthenticationHeaderPolicy(AuxiliaryAuthenticationHeaderPolicyOptions)

用于 x-ms-authorization-auxiliary 标头的外部令牌的策略。 创建跨租户应用程序时,可能需要处理针对不同租户中的资源的身份验证请求时,将使用此标头。 可以看到 ARM 文档,了解此功能的工作原理

bearerTokenAuthenticationPolicy(BearerTokenAuthenticationPolicyOptions)

一个策略,可以从 TokenCredential 实现请求令牌,然后将其作为持有者令牌应用于请求的授权标头。

createDefaultHttpClient()

为当前环境创建正确的 HttpClient。

createEmptyPipeline()

创建完全空的管道。 可用于测试或创建自定义模板。

createFile(Uint8Array, string, CreateFileOptions)

创建实现文件接口的对象。 此对象旨在传递到 RequestBodyType.formData 中,并不能保证在其他情况下按预期工作。

使用此函数创建一个 File 对象,以便在全局 File 对象不可用的环境中在 RequestBodyType.formData 中使用。

createFileFromStream(() => ReadableStream<Uint8Array> | ReadableStream, string, CreateFileFromStreamOptions)

创建实现文件接口的对象。 此对象旨在传递到 RequestBodyType.formData 中,并不能保证在其他情况下按预期工作。

使用此函数可以:

  • 创建一个 File 对象,以便在全局 File 对象不可用的环境中在 RequestBodyType.formData 中使用。
  • 从可读流创建类似 File 的对象,而无需将流读取到内存中。
createHttpHeaders(RawHttpHeadersInput)

创建满足 HttpHeaders 接口的对象。

createPipelineFromOptions(InternalPipelineOptions)

使用一组默认的可自定义策略创建新管道。

createPipelineRequest(PipelineRequestOptions)

使用给定选项创建新的管道请求。 此方法允许轻松设置默认值,而不需要设置默认值。

decompressResponsePolicy()

根据 Accept-Encoding 标头 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding 启用响应解压缩的策略

defaultRetryPolicy(DefaultRetryPolicyOptions)

根据三种策略重试的策略:

  • 当服务器发送具有 Retry-After 标头的 429 响应时。
  • 当基础传输层(例如 DNS 查找失败)中出现错误时。
  • 否则,如果传出请求失败,它将重试,延迟呈指数级增加。
exponentialRetryPolicy(ExponentialRetryPolicyOptions)

尝试重试请求的策略,同时引入呈指数增加的延迟。

formDataPolicy()

将请求上的 FormData 编码为正文的策略。

getDefaultProxySettings(string)

此方法将代理 URL 转换为 ProxySettings,以便与 ProxyPolicy 一起使用。 如果未提供任何参数,它将尝试分析环境变量 HTTPS_PROXYHTTP_PROXY中的代理 URL。

isRestError(unknown)

RestError 的 Typeguard

logPolicy(LogPolicyOptions)

记录所有请求和响应的策略。

multipartPolicy()

多部分请求的管道策略

ndJsonPolicy()

ndJsonPolicy 是用于控制每个请求的保持活动设置的策略。

proxyPolicy(ProxySettings, { customNoProxyList?: string[] })

允许将代理设置应用于所有请求的策略。 如果未传递静态设置,将从HTTPS_PROXY或HTTP_PROXY环境变量中检索它们。

redirectPolicy(RedirectPolicyOptions)

一个策略,用于遵循来自服务器的 Location 标头以支持服务器端重定向。 在浏览器中,不使用此策略。

retryPolicy(RetryStrategy[], RetryPolicyOptions)

retryPolicy 是一种通用策略,用于在满足某些条件时启用重试请求

setClientRequestIdPolicy(string)

每个 PipelineRequest 在创建时获取唯一 ID。 此策略通过 HTTP 标头传递该唯一 ID,以实现更好的遥测和跟踪。

systemErrorRetryPolicy(SystemErrorRetryPolicyOptions)

一个重试策略,该策略专门试图处理基础传输层(例如 DNS 查找失败)中的错误,而不是服务器本身的可重试错误代码。

throttlingRetryPolicy(ThrottlingRetryPolicyOptions)

当服务器发送具有 Retry-After 标头的 429 响应时重试的策略。

若要了解详细信息,请参阅 https://learn.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-request-limitshttps://learn.microsoft.com/en-us/azure/azure-subscription-service-limitshttps://learn.microsoft.com/en-us/azure/virtual-machines/troubleshooting/troubleshooting-throttling-errors

tlsPolicy(TlsSettings)

获取将客户端证书添加到 HttpClient 代理以进行身份验证的管道策略。

tracingPolicy(TracingPolicyOptions)

为具有 SpanOptions 且具有父级的管道发出的每个请求创建 OpenTelemetry Spans 的简单策略。 不会记录在没有父 Span 的情况下发出的请求。

userAgentPolicy(UserAgentPolicyOptions)

设置 User-Agent 标头(或等效)以反映库版本的策略。

函数详细信息

agentPolicy(Agent)

获取设置 http.agent 的管道策略

function agentPolicy(agent?: Agent): PipelinePolicy

参数

agent
Agent

返回

auxiliaryAuthenticationHeaderPolicy(AuxiliaryAuthenticationHeaderPolicyOptions)

用于 x-ms-authorization-auxiliary 标头的外部令牌的策略。 创建跨租户应用程序时,可能需要处理针对不同租户中的资源的身份验证请求时,将使用此标头。 可以看到 ARM 文档,了解此功能的工作原理

function auxiliaryAuthenticationHeaderPolicy(options: AuxiliaryAuthenticationHeaderPolicyOptions): PipelinePolicy

参数

返回

bearerTokenAuthenticationPolicy(BearerTokenAuthenticationPolicyOptions)

一个策略,可以从 TokenCredential 实现请求令牌,然后将其作为持有者令牌应用于请求的授权标头。

function bearerTokenAuthenticationPolicy(options: BearerTokenAuthenticationPolicyOptions): PipelinePolicy

参数

返回

createDefaultHttpClient()

为当前环境创建正确的 HttpClient。

function createDefaultHttpClient(): HttpClient

返回

createEmptyPipeline()

创建完全空的管道。 可用于测试或创建自定义模板。

function createEmptyPipeline(): Pipeline

返回

createFile(Uint8Array, string, CreateFileOptions)

创建实现文件接口的对象。 此对象旨在传递到 RequestBodyType.formData 中,并不能保证在其他情况下按预期工作。

使用此函数创建一个 File 对象,以便在全局 File 对象不可用的环境中在 RequestBodyType.formData 中使用。

function createFile(content: Uint8Array, name: string, options?: CreateFileOptions): File

参数

content

Uint8Array

文件的内容作为内存中的 Uint8Array。

name

string

文件的名称。

options
CreateFileOptions

有关文件的可选元数据,例如文件名、文件大小、MIME 类型。

返回

File

createFileFromStream(() => ReadableStream<Uint8Array> | ReadableStream, string, CreateFileFromStreamOptions)

创建实现文件接口的对象。 此对象旨在传递到 RequestBodyType.formData 中,并不能保证在其他情况下按预期工作。

使用此函数可以:

  • 创建一个 File 对象,以便在全局 File 对象不可用的环境中在 RequestBodyType.formData 中使用。
  • 从可读流创建类似 File 的对象,而无需将流读取到内存中。
function createFileFromStream(stream: () => ReadableStream<Uint8Array> | ReadableStream, name: string, options?: CreateFileFromStreamOptions): File

参数

stream

() => ReadableStream<Uint8Array> | ReadableStream

作为返回流的回调的文件内容。 使用 createFile 创建的 File 对象在请求的表单数据映射中传递时,流将不会读入内存,而是在发出请求时流式传输。 如果重试,需要再次读取流,因此此回调应返回新的流(如果可能)。

name

string

文件的名称。

options
CreateFileFromStreamOptions

有关文件的可选元数据,例如文件名、文件大小、MIME 类型。

返回

File

createHttpHeaders(RawHttpHeadersInput)

创建满足 HttpHeaders 接口的对象。

function createHttpHeaders(rawHeaders?: RawHttpHeadersInput): HttpHeaders

参数

rawHeaders
RawHttpHeadersInput

表示初始标头的简单对象

返回

createPipelineFromOptions(InternalPipelineOptions)

使用一组默认的可自定义策略创建新管道。

function createPipelineFromOptions(options: InternalPipelineOptions): Pipeline

参数

options
InternalPipelineOptions

用于配置自定义管道的选项。

返回

createPipelineRequest(PipelineRequestOptions)

使用给定选项创建新的管道请求。 此方法允许轻松设置默认值,而不需要设置默认值。

function createPipelineRequest(options: PipelineRequestOptions): PipelineRequest

参数

options
PipelineRequestOptions

用于创建请求的选项。

返回

decompressResponsePolicy()

根据 Accept-Encoding 标头 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding 启用响应解压缩的策略

function decompressResponsePolicy(): PipelinePolicy

返回

defaultRetryPolicy(DefaultRetryPolicyOptions)

根据三种策略重试的策略:

  • 当服务器发送具有 Retry-After 标头的 429 响应时。
  • 当基础传输层(例如 DNS 查找失败)中出现错误时。
  • 否则,如果传出请求失败,它将重试,延迟呈指数级增加。
function defaultRetryPolicy(options?: DefaultRetryPolicyOptions): PipelinePolicy

参数

返回

exponentialRetryPolicy(ExponentialRetryPolicyOptions)

尝试重试请求的策略,同时引入呈指数增加的延迟。

function exponentialRetryPolicy(options?: ExponentialRetryPolicyOptions): PipelinePolicy

参数

options
ExponentialRetryPolicyOptions

配置重试逻辑的选项。

返回

formDataPolicy()

将请求上的 FormData 编码为正文的策略。

function formDataPolicy(): PipelinePolicy

返回

getDefaultProxySettings(string)

警告

现已弃用此 API。

  • Internally this method is no longer necessary when setting proxy information.

此方法将代理 URL 转换为 ProxySettings,以便与 ProxyPolicy 一起使用。 如果未提供任何参数,它将尝试分析环境变量 HTTPS_PROXYHTTP_PROXY中的代理 URL。

function getDefaultProxySettings(proxyUrl?: string): ProxySettings | undefined

参数

proxyUrl

string

要使用的代理的 URL。 可能包含身份验证信息。

返回

ProxySettings | undefined

isRestError(unknown)

RestError 的 Typeguard

function isRestError(e: unknown): e

参数

e

unknown

catch 子句捕获的内容。

返回

e

logPolicy(LogPolicyOptions)

记录所有请求和响应的策略。

function logPolicy(options?: LogPolicyOptions): PipelinePolicy

参数

options
LogPolicyOptions

用于配置 logPolicy 的选项。

返回

multipartPolicy()

多部分请求的管道策略

function multipartPolicy(): PipelinePolicy

返回

ndJsonPolicy()

ndJsonPolicy 是用于控制每个请求的保持活动设置的策略。

function ndJsonPolicy(): PipelinePolicy

返回

proxyPolicy(ProxySettings, { customNoProxyList?: string[] })

允许将代理设置应用于所有请求的策略。 如果未传递静态设置,将从HTTPS_PROXY或HTTP_PROXY环境变量中检索它们。

function proxyPolicy(proxySettings?: ProxySettings, options?: { customNoProxyList?: string[] }): PipelinePolicy

参数

proxySettings
ProxySettings

要在每个请求上使用的 ProxySettings。

options

{ customNoProxyList?: string[] }

其他设置,例如自定义NO_PROXY模式

返回

redirectPolicy(RedirectPolicyOptions)

一个策略,用于遵循来自服务器的 Location 标头以支持服务器端重定向。 在浏览器中,不使用此策略。

function redirectPolicy(options?: RedirectPolicyOptions): PipelinePolicy

参数

options
RedirectPolicyOptions

用于控制策略行为的选项。

返回

retryPolicy(RetryStrategy[], RetryPolicyOptions)

retryPolicy 是一种通用策略,用于在满足某些条件时启用重试请求

function retryPolicy(strategies: RetryStrategy[], options?: RetryPolicyOptions): PipelinePolicy

参数

strategies

RetryStrategy[]

返回

setClientRequestIdPolicy(string)

每个 PipelineRequest 在创建时获取唯一 ID。 此策略通过 HTTP 标头传递该唯一 ID,以实现更好的遥测和跟踪。

function setClientRequestIdPolicy(requestIdHeaderName?: string): PipelinePolicy

参数

requestIdHeaderName

string

要向其传递请求 ID 的标头的名称。

返回

systemErrorRetryPolicy(SystemErrorRetryPolicyOptions)

一个重试策略,该策略专门试图处理基础传输层(例如 DNS 查找失败)中的错误,而不是服务器本身的可重试错误代码。

function systemErrorRetryPolicy(options?: SystemErrorRetryPolicyOptions): PipelinePolicy

参数

options
SystemErrorRetryPolicyOptions

自定义策略的选项。

返回

throttlingRetryPolicy(ThrottlingRetryPolicyOptions)

当服务器发送具有 Retry-After 标头的 429 响应时重试的策略。

若要了解详细信息,请参阅 https://learn.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-request-limitshttps://learn.microsoft.com/en-us/azure/azure-subscription-service-limitshttps://learn.microsoft.com/en-us/azure/virtual-machines/troubleshooting/troubleshooting-throttling-errors

function throttlingRetryPolicy(options?: ThrottlingRetryPolicyOptions): PipelinePolicy

参数

options
ThrottlingRetryPolicyOptions

配置重试逻辑的选项。

返回

tlsPolicy(TlsSettings)

获取将客户端证书添加到 HttpClient 代理以进行身份验证的管道策略。

function tlsPolicy(tlsSettings?: TlsSettings): PipelinePolicy

参数

tlsSettings
TlsSettings

返回

tracingPolicy(TracingPolicyOptions)

为具有 SpanOptions 且具有父级的管道发出的每个请求创建 OpenTelemetry Spans 的简单策略。 不会记录在没有父 Span 的情况下发出的请求。

function tracingPolicy(options?: TracingPolicyOptions): PipelinePolicy

参数

options
TracingPolicyOptions

用于配置跟踪策略记录的遥测的选项。

返回

userAgentPolicy(UserAgentPolicyOptions)

设置 User-Agent 标头(或等效)以反映库版本的策略。

function userAgentPolicy(options?: UserAgentPolicyOptions): PipelinePolicy

参数

options
UserAgentPolicyOptions

自定义用户代理值的选项。

返回