Partilhar via


@azure/core-amqp package

Classes

CbsClient

Descreve o cliente Cbs do EventHub/ServiceBus que conversa com o ponto de extremidade $cbs pela conexão AMQP.

MessagingError

Descreve a classe base para Erro de mensagens.

RequestResponseLink

Descreve um link amqp request(sender)-response(receiver) que é criado em uma sessão amqp.

Interfaces

AcquireLockProperties

Descreve as propriedades que devem ser fornecidas durante a aquisição de um bloqueio.

CancellableAsyncLock

CancellableAsyncLock fornece um mecanismo para forçar tarefas usando a mesma 'chave' a serem executadas em série.

As tarefas pendentes podem ser canceladas manualmente através de um abortSignal ou canceladas automaticamente ao atingir um valor de tempo limite fornecido.

CbsResponse

Descreve a resposta CBS.

ConnectionConfigOptions

Descreve as opções que podem ser fornecidas durante a criação de uma configuração de conexão.

ConnectionProperties

Define as propriedades que precisam ser definidas ao estabelecer a conexão AMQP.

CreateConnectionContextBaseParameters

Descreve os parâmetros que podem ser fornecidos para criar o contexto de conexão base.

NetworkSystemError

Descreve os campos em um Node.js SystemError. Omite campos que não estão relacionados a chamadas de rede (por exemplo, chamadas do sistema de arquivos). Visualizar https://nodejs.org/dist/latest-v12.x/docs/api/errors.html#errors_class_systemerror

RetryConfig

Descreve os parâmetros que precisam ser configurados para a operação de nova tentativa.

RetryOptions

Opções de política de repetição que determinam o modo, o número de tentativas, o intervalo de repetição etc.

SendRequestOptions

Descreve as opções que podem ser especificadas durante o envio de uma solicitação.

WebSocketOptions

Opções para configurar a canalização da conexão AMQP através de Web Sockets.

Alias de Tipo

ParsedOutput

Define um objeto com possíveis propriedades definidas em T.

Enums

ConditionErrorNameMapper

Mapeia as condições de erro amqp para os nomes de erro.

ErrorNameConditionMapper

Mapeia os nomes de erro para as condições de erro amqp.

RetryMode

Descreve o tipo de Modo de Repetição

RetryOperationType

Descreve o tipo de operação de nova tentativa.

SystemErrorConditionMapper

Mapeia alguns SystemErrors para condições de erro amqp

TokenType

Descreve o tipo de tokens suportados.

Funções

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

Um wrapper para setTimeout que resolve uma promessa após t milissegundos.

isMessagingError(MessagingError | Error)

Determina se um erro é um MessagingError.

isSystemError(unknown)

Verifica se o erro fornecido é um node.js SystemError.

parseConnectionString<T>(string)

Analisa a cadeia de conexão e retorna um objeto do tipo T.

As cadeias de conexão têm a seguinte sintaxe:

ConnectionString ::= Part { ";" Part } [ ";" ] [ WhiteSpace ] Part ::= [ PartLiteral [ "=" PartLiteral ] ] PartLiteral ::= [ Espaço em Branco ] Literal [ Espaço em Branco ] Literal ::= ? qualquer sequência de caracteres, exceto ; ou = ou Espaço em Branco ? Espaço em branco ::= ? todos os caracteres de espaço em branco, incluindo \r e \n ?

retry<T>(RetryConfig<T>)

Cada operação é tentada pelo menos uma vez. Tentativas adicionais são feitas se a tentativa anterior falhou com um erro retentável. O número de tentativas adicionais é regido pela propriedade maxRetries fornecida no argumento RetryConfig.

Se mode opção estiver definida como Fixed, as novas tentativas serão feitas na operação dada por um número especificado de vezes, com um atraso fixo entre cada nova tentativa.

Se mode opção estiver definida como Exponential, o atraso entre novas tentativas é ajustado para aumentar exponencialmente com cada tentativa usando o fator de back-off de potência 2.

translate(unknown)

Traduz o erro AMQP recebido na camada de protocolo ou um SystemError em um MessagingError. Todos os outros erros são retornados inalterados.

Variáveis

AmqpAnnotatedMessage

Descreve as operações que podem ser realizadas (ou para obter) a AmqpAnnotatedMessage.

AmqpMessageHeader

Descreve as operações que podem ser realizadas no cabeçalho da mensagem.

AmqpMessageProperties

Descreve as operações que podem ser realizadas nas propriedades da mensagem amqp.

ConnectionConfig

Descreve o módulo ConnectionConfig

ConnectionContextBase
Constants
defaultCancellableLock

A instância de bloqueio assíncrono cancelável.

logger

A @azure/logger configuração deste pacote. Isto irá gerar registos usando o prefixo azure:event-hubs de namespace.

retryableErrors

Fornece uma lista de erros AMQP retentáveis. "ErradoServidorInterno", "ErrorOcupadoDeServidor", "Erro-ServiçoIndisponível", "ErrorOperacionalCancelado", "ErrorOcupadoDeEnviante", "ErrorNãoProntoErro", "ErrorMensagem", "ErrorForçadoForçado", "ErrorForçadoConexão", "LimitTransferExceedError"

Detalhes da Função

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

Um wrapper para setTimeout que resolve uma promessa após t milissegundos.

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

Parâmetros

delayInMs

number

O número de milissegundos a atrasar.

abortSignal
AbortSignalLike

O abortSignal associado à operação de contenção.

abortErrorMsg

string

A mensagem de erro de anulação associada à operação de contenção.

value

T

O valor a ser resolvido após um tempo limite de t milissegundos.

Regressos

Promise<T | void>

  • Promessa resolvida

isMessagingError(MessagingError | Error)

Determina se um erro é um MessagingError.

function isMessagingError(error: MessagingError | Error): error

Parâmetros

error

MessagingError | Error

Um erro que pode ser um Error ou um MessagingError.

Regressos

error

isSystemError(unknown)

Verifica se o erro fornecido é um node.js SystemError.

function isSystemError(err: unknown): err

Parâmetros

err

unknown

Um objeto que pode conter informações de erro.

Regressos

err

parseConnectionString<T>(string)

Analisa a cadeia de conexão e retorna um objeto do tipo T.

As cadeias de conexão têm a seguinte sintaxe:

ConnectionString ::= Part { ";" Part } [ ";" ] [ WhiteSpace ] Part ::= [ PartLiteral [ "=" PartLiteral ] ] PartLiteral ::= [ Espaço em Branco ] Literal [ Espaço em Branco ] Literal ::= ? qualquer sequência de caracteres, exceto ; ou = ou Espaço em Branco ? Espaço em branco ::= ? todos os caracteres de espaço em branco, incluindo \r e \n ?

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

Parâmetros

connectionString

string

A cadeia de conexão a ser analisada.

Regressos

ParsedOutput<T>.

retry<T>(RetryConfig<T>)

Cada operação é tentada pelo menos uma vez. Tentativas adicionais são feitas se a tentativa anterior falhou com um erro retentável. O número de tentativas adicionais é regido pela propriedade maxRetries fornecida no argumento RetryConfig.

Se mode opção estiver definida como Fixed, as novas tentativas serão feitas na operação dada por um número especificado de vezes, com um atraso fixo entre cada nova tentativa.

Se mode opção estiver definida como Exponential, o atraso entre novas tentativas é ajustado para aumentar exponencialmente com cada tentativa usando o fator de back-off de potência 2.

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

Parâmetros

config

RetryConfig<T>

Parâmetros para configurar a operação de repetição

Regressos

Promise<T>

Promessa<T>.

translate(unknown)

Traduz o erro AMQP recebido na camada de protocolo ou um SystemError em um MessagingError. Todos os outros erros são retornados inalterados.

function translate(err: unknown): MessagingError | Error

Parâmetros

err

unknown

O erro amqp que foi recebido.

Regressos

MessagingError | Error

MessagingError objeto.

Variable Details

AmqpAnnotatedMessage

Descreve as operações que podem ser realizadas (ou para obter) a AmqpAnnotatedMessage.

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

Tipo

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

AmqpMessageHeader

Descreve as operações que podem ser realizadas no cabeçalho da mensagem.

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

Tipo

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

AmqpMessageProperties

Descreve as operações que podem ser realizadas nas propriedades da mensagem amqp.

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

Tipo

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

ConnectionConfig

Descreve o módulo ConnectionConfig

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

Tipo

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

ConnectionContextBase

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

Tipo

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

Tipo

{ 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

A instância de bloqueio assíncrono cancelável.

defaultCancellableLock: CancellableAsyncLock

Tipo

logger

A @azure/logger configuração deste pacote. Isto irá gerar registos usando o prefixo azure:event-hubs de namespace.

logger: AzureLogger

Tipo

retryableErrors

Fornece uma lista de erros AMQP retentáveis. "ErradoServidorInterno", "ErrorOcupadoDeServidor", "Erro-ServiçoIndisponível", "ErrorOperacionalCancelado", "ErrorOcupadoDeEnviante", "ErrorNãoProntoErro", "ErrorMensagem", "ErrorForçadoForçado", "ErrorForçadoConexão", "LimitTransferExceedError"

retryableErrors: string[]

Tipo

string[]