1.0.9 • Published 1 year ago

@skelmen/nestjs-azure-service-bus-module v1.0.9

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Description

Azure Service Bus is a cloud based message broker. You can use Azure Service Bus to send messages between applications or services. It supports AMQP / STOMP protocols, automatic scalability and disaster recovery.

Azure Service Bus module for Nest.js based on the @azure/service-bus package.

Installation

$ npm i --save @skelmen/nestjs-azure-service-bus-module

Usage

Import module

AzureServiceBusModule.forRootAsync([
  {
    name: 'provider_name_1',
    useFactory: (configService: ConfigService) => ({
      connectionString: configService.get('connectionString1'),
      options: {} // Azure service bus client options
    }),
    inject: [ConfigService],
  },
  {
    name: 'provider_name_2',
    useFactory: () => ({
      connectionString: 'connectionString2',
      options: {} // Azure service bus client options
    }),
    inject: [],
  },
]),

Service example

For messages scheduling pass updateTime param to emit method.

@Injectable()
export class AppService {

  constructor(
    @Inject('provider_name_1') private readonly serviceBusClient: AzureServiceBusClient,
  ) { }

  getData(){
    const options = {}; // Azure options for configuring tracing and the abortSignal
    const payload = {
      body: {
        id: '39219'
      }
    };
    this.serviceBusClient.emit({ payload, options });
  }

  scheduleData(){
    const options = {};
    const payload = {
      body: {
        id: '39219'
      }
    };
    // (Optional) For scheduling messages
    const updateTime = new Date('2023-02-20 13:26:00+02');
    this.serviceBusClient.emit({ payload, options, updateTime });
  }
}

Handle events

@Subscribe('service-bus-queue-name')
async handler(data) {
  console.log(data);
}

License

This project is licensed under the MIT License

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago