@juntoz/azure-service-bus-sender
Version:
Quick logger that enables the function to log to the default logger (console) and also to papertrail
43 lines (42 loc) • 1.99 kB
TypeScript
import { ServiceBusClient, TopicClient, SubscriptionClient, QueueClient, Sender, Receiver, SendableMessageInfo } from "@azure/service-bus";
export interface ArrayOf<T> {
[name: string]: T;
}
export interface ServiceBusClientExt extends ServiceBusClient {
topicClients: TopicClientExt[];
subscriptionClients: SubscriptionClientExt[];
queueClients: QueueClientExt[];
}
export interface TopicClientExt extends TopicClient {
sender: Sender;
}
export interface QueueClientExt extends QueueClient {
sender: Sender;
}
export interface SubscriptionClientExt extends SubscriptionClient {
receiver: Receiver;
}
export interface AzureServiceBusSenderInt {
maxBatch(): number;
sendToTopic(topicName: string, message: SendableMessageInfo): Promise<void>;
sendBatchToTopic(topicName: string, messages: SendableMessageInfo[], moreProperties?: any): Promise<void>;
sendToQueue(queueName: string, message: SendableMessageInfo): Promise<void>;
sendBatchToQueue(queueName: string, messages: SendableMessageInfo[], moreProperties?: any): Promise<void>;
}
export declare class AzureServiceBusSender implements AzureServiceBusSenderInt {
private senderName;
private connectionString;
private busClient;
constructor(senderName: string, connectionString: string);
maxBatch(): number;
private ensureClient;
private ensureTopicSender;
private injectMessage;
sendToTopic(topicName: string, message: SendableMessageInfo): Promise<void>;
sendBatchToTopic(topicName: string, messages: SendableMessageInfo[], moreProperties?: any): Promise<void>;
createSubscriptionReceiver(topicName: string, subscriptionName: string): Receiver;
private ensureQueueSender;
sendToQueue(queueName: string, message: SendableMessageInfo): Promise<void>;
sendBatchToQueue(queueName: string, messages: SendableMessageInfo[], moreProperties?: any): Promise<void>;
cleanup(): Promise<void>;
}