Поделиться через


@azure/core-amqp package

Классы

CbsClient

Описывает клиент EventHub/ServiceBus Cbs, который взаимодействует с конечной точкой $cbs через подключение AMQP.

MessagingError

Описывает базовый класс для ошибки обмена сообщениями.

RequestResponseLink

Описывает ссылку amqp request(sender)-response(receiver), созданную через сеанс amqp.

Интерфейсы

AcquireLockProperties

Описывает свойства, которые необходимо предоставить при получении блокировки.

CancellableAsyncLock

CancellableAsyncLock предоставляет механизм принудительного выполнения задач с помощью одного и того же ключа, выполняемого последовательно.

Ожидающие задачи можно вручную отменить с помощью прерывания или автоматически отменить, достигнув заданного значения времени ожидания.

CbsResponse

Описывает ответ CBS.

ConnectionConfigOptions

Описывает параметры, которые можно предоставить при создании конфигурации подключения.

ConnectionProperties

Определяет свойства, которые необходимо задать при установке подключения AMQP.

CreateConnectionContextBaseParameters

Описывает параметры, которые можно предоставить для создания контекста базового подключения.

NetworkSystemError

Описывает поля в Node.js SystemError. Поля Omits, которые не связаны с сетевыми вызовами (например, вызовы файловой системы). См. https://nodejs.org/dist/latest-v12.x/docs/api/errors.html#errors_class_systemerror

RetryConfig

Описывает параметры, которые необходимо настроить для операции повтора.

RetryOptions

Параметры политики повторных попыток, определяющие режим, количество повторных попыток, интервал повторных попыток и т. д.

SendRequestOptions

Описывает параметры, которые можно указать при отправке запроса.

WebSocketOptions

Параметры настройки канала подключения AMQP через веб-сокеты.

Псевдонимы типа

ParsedOutput

Определяет объект с возможными свойствами, определенными в T.

Перечисления

ConditionErrorNameMapper

Сопоставляет условия ошибки amqp с именами ошибок.

ErrorNameConditionMapper

Сопоставляет имена ошибок с условиями ошибки amqp.

RetryMode

Описание типа режима повтора

RetryOperationType

Описывает тип операции повтора.

SystemErrorConditionMapper

Сопоставляет некоторые systemErrors с условиями ошибки amqp

TokenType

Описывает тип поддерживаемых маркеров.

Функции

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

Оболочка для setTimeout, разрешающая обещание после миллисекунда.

isMessagingError(MessagingError | Error)

Определяет, является ли ошибка в MessagingError.

isSystemError(unknown)

Проверяет, является ли указанная ошибка node.js SystemError.

parseConnectionString<T>(string)

Анализирует строку подключения и возвращает объект типа T.

Строки подключения имеют следующий синтаксис:

ConnectionString ::= Part { ";" Part } [ ";" ] [ WhiteSpace ] часть ::= [ PartLiteral [ "=" PartLiteral ] PartLiteral ::= [ WhiteSpace ] Литерал [ Пробелы ] Литерал ::= ? любая последовательность символов, кроме ; or = или WhiteSpace ? Пробелы ::= ? все символы пробелов, включая \r и \n?

retry<T>(RetryConfig<T>)

Каждая операция выполняется по крайней мере один раз. Дополнительные попытки выполняются, если предыдущая попытка завершилась ошибкой повторной попытки. Количество дополнительных попыток регулируется свойством maxRetries, предоставленным в аргументе RetryConfig.

Если для параметра mode задано значение Fixed, то повторные попытки выполняются для заданного количества раз с фиксированной задержкой между каждой повторными попытками каждый раз.

Если для параметра mode задано значение Exponential, то задержка между повторными попытками корректируется, чтобы увеличить экспоненциально при каждой попытке использования коэффициента обратного отключения power 2.

translate(unknown)

Преобразует ошибку AMQP, полученную на уровне протокола или SystemError, в MessagingError. Все остальные ошибки возвращаются неуправляемые.

Переменные

AmqpAnnotatedMessage

Описывает операции, которые могут быть выполнены на AmqpAnnotatedMessage (или для получения) его.

AmqpMessageHeader

Описывает операции, которые можно выполнить над заголовком сообщения.

AmqpMessageProperties

Описывает операции, которые можно выполнять над свойствами сообщения amqp.

ConnectionConfig

Описывает модуль ConnectionConfig

ConnectionContextBase
Constants
defaultCancellableLock

Отменяемый экземпляр асинхронной блокировки.

logger

@azure/logger Конфигурация для этого пакета. Это будет выводить логи с использованием префикса azure:event-hubs пространства имён.

retryableErrors

Предоставляет список повторяемых ошибок AMQP. "InternalServerError", "ServerBusyError", "ServiceUnavailableError", "OperationCancelledError", "SenderBusyError", "SenderNotReadyError", "MessagingError", "DetachForcedError", "ConnectionForcedError", "TransferLimitExceededError"

Сведения о функции

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

Оболочка для setTimeout, разрешающая обещание после миллисекунда.

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

Параметры

delayInMs

number

Число отложенных миллисекундах.

abortSignal
AbortSignalLike

ПрерываниеSignal, связанное с содержащей операцией.

abortErrorMsg

string

Сообщение об ошибке прерывания, связанное с содержащей операцией.

value

T

Значение, которое необходимо устранить после истечения времени ожидания миллисекунда.

Возвращаемое значение

Promise<T | void>

  • Разрешенное обещание

isMessagingError(MessagingError | Error)

Определяет, является ли ошибка в MessagingError.

function isMessagingError(error: MessagingError | Error): error

Параметры

error

MessagingError | Error

Ошибка, которая может быть ошибкой или messagingError.

Возвращаемое значение

error

isSystemError(unknown)

Проверяет, является ли указанная ошибка node.js SystemError.

function isSystemError(err: unknown): err

Параметры

err

unknown

Объект, который может содержать сведения об ошибке.

Возвращаемое значение

err

parseConnectionString<T>(string)

Анализирует строку подключения и возвращает объект типа T.

Строки подключения имеют следующий синтаксис:

ConnectionString ::= Part { ";" Part } [ ";" ] [ WhiteSpace ] часть ::= [ PartLiteral [ "=" PartLiteral ] PartLiteral ::= [ WhiteSpace ] Литерал [ Пробелы ] Литерал ::= ? любая последовательность символов, кроме ; or = или WhiteSpace ? Пробелы ::= ? все символы пробелов, включая \r и \n?

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

Параметры

connectionString

string

Строка подключения для синтаксического анализа.

Возвращаемое значение

ParsedOutput<T>.

retry<T>(RetryConfig<T>)

Каждая операция выполняется по крайней мере один раз. Дополнительные попытки выполняются, если предыдущая попытка завершилась ошибкой повторной попытки. Количество дополнительных попыток регулируется свойством maxRetries, предоставленным в аргументе RetryConfig.

Если для параметра mode задано значение Fixed, то повторные попытки выполняются для заданного количества раз с фиксированной задержкой между каждой повторными попытками каждый раз.

Если для параметра mode задано значение Exponential, то задержка между повторными попытками корректируется, чтобы увеличить экспоненциально при каждой попытке использования коэффициента обратного отключения power 2.

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

Параметры

config

RetryConfig<T>

Параметры для настройки операции повтора

Возвращаемое значение

Promise<T>

Обещание<Т>.

translate(unknown)

Преобразует ошибку AMQP, полученную на уровне протокола или SystemError, в 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. "InternalServerError", "ServerBusyError", "ServiceUnavailableError", "OperationCancelledError", "SenderBusyError", "SenderNotReadyError", "MessagingError", "DetachForcedError", "ConnectionForcedError", "TransferLimitExceededError"

retryableErrors: string[]

Тип

string[]