@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, Abort |
setTimeout 的包裝函式,會在 t 毫秒之後解析承諾。 |
| is |
判斷錯誤是否為 MessagingError。 |
| is |
檢查所提供的錯誤是否為 node.js SystemError。 |
| parse |
剖析連接字串,並傳回 T 類型的物件。 連接字串具有下列語法: ConnectionString ::= |
| retry<T>(Retry |
每次作業至少嘗試一次。 如果先前的嘗試失敗並出現可重試的錯誤,則會進行其他嘗試。 其他嘗試的數目是由 如果 如果 |
| translate(unknown) | 將通訊協定層或 SystemError 收到的 AMQP 錯誤轉譯為 MessagingError。 所有其他錯誤都會傳回不變。 |
變數
| Amqp |
描述可對 AmqpAnnotatedMessage 執行(或取得)的操作。 |
| Amqp |
描述對訊息標頭可執行的操作。 |
| Amqp |
描述可對 amqp 訊息屬性執行的操作。 |
| Connection |
描述 ConnectionConfig 模組 |
| Connection |
|
| Constants | |
| default |
可取消的非同步鎖實例。 |
| logger | 這個套件的配置。@azure/logger
這會用命名 |
| retryable |
提供可重試的 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>
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
logger
retryableErrors
提供可重試的 AMQP 錯誤清單。 「內部伺服器錯誤」、「ServerBusyError」、「ServiceUnavailableError」、「操作取消錯誤」、「SenderBusyError」、「SenderNotReadyError」、「MessagingError」、「DetachForcedError」、「ConnectionForcedError」、「TransferLimitExceededError」
retryableErrors: string[]
類型
string[]