共用方式為


@azure/core-amqp package

類別

CbsClient

描述透過AMQP連線與$cbs端點交談的 EventHub/ServiceBus Cbs 用戶端。

MessagingError

描述傳訊錯誤的基類。

RequestResponseLink

描述透過amqp會話建立的amqp要求(sender)-response(receiver) 連結。

介面

AcquireLockProperties

描述取得鎖定時必須提供的屬性。

CancellableAsyncLock

CancellableAsyncLock 提供一種機制,可強制使用相同 'key' 以序列方式執行的工作。

暫止的工作可以透過中止手動取消,或透過達到提供的逾時值自動取消。

CbsResponse

描述 CBS 回應。

ConnectionConfigOptions

描述可在建立連線設定時提供的選項。

ConnectionProperties

定義建立AMQP連線時需要設定的屬性。

CreateConnectionContextBaseParameters

描述可用來建立基底連接內容的參數。

NetworkSystemError

描述 Node.js SystemError 上的欄位。 省略與網路呼叫無關的字段(例如文件系統呼叫)。 請參閱 https://nodejs.org/dist/latest-v12.x/docs/api/errors.html#errors_class_systemerror

RetryConfig

描述必須針對重試作業設定的參數。

RetryOptions

判斷模式、重試次數、重試間隔等的重試原則選項。

SendRequestOptions

描述傳送要求時可指定的選項。

WebSocketOptions

透過 Web 套接字設定 AMQP 連線通道的選項。

類型別名

ParsedOutput

使用 T 中定義的可能屬性來定義 物件。

列舉

ConditionErrorNameMapper

將amqp錯誤條件對應至錯誤名稱。

ErrorNameConditionMapper

將錯誤名稱對應至amqp錯誤條件。

RetryMode

描述重試模式類型

RetryOperationType

描述重試作業類型。

SystemErrorConditionMapper

將某些 SystemErrors 對應至 amqp 錯誤狀況

TokenType

描述支援的令牌類型。

函式

delay<T>(number, AbortSignalLike, string, T)

setTimeout 的包裝函式,會在 t 毫秒之後解析承諾。

isMessagingError(MessagingError | Error)

判斷錯誤是否為 MessagingError。

isSystemError(unknown)

檢查所提供的錯誤是否為 node.js SystemError。

parseConnectionString<T>(string)

剖析連接字串,並傳回 T 類型的物件。

連接字串具有下列語法:

ConnectionString ::= Part { ";" Part } [ ";" ] [ WhiteSpace ] Part ::= [ PartLiteral [ “=” PartLiteral ] ] PartLiteral ::= [ WhiteSpace ] Literal [ WhiteSpace ] Literal ::= ? 除了以外的任何字元序列;或 = 或 WhiteSpace ? WhiteSpace ::= ? 所有空格符,包括 \r\n

retry<T>(RetryConfig<T>)

每次作業至少嘗試一次。 如果先前的嘗試失敗並出現可重試的錯誤,則會進行其他嘗試。 其他嘗試的數目是由 maxRetries 自變數上提供的 RetryConfig 屬性所控管。

如果 mode 選項設定為 Fixed,則會在指定的作業上重試指定次數,每次重試之間都會有固定的延遲。

如果 mode 選項設定為 Exponential,則會調整重試之間的延遲,以使用電源 2 的倒退因數,以指數方式增加。

translate(unknown)

將通訊協定層或 SystemError 收到的 AMQP 錯誤轉譯為 MessagingError。 所有其他錯誤都會傳回不變。

變數

AmqpAnnotatedMessage

描述可對 AmqpAnnotatedMessage 執行(或取得)的操作。

AmqpMessageHeader

描述對訊息標頭可執行的操作。

AmqpMessageProperties

描述可對 amqp 訊息屬性執行的操作。

ConnectionConfig

描述 ConnectionConfig 模組

ConnectionContextBase
Constants
defaultCancellableLock

可取消的非同步鎖實例。

logger

這個套件的配置。@azure/logger 這會用命名 azure:event-hubs 空間前綴輸出日誌。

retryableErrors

提供可重試的 AMQP 錯誤清單。 「內部伺服器錯誤」、「ServerBusyError」、「ServiceUnavailableError」、「操作取消錯誤」、「SenderBusyError」、「SenderNotReadyError」、「MessagingError」、「DetachForcedError」、「ConnectionForcedError」、「TransferLimitExceededError」

函式詳細資料

delay<T>(number, AbortSignalLike, string, T)

setTimeout 的包裝函式,會在 t 毫秒之後解析承諾。

function delay<T>(delayInMs: number, abortSignal?: AbortSignalLike, abortErrorMsg?: string, value?: T): Promise<T | void>

參數

delayInMs

number

要延遲的毫秒數。

abortSignal
AbortSignalLike

與包含作業相關聯的abortSignal。

abortErrorMsg

string

與包含作業相關聯的中止錯誤訊息。

value

T

在 t 毫秒逾時之後要解析的值。

傳回

Promise<T | void>

  • 已解決的承諾

isMessagingError(MessagingError | Error)

判斷錯誤是否為 MessagingError。

function isMessagingError(error: MessagingError | Error): error

參數

error

MessagingError | Error

可以是 Error 或 MessagingError 的錯誤。

傳回

error

isSystemError(unknown)

檢查所提供的錯誤是否為 node.js SystemError。

function isSystemError(err: unknown): err

參數

err

unknown

可能包含錯誤信息的物件。

傳回

err

parseConnectionString<T>(string)

剖析連接字串,並傳回 T 類型的物件。

連接字串具有下列語法:

ConnectionString ::= Part { ";" Part } [ ";" ] [ WhiteSpace ] Part ::= [ PartLiteral [ “=” PartLiteral ] ] PartLiteral ::= [ WhiteSpace ] Literal [ WhiteSpace ] Literal ::= ? 除了以外的任何字元序列;或 = 或 WhiteSpace ? WhiteSpace ::= ? 所有空格符,包括 \r\n

function parseConnectionString<T>(connectionString: string): ParsedOutput<T>

參數

connectionString

string

要剖析的連接字串。

傳回

ParsedOutput<T>。

retry<T>(RetryConfig<T>)

每次作業至少嘗試一次。 如果先前的嘗試失敗並出現可重試的錯誤,則會進行其他嘗試。 其他嘗試的數目是由 maxRetries 自變數上提供的 RetryConfig 屬性所控管。

如果 mode 選項設定為 Fixed,則會在指定的作業上重試指定次數,每次重試之間都會有固定的延遲。

如果 mode 選項設定為 Exponential,則會調整重試之間的延遲,以使用電源 2 的倒退因數,以指數方式增加。

function retry<T>(config: RetryConfig<T>): Promise<T>

參數

config

RetryConfig<T>

設定重試作業的參數

傳回

Promise<T>

承諾<T>.

translate(unknown)

將通訊協定層或 SystemError 收到的 AMQP 錯誤轉譯為 MessagingError。 所有其他錯誤都會傳回不變。

function translate(err: unknown): MessagingError | Error

參數

err

unknown

收到的amqp錯誤。

傳回

MessagingError | Error

MessagingError 物件。

Variable Details

AmqpAnnotatedMessage

描述可對 AmqpAnnotatedMessage 執行(或取得)的操作。

AmqpAnnotatedMessage: { fromRheaMessage(msg: Message) => AmqpAnnotatedMessage, toRheaMessage(msg: AmqpAnnotatedMessage) => Message }

類型

{ fromRheaMessage(msg: Message) => AmqpAnnotatedMessage, toRheaMessage(msg: AmqpAnnotatedMessage) => Message }

AmqpMessageHeader

描述對訊息標頭可執行的操作。

AmqpMessageHeader: { fromRheaMessageHeader(props: MessageHeader) => AmqpMessageHeader, toRheaMessageHeader(props: AmqpMessageHeader) => MessageHeader }

類型

{ fromRheaMessageHeader(props: MessageHeader) => AmqpMessageHeader, toRheaMessageHeader(props: AmqpMessageHeader) => MessageHeader }

AmqpMessageProperties

描述可對 amqp 訊息屬性執行的操作。

AmqpMessageProperties: { fromRheaMessageProperties(props: MessageProperties) => AmqpMessageProperties, toRheaMessageProperties(props: AmqpMessageProperties) => MessageProperties }

類型

{ fromRheaMessageProperties(props: MessageProperties) => AmqpMessageProperties, toRheaMessageProperties(props: AmqpMessageProperties) => MessageProperties }

ConnectionConfig

描述 ConnectionConfig 模組

ConnectionConfig: { create(connectionString: string, path?: string) => ConnectionConfig, validate(config: ConnectionConfig, options?: ConnectionConfigOptions) => void }

類型

{ create(connectionString: string, path?: string) => ConnectionConfig, validate(config: ConnectionConfig, options?: ConnectionConfigOptions) => void }

ConnectionContextBase

ConnectionContextBase: { create(parameters: CreateConnectionContextBaseParameters) => ConnectionContextBase }

類型

{ create(parameters: CreateConnectionContextBaseParameters) => ConnectionContextBase }

Constants

Constants: { TCP: "tcp", TLS: "tls", aadEventHubsAudience: "https://eventhubs.azure.net/", aadEventHubsScope: "https://eventhubs.azure.net//.default", aadServiceBusAudience: "https://servicebus.azure.net/", aadServiceBusScope: "https://servicebus.azure.net//.default", aadTokenValidityMarginInMs: 5000, associatedLinkName: "associated-link-name", attachEpoch: "com.microsoft:epoch", cbsEndpoint: "$cbs", cbsReplyTo: "cbs", connectionError: "connection_error", connectionReconnectDelay: 300, dateTimeOffset: "com.microsoft:datetime-offset", deadLetterDescription: "deadletter-description", deadLetterName: "com.microsoft:dead-letter", deadLetterReason: "deadletter-reason", deadLetterSource: "x-opt-deadletter-source", defaultConnectionIdleTimeoutInMs: 60000, defaultConsumerGroup: "$default", defaultDelayBetweenOperationRetriesInMs: 30000, defaultMaxDelayForExponentialRetryInMs: 90000, defaultMaxRetries: 3, defaultMaxRetriesForConnection: 150, defaultOperationTimeoutInMs: 60000, defaultPrefetchCount: 1000, descriptorCodes: { correlationFilterList: 83483426825, falseFilterList: 83483426824, ruleDescriptionList: 1335734829060, sqlFilterList: 83483426822, sqlRuleActionList: 1335734829062, trueFilterList: 83483426823 }, dispositionStatus: "disposition-status", enableReceiverRuntimeMetricName: "com.microsoft:enable-receiver-runtime-metric", enqueueSequenceNumber: "x-opt-enqueue-sequence-number", enqueuedTime: "x-opt-enqueued-time", enqueuedTimeAnnotation: "amqp.annotation.x-opt-enqueued-time", enqueuedTimeUtc: "enqueued-time-utc", ensureContainerAndBlob: "ensureContainerAndBlob", error: "error", errorCondition: "error-condition", establishConnection: "establishConnection", eventHub: "eventhub", fromSequenceNumber: "from-sequence-number", guidSize: 16, lockTokenMapKey: "lock-token", lockTokens: "lock-tokens", lockedUntil: "x-opt-locked-until", management: "$management", managementRequestKey: "managementRequest", maxAbsoluteExpiryTime: number, maxDeadLetterReasonLength: 4096, maxDurationValue: 922337203685477, maxMessageIdLength: 128, maxPartitionKeyLength: 128, maxSessionIdLength: 128, maxUint32Value: 4294967295, maxUserAgentLength: 512, maximumSqlFilterStatementLength: 1024, maximumSqlRuleActionStatementLength: 1024, message: "message", messageCount: "message-count", messageIdMapKey: "message-id", messageState: "x-opt-message-state", minDurationValue: -922337203685477, negotiateCbsKey: "negotiateCbs", negotiateClaim: "negotiateClaim", offset: "x-opt-offset", offsetAnnotation: "amqp.annotation.x-opt-offset", operationPutToken: "put-token", operations: { addRule: "com.microsoft:add-rule", cancelScheduledMessage: "com.microsoft:cancel-scheduled-message", deleteMessages: "com.microsoft:batch-delete-messages", enumerateRules: "com.microsoft:enumerate-rules", enumerateSessions: "com.microsoft:get-message-sessions", getSessionState: "com.microsoft:get-session-state", peekMessage: "com.microsoft:peek-message", putToken: "put-token", read: "READ", receiveBySequenceNumber: "com.microsoft:receive-by-sequence-number", removeRule: "com.microsoft:remove-rule", renewLock: "com.microsoft:renew-lock", renewSessionLock: "com.microsoft:renew-session-lock", scheduleMessage: "com.microsoft:schedule-message", setSessionState: "com.microsoft:set-session-state", updateDisposition: "com.microsoft:update-disposition" }, partition: "partition", partitionId: "partitionId", partitionIdName: "x-opt-partition-id", partitionKey: "x-opt-partition-key", pathDelimiter: "/", propertiesToModify: "properties-to-modify", publisher: "x-opt-publisher-name", readOperation: "READ", receiverError: "receiver_error", receiverIdentifierName: "com.microsoft:receiver-name", receiverSettleMode: "receiver-settle-mode", reconnectLimit: 100, ruleNameMaximumLength: 50, scheduledEnqueueTime: "x-opt-scheduled-enqueue-time", senderError: "sender_error", sequenceNumber: "x-opt-sequence-number", sequenceNumberAnnotation: "amqp.annotation.x-opt-sequence-number", sequenceNumberMapKey: "sequence-number", sequenceNumbers: "sequence-numbers", serverTimeout: "com.microsoft:server-timeout", sessionError: "session_error", sessionFilterName: "com.microsoft:session-filter", sessionIdMapKey: "session-id", statusCode: "status-code", statusDescription: "status-description", timespan: "com.microsoft:timespan", trackingId: "com.microsoft:tracking-id", uri: "com.microsoft:uri", vendorString: "com.microsoft", viaPartitionKey: "x-opt-via-partition-key" }

類型

{ TCP: "tcp", TLS: "tls", aadEventHubsAudience: "https://eventhubs.azure.net/", aadEventHubsScope: "https://eventhubs.azure.net//.default", aadServiceBusAudience: "https://servicebus.azure.net/", aadServiceBusScope: "https://servicebus.azure.net//.default", aadTokenValidityMarginInMs: 5000, associatedLinkName: "associated-link-name", attachEpoch: "com.microsoft:epoch", cbsEndpoint: "$cbs", cbsReplyTo: "cbs", connectionError: "connection_error", connectionReconnectDelay: 300, dateTimeOffset: "com.microsoft:datetime-offset", deadLetterDescription: "deadletter-description", deadLetterName: "com.microsoft:dead-letter", deadLetterReason: "deadletter-reason", deadLetterSource: "x-opt-deadletter-source", defaultConnectionIdleTimeoutInMs: 60000, defaultConsumerGroup: "$default", defaultDelayBetweenOperationRetriesInMs: 30000, defaultMaxDelayForExponentialRetryInMs: 90000, defaultMaxRetries: 3, defaultMaxRetriesForConnection: 150, defaultOperationTimeoutInMs: 60000, defaultPrefetchCount: 1000, descriptorCodes: { correlationFilterList: 83483426825, falseFilterList: 83483426824, ruleDescriptionList: 1335734829060, sqlFilterList: 83483426822, sqlRuleActionList: 1335734829062, trueFilterList: 83483426823 }, dispositionStatus: "disposition-status", enableReceiverRuntimeMetricName: "com.microsoft:enable-receiver-runtime-metric", enqueueSequenceNumber: "x-opt-enqueue-sequence-number", enqueuedTime: "x-opt-enqueued-time", enqueuedTimeAnnotation: "amqp.annotation.x-opt-enqueued-time", enqueuedTimeUtc: "enqueued-time-utc", ensureContainerAndBlob: "ensureContainerAndBlob", error: "error", errorCondition: "error-condition", establishConnection: "establishConnection", eventHub: "eventhub", fromSequenceNumber: "from-sequence-number", guidSize: 16, lockTokenMapKey: "lock-token", lockTokens: "lock-tokens", lockedUntil: "x-opt-locked-until", management: "$management", managementRequestKey: "managementRequest", maxAbsoluteExpiryTime: number, maxDeadLetterReasonLength: 4096, maxDurationValue: 922337203685477, maxMessageIdLength: 128, maxPartitionKeyLength: 128, maxSessionIdLength: 128, maxUint32Value: 4294967295, maxUserAgentLength: 512, maximumSqlFilterStatementLength: 1024, maximumSqlRuleActionStatementLength: 1024, message: "message", messageCount: "message-count", messageIdMapKey: "message-id", messageState: "x-opt-message-state", minDurationValue: -922337203685477, negotiateCbsKey: "negotiateCbs", negotiateClaim: "negotiateClaim", offset: "x-opt-offset", offsetAnnotation: "amqp.annotation.x-opt-offset", operationPutToken: "put-token", operations: { addRule: "com.microsoft:add-rule", cancelScheduledMessage: "com.microsoft:cancel-scheduled-message", deleteMessages: "com.microsoft:batch-delete-messages", enumerateRules: "com.microsoft:enumerate-rules", enumerateSessions: "com.microsoft:get-message-sessions", getSessionState: "com.microsoft:get-session-state", peekMessage: "com.microsoft:peek-message", putToken: "put-token", read: "READ", receiveBySequenceNumber: "com.microsoft:receive-by-sequence-number", removeRule: "com.microsoft:remove-rule", renewLock: "com.microsoft:renew-lock", renewSessionLock: "com.microsoft:renew-session-lock", scheduleMessage: "com.microsoft:schedule-message", setSessionState: "com.microsoft:set-session-state", updateDisposition: "com.microsoft:update-disposition" }, partition: "partition", partitionId: "partitionId", partitionIdName: "x-opt-partition-id", partitionKey: "x-opt-partition-key", pathDelimiter: "/", propertiesToModify: "properties-to-modify", publisher: "x-opt-publisher-name", readOperation: "READ", receiverError: "receiver_error", receiverIdentifierName: "com.microsoft:receiver-name", receiverSettleMode: "receiver-settle-mode", reconnectLimit: 100, ruleNameMaximumLength: 50, scheduledEnqueueTime: "x-opt-scheduled-enqueue-time", senderError: "sender_error", sequenceNumber: "x-opt-sequence-number", sequenceNumberAnnotation: "amqp.annotation.x-opt-sequence-number", sequenceNumberMapKey: "sequence-number", sequenceNumbers: "sequence-numbers", serverTimeout: "com.microsoft:server-timeout", sessionError: "session_error", sessionFilterName: "com.microsoft:session-filter", sessionIdMapKey: "session-id", statusCode: "status-code", statusDescription: "status-description", timespan: "com.microsoft:timespan", trackingId: "com.microsoft:tracking-id", uri: "com.microsoft:uri", vendorString: "com.microsoft", viaPartitionKey: "x-opt-via-partition-key" }

defaultCancellableLock

可取消的非同步鎖實例。

defaultCancellableLock: CancellableAsyncLock

類型

logger

這個套件的配置。@azure/logger 這會用命名 azure:event-hubs 空間前綴輸出日誌。

logger: AzureLogger

類型

retryableErrors

提供可重試的 AMQP 錯誤清單。 「內部伺服器錯誤」、「ServerBusyError」、「ServiceUnavailableError」、「操作取消錯誤」、「SenderBusyError」、「SenderNotReadyError」、「MessagingError」、「DetachForcedError」、「ConnectionForcedError」、「TransferLimitExceededError」

retryableErrors: string[]

類型

string[]