@azure/core-amqp package
클래스
| CbsClient |
AMQP 연결을 통해 $cbs 엔드포인트와 대화하는 EventHub/ServiceBus Cbs 클라이언트에 대해 설명합니다. |
| MessagingError |
메시징 오류의 기본 클래스에 대해 설명합니다. |
| RequestResponseLink |
amqp 세션을 통해 만들어진 amqp request(sender)-response(수신기) 링크를 설명합니다. |
인터페이스
| AcquireLockProperties |
잠금을 획득하는 동안 제공해야 하는 속성에 대해 설명합니다. |
| CancellableAsyncLock |
CancellableAsyncLock은 동일한 '키'를 사용하여 작업을 직렬로 실행하도록 강제하는 메커니즘을 제공합니다. 보류 중인 작업은 abortSignal을 통해 수동으로 취소하거나 제공된 시간 제한 값에 도달하여 자동으로 취소할 수 있습니다. |
| 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 |
웹 소켓을 통해 AMQP 연결의 채널링을 구성하는 옵션입니다. |
형식 별칭
| ParsedOutput |
가능한 속성이 T에 정의된 개체를 정의합니다. |
열거형
| ConditionErrorNameMapper |
amqp 오류 조건을 오류 이름에 매핑합니다. |
| ErrorNameConditionMapper |
오류 이름을 amqp 오류 조건에 매핑합니다. |
| RetryMode |
재시도 모드 유형에 대해 설명합니다. |
| RetryOperationType |
재시도 작업 유형을 설명합니다. |
| SystemErrorConditionMapper |
일부 SystemErrors를 amqp 오류 조건에 매핑 |
| TokenType |
지원되는 토큰의 형식을 설명합니다. |
함수
| delay<T>(number, Abort |
밀리초 후 약속을 확인하는 setTimeout에 대한 래퍼입니다. |
| 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 오류 목록을 제공합니다. "내부 서버에러", "서버비우수 오류", "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
포함하는 작업과 연결된 abortSignal입니다.
- 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 ] Literal [ WhiteSpace ] Literal ::= ? 를 제외한 모든 문자 시퀀스 또는 = 또는 공백 ?
공백 ::= ?
\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
이 패키지의 구성입니다 @azure/logger .
이 모드는 네임스페이스 접두사를 사용하여 azure:event-hubs 로그를 출력합니다.
logger: AzureLogger
형식
retryableErrors
재시도 가능한 AMQP 오류 목록을 제공합니다. "내부 서버에러", "서버비우수 오류", "ServiceUnavailableError", "OperationCancelledError", "SenderBusyError", "SenderNotReadyError", "MessagingError", "DetachForcedError", "ConnectionForcedError", "TransferLimitExceededError"
retryableErrors: string[]
형식
string[]