Have ideas to improve npm?Join in the discussion! »

    nestjs-s3
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.1 • Public • Published

    NestJS S3

    NPM Version Package License

    Table of Contents

    Description

    Integrates S3 with Nest

    Installation

    npm install nestjs-s3 aws-sdk

    You can also use the interactive CLI

    npx nestjs-modules

    Examples

    docker run \
    -p 9000:9000 \
    -e MINIO_ACCESS_KEY=minio \
    -e MINIO_SECRET_KEY=password \
    minio/minio server /data

    S3Module.forRoot(options, connection?)

    import { Module } from '@nestjs/common';
    import { S3Module } from 'nestjs-s3';
    import { AppController } from './app.controller';
     
    @Module({
      imports: [
        S3Module.forRoot({
          config: {
            accessKeyId: 'minio',
            secretAccessKey: 'password',
            endpoint: 'http://127.0.0.1:9000',
            s3ForcePathStyle: true,
            signatureVersion: 'v4',
          },
        }),
      ],
      controllers: [AppController],
    })
    export class AppModule {}

    S3Module.forRootAsync(options, connection?)

    import { Module } from '@nestjs/common';
    import { S3Module } from 'nestjs-s3';
    import { AppController } from './app.controller';
     
    @Module({
      imports: [
        S3Module.forRootAsync({
          useFactory: () => ({
            config: {
              accessKeyId: 'minio',
              secretAccessKey: 'password',
              endpoint: 'http://localhost:9000',
              s3ForcePathStyle: true,
              signatureVersion: 'v4',
            },
          }),
        }),
      ],
      controllers: [AppController],
    })
    export class AppModule {}

    InjectS3(connection?)

    import { Controller, Get, } from '@nestjs/common';
    import { InjectS3, S3 } from 'nestjs-s3';
     
    @Controller()
    export class AppController {
      constructor(
        @InjectS3() private readonly s3: S3,
      ) {}
     
      @Get()
      async getHello() {
        try {
          await this.s3.createBucket({ Bucket: 'bucket' }).promise();
        } catch (e) {}
     
        try {
          const list = await this.s3.listBuckets().promise();
          return list.Buckets;
        } catch (e) {
          console.log(e);
        }
      }
    }

    License

    MIT

    Install

    npm i nestjs-s3

    DownloadsWeekly Downloads

    2,548

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    13.2 kB

    Total Files

    18

    Last publish

    Collaborators

    • avatar