@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, Abort |
برنامج تضمين ل setTimeout الذي يحل الوعد بعد t مللي ثانية. |
| is |
تحديد ما إذا كان الخطأ هو MessagingError. |
| is |
التحقق من أن الخطأ المقدم هو node.js SystemError. |
| parse |
تحليل سلسلة الاتصال وإرجاع كائن من النوع T. سلاسل الاتصال لها بناء الجملة التالي: ConnectionString ::= |
| retry<T>(Retry |
تتم محاولة كل عملية مرة واحدة على الأقل. يتم إجراء محاولات إضافية إذا فشلت المحاولة السابقة مع خطأ قابل لإعادة المحاولة. يخضع عدد المحاولات الإضافية للخاصية إذا تم تعيين خيار إذا تم تعيين خيار |
| translate(unknown) | يترجم خطأ AMQP المستلم في طبقة البروتوكول أو SystemError إلى MessagingError. يتم إرجاع كافة الأخطاء الأخرى دون تغيير. |
المتغيرات
| Amqp |
يصف العمليات التي يمكن تنفيذها على (أو الحصول عليها) رسالة AmqpAnnotated. |
| Amqp |
يصف العمليات التي يمكن تنفيذها على رأس الرسالة. |
| Amqp |
يصف العمليات التي يمكن تنفيذها على خصائص رسالة amqp. |
| Connection |
وصف وحدة ConnectionConfig |
| Connection |
|
| Constants | |
| default |
نسخة القفل غير المتزامن القابلة للإلغاء. |
| logger |
@azure/logger تكوين هذه الحزمة.
هذا سيخرج السجلات باستخدام |
| retryable |
يوفر قائمة بأخطاء 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
سلسلة الاتصال التي سيتم تحليلها.
المرتجعات
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>
وعد<ت.>
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[]