Udostępnij przez


@azure/core-amqp package

Klasy

CbsClient

Opisuje klienta usługi EventHub/ServiceBus Cbs, który komunikuje się z punktem końcowym $cbs za pośrednictwem połączenia AMQP.

MessagingError

Opisuje klasę podstawową dla błędu obsługi komunikatów.

RequestResponseLink

Opisuje link amqp request(sender)-response(receiver), który jest tworzony za pośrednictwem sesji amqp.

Interfejsów

AcquireLockProperties

Opisuje właściwości, które należy podać podczas uzyskiwania blokady.

CancellableAsyncLock

CancellableAsyncLock zapewnia mechanizm wymuszania wykonywania zadań przy użyciu tego samego "klucza", który ma być wykonywany szeregowo.

Oczekujące zadania można anulować ręcznie za pośrednictwem elementu abortSignal lub automatycznie anulować przez osiągnięcie podanej wartości limitu czasu.

CbsResponse

Opisuje odpowiedź CBS.

ConnectionConfigOptions

Opisuje opcje, które można udostępnić podczas tworzenia konfiguracji połączenia.

ConnectionProperties

Definiuje właściwości, które należy ustawić podczas nawiązywania połączenia amQP.

CreateConnectionContextBaseParameters

Opisuje parametry, które można podać w celu utworzenia kontekstu połączenia podstawowego.

NetworkSystemError

Opisuje pola w Node.js SystemError. Pomija pola, które nie są powiązane z wywołaniami sieci (np. wywołaniami systemu plików). Zobacz https://nodejs.org/dist/latest-v12.x/docs/api/errors.html#errors_class_systemerror

RetryConfig

Opisuje parametry, które należy skonfigurować dla operacji ponawiania.

RetryOptions

Opcje zasad ponawiania, które określają tryb, liczbę ponownych prób, interwał ponawiania prób itp.

SendRequestOptions

Opisuje opcje, które można określić podczas wysyłania żądania.

WebSocketOptions

Opcje konfigurowania kanału połączenia AMQP za pośrednictwem gniazd sieci Web.

Aliasy typu

ParsedOutput

Definiuje obiekt z możliwymi właściwościami zdefiniowanymi w języku T.

Enums

ConditionErrorNameMapper

Mapuje warunki błędu amqp na nazwy błędów.

ErrorNameConditionMapper

Mapuje nazwy błędów na warunki błędu amqp.

RetryMode

Opisuje typ trybu ponawiania prób

RetryOperationType

Opisuje typ operacji ponawiania.

SystemErrorConditionMapper

Mapuje niektóre błędy SystemErrors na warunki błędu amqp

TokenType

Opisuje typ obsługiwanych tokenów.

Functions

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

Otoka setTimeout, która rozwiązuje obietnicę po milisekundach.

isMessagingError(MessagingError | Error)

Określa, czy błąd to MessagingError.

isSystemError(unknown)

Sprawdza, czy podany błąd jest node.js SystemError.

parseConnectionString<T>(string)

Analizuje parametry połączenia i zwraca obiekt typu T.

Parametry połączenia mają następującą składnię:

ConnectionString ::= Part { ";" Part } [ ";" ] [ WhiteSpace ] Part ::= [ PartLiteral [ "=" PartLiteral ] PartLiteral ::= [ WhiteSpace ] Literał [ WhiteSpace ] Literał ::= ? dowolna sekwencja znaków z wyjątkiem ; lub = lub WhiteSpace ? Biała przestrzeń ::= ? wszystkie znaki odstępu, w tym \r i \n ?

retry<T>(RetryConfig<T>)

Każda operacja jest podejmowana co najmniej raz. Dodatkowe próby są podejmowane, jeśli poprzednia próba nie powiodła się z powodu błędu możliwego do ponowienia próby. Liczba dodatkowych prób jest określana przez właściwość maxRetries podaną w argumencie RetryConfig.

Jeśli opcja mode jest ustawiona na Fixed, ponowne próby są wykonywane na danej operacji przez określoną liczbę razy, z stałym opóźnieniem między każdym ponowieniem za każdym razem.

Jeśli opcja mode jest ustawiona na Exponential, opóźnienie między ponownymi próbami jest dostosowywane w celu zwiększenia wykładniczo przy każdej próbie użycia współczynnika wycofywania mocy 2.

translate(unknown)

Tłumaczy błąd PROTOKOŁU AMQP odebrany w warstwie protokołu lub błąd SystemError do błędu MessagingError. Wszystkie inne błędy są zwracane niezniszczone.

Zmiennych

AmqpAnnotatedMessage

Opisuje operacje, które można wykonać na (lub w celu uzyskania) AmqpAnnotatedMessage.

AmqpMessageHeader

Opisuje operacje, które można wykonać na nagłówku wiadomości.

AmqpMessageProperties

Opisuje operacje, które można wykonać na właściwościach wiadomości amqp.

ConnectionConfig

Opisuje moduł ConnectionConfig

ConnectionContextBase
Constants
defaultCancellableLock

Instancja anulowalnego asynchronicznego zamka.

logger

Konfiguracja @azure/logger tego pakietu. To generuje logi z prefiksem azure:event-hubs przestrzeni nazw.

retryableErrors

Zawiera listę powtarzalnych błędów AMQP. "InternalServerError", "ServerBusyError", "ServiceUnavailableError", "OperationCancelledError", "SenderBusyError", "SenderNotReadyError", "MessagingError", "DetachForcedError", "ConnectionForcedError", "TransferLimitExceededError"

Szczegóły funkcji

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

Otoka setTimeout, która rozwiązuje obietnicę po milisekundach.

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

Parametry

delayInMs

number

Liczba milisekund, które mają być opóźnione.

abortSignal
AbortSignalLike

AbortSignal skojarzony z zawierającą operacją.

abortErrorMsg

string

Komunikat o błędzie przerwania skojarzony z zawierającą operacją.

value

T

Wartość, która ma zostać rozpoznana po przekroczeniu limitu czasu t milisekund.

Zwraca

Promise<T | void>

  • Rozwiązana obietnica

isMessagingError(MessagingError | Error)

Określa, czy błąd to MessagingError.

function isMessagingError(error: MessagingError | Error): error

Parametry

error

MessagingError | Error

Błąd, który może być błędem lub komunikatemError.

Zwraca

error

isSystemError(unknown)

Sprawdza, czy podany błąd jest node.js SystemError.

function isSystemError(err: unknown): err

Parametry

err

unknown

Obiekt, który może zawierać informacje o błędzie.

Zwraca

err

parseConnectionString<T>(string)

Analizuje parametry połączenia i zwraca obiekt typu T.

Parametry połączenia mają następującą składnię:

ConnectionString ::= Part { ";" Part } [ ";" ] [ WhiteSpace ] Part ::= [ PartLiteral [ "=" PartLiteral ] PartLiteral ::= [ WhiteSpace ] Literał [ WhiteSpace ] Literał ::= ? dowolna sekwencja znaków z wyjątkiem ; lub = lub WhiteSpace ? Biała przestrzeń ::= ? wszystkie znaki odstępu, w tym \r i \n ?

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

Parametry

connectionString

string

Parametry połączenia, które mają zostać przeanalizowane.

Zwraca

ParsedOutput<T>.

retry<T>(RetryConfig<T>)

Każda operacja jest podejmowana co najmniej raz. Dodatkowe próby są podejmowane, jeśli poprzednia próba nie powiodła się z powodu błędu możliwego do ponowienia próby. Liczba dodatkowych prób jest określana przez właściwość maxRetries podaną w argumencie RetryConfig.

Jeśli opcja mode jest ustawiona na Fixed, ponowne próby są wykonywane na danej operacji przez określoną liczbę razy, z stałym opóźnieniem między każdym ponowieniem za każdym razem.

Jeśli opcja mode jest ustawiona na Exponential, opóźnienie między ponownymi próbami jest dostosowywane w celu zwiększenia wykładniczo przy każdej próbie użycia współczynnika wycofywania mocy 2.

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

Parametry

config

RetryConfig<T>

Parametry konfigurowania operacji ponawiania próby

Zwraca

Promise<T>

Obietnica<T>.

translate(unknown)

Tłumaczy błąd PROTOKOŁU AMQP odebrany w warstwie protokołu lub błąd SystemError do błędu MessagingError. Wszystkie inne błędy są zwracane niezniszczone.

function translate(err: unknown): MessagingError | Error

Parametry

err

unknown

Odebrano błąd amqp.

Zwraca

MessagingError | Error

MessagingError, obiekt.

Variable Details

AmqpAnnotatedMessage

Opisuje operacje, które można wykonać na (lub w celu uzyskania) AmqpAnnotatedMessage.

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

Typ

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

AmqpMessageHeader

Opisuje operacje, które można wykonać na nagłówku wiadomości.

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

Typ

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

AmqpMessageProperties

Opisuje operacje, które można wykonać na właściwościach wiadomości amqp.

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

Typ

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

ConnectionConfig

Opisuje moduł ConnectionConfig

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

Typ

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

ConnectionContextBase

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

Typ

{ 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" }

Typ

{ 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

Instancja anulowalnego asynchronicznego zamka.

defaultCancellableLock: CancellableAsyncLock

Typ

logger

Konfiguracja @azure/logger tego pakietu. To generuje logi z prefiksem azure:event-hubs przestrzeni nazw.

logger: AzureLogger

Typ

retryableErrors

Zawiera listę powtarzalnych błędów AMQP. "InternalServerError", "ServerBusyError", "ServiceUnavailableError", "OperationCancelledError", "SenderBusyError", "SenderNotReadyError", "MessagingError", "DetachForcedError", "ConnectionForcedError", "TransferLimitExceededError"

retryableErrors: string[]

Typ

string[]