مشاركة عبر


@azure/core-amqp package

الفصول

CbsClient

يصف عميل EventHub/ServiceBus Cbs الذي يتحدث إلى نقطة نهاية $cbs عبر اتصال AMQP.

MessagingError

يصف الفئة الأساسية لخطأ المراسلة.

RequestResponseLink

يصف ارتباط amqp request(sender)-response(receiver) الذي تم إنشاؤه عبر جلسة amqp.

الواجهات

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, AbortSignalLike, string, T)

برنامج تضمين ل setTimeout الذي يحل الوعد بعد t مللي ثانية.

isMessagingError(MessagingError | Error)

تحديد ما إذا كان الخطأ هو MessagingError.

isSystemError(unknown)

التحقق من أن الخطأ المقدم هو node.js SystemError.

parseConnectionString<T>(string)

تحليل سلسلة الاتصال وإرجاع كائن من النوع T.

سلاسل الاتصال لها بناء الجملة التالي:

ConnectionString ::= Part { ";" Part } [ ";" ] [ WhiteSpace ] الجزء ::= [ PartLiteral [ "=" PartLiteral ] PartLiteral ::= [ WhiteSpace ] Literal [ WhiteSpace ] Literal ::= أي تسلسل من الأحرف باستثناء ؛ أو = أو WhiteSpace؟ WhiteSpace ::= ؟ جميع أحرف المسافة البيضاء بما في ذلك \r\n؟

retry<T>(RetryConfig<T>)

تتم محاولة كل عملية مرة واحدة على الأقل. يتم إجراء محاولات إضافية إذا فشلت المحاولة السابقة مع خطأ قابل لإعادة المحاولة. يخضع عدد المحاولات الإضافية للخاصية maxRetries المتوفرة في الوسيطة RetryConfig.

إذا تم تعيين خيار mode إلى Fixed، إجراء عمليات إعادة المحاولة على العملية المحددة لعدد محدد من المرات، مع تأخير ثابت بين كل إعادة محاولة في كل مرة.

إذا تم تعيين خيار mode إلى Exponential، ضبط التأخير بين عمليات إعادة المحاولة للزيادة بشكل كبير مع كل محاولة باستخدام عامل التراجع للطاقة 2.

translate(unknown)

يترجم خطأ AMQP المستلم في طبقة البروتوكول أو SystemError إلى MessagingError. يتم إرجاع كافة الأخطاء الأخرى دون تغيير.

المتغيرات

AmqpAnnotatedMessage

يصف العمليات التي يمكن تنفيذها على (أو الحصول عليها) رسالة AmqpAnnotated.

AmqpMessageHeader

يصف العمليات التي يمكن تنفيذها على رأس الرسالة.

AmqpMessageProperties

يصف العمليات التي يمكن تنفيذها على خصائص رسالة amqp.

ConnectionConfig

وصف وحدة ConnectionConfig

ConnectionContextBase
Constants
defaultCancellableLock

نسخة القفل غير المتزامن القابلة للإلغاء.

logger

@azure/logger تكوين هذه الحزمة. هذا سيخرج السجلات باستخدام azure:event-hubs بادئة مساحة الاسم.

retryableErrors

يوفر قائمة بأخطاء AMQP القابلة لإعادة المحاولة. "InternalServerError"، "ServerBusyError"، "ServiceUnavailableError"، "OperationCancelledError"، "SenderBusyError"، "SenderNotReadyError"، "MessagingError"، "DetachForced Error"، "ConnectionForcedError"، "TransferLimitExceedError"

تفاصيل الوظيفة

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

القيمة التي سيتم حلها بعد انتهاء مهلة ميلي ثانية.

المرتجعات

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 ::= أي تسلسل من الأحرف باستثناء ؛ أو = أو WhiteSpace؟ WhiteSpace ::= ؟ جميع أحرف المسافة البيضاء بما في ذلك \r\n؟

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

المعلمات

connectionString

string

سلسلة الاتصال التي سيتم تحليلها.

المرتجعات

تحليل الإخراج<ت>.

retry<T>(RetryConfig<T>)

تتم محاولة كل عملية مرة واحدة على الأقل. يتم إجراء محاولات إضافية إذا فشلت المحاولة السابقة مع خطأ قابل لإعادة المحاولة. يخضع عدد المحاولات الإضافية للخاصية maxRetries المتوفرة في الوسيطة RetryConfig.

إذا تم تعيين خيار mode إلى Fixed، إجراء عمليات إعادة المحاولة على العملية المحددة لعدد محدد من المرات، مع تأخير ثابت بين كل إعادة محاولة في كل مرة.

إذا تم تعيين خيار mode إلى Exponential، ضبط التأخير بين عمليات إعادة المحاولة للزيادة بشكل كبير مع كل محاولة باستخدام عامل التراجع للطاقة 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

يصف العمليات التي يمكن تنفيذها على (أو الحصول عليها) رسالة AmqpAnnotated.

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"، "DetachForced Error"، "ConnectionForcedError"، "TransferLimitExceedError"

retryableErrors: string[]

النوع

string[]