Skip to content

ifrvn/nestjs-aliyun-tablestore

Repository files navigation

nestjs-aliyun-tablestore

npm License

用于 NestJS 的阿里云表格存储模块。

Aliyun Tablestore module for NestJS.

安装 | Installation

npm install nestjs-aliyun-tablestore

使用 | Usage

根据您的需要导入 TablestoreModule 并配置访问凭证。比如在 app.module.ts 文件中:

Import TablestoreModule and configure access credentials according to your needs. For example, in the app.module.ts file:

import { Module } from '@nestjs/common'
import { TablestoreModule } from 'nestjs-aliyun-tablestore'

@Module({
  // 使用 AK 初始化 Initialize with Access Key
  TablestoreModule.register({
    endpoint: 'https://example.cn-hangzhou.ots.aliyuncs.com',
    accessKeyId: 'your-access-key-id',
    secretAccessKey: 'your-secret-access-key',
    instancename: 'your-instance-name',
    maxRetries: 20, // Optional
  }),
  // 使用 STS 初始化 Initialize with Session Token
  // TablestoreModule.register({
  //   endpoint: 'https://example.cn-hangzhou.ots.aliyuncs.com',
  //   accessKeyId: 'your-access-key-id',
  //   accessKeySecret: 'your-access-key-secret',
  //   instancename: 'your-instance-name',
  //   stsToken: 'your-sts-token',
  // }),
  // ...
})
export class AppModule {}

如果需要使用异步配置的方式:

If you want to use asynchronous configuration:

import { Module } from '@nestjs/common'
import { TablestoreModule } from 'nestjs-aliyun-tablestore'

@Module({
  // 使用 AK 初始化 Initialize with Access Key
  TablestoreModule.registerAsync({
    useFactory: () => {
      return {
        endpoint: 'https://example.cn-hangzhou.ots.aliyuncs.com',
        accessKeyId: 'your-access-key-id',
        secretAccessKey: 'your-secret-access-key',
        instancename: 'your-instance-name',
        maxRetries: 20, // Optional
      }
    }
  }),
  // 使用 STS 初始化 Initialize with Session Token
  // TablestoreModule.registerAsync({
  //   useFactory: () => {
  //     return {
  //       endpoint: 'https://example.cn-hangzhou.ots.aliyuncs.com',
  //       accessKeyId: 'your-access-key-id',
  //       accessKeySecret: 'your-access-key-secret',
  //       instancename: 'your-instance-name',
  //       stsToken: 'your-sts-token',
  //     }
  //   }
  // }),
  // ...
})
export class AppModule {}

之后即可在您的 Service 中通过 TablestoreService 获取 SDK 客户端:

After that, you can get the SDK client through the TablestoreService in your service:

import { Injectable } from '@nestjs/common'
import {
  Client as TablestoreClient,
  TablestoreService,
} from 'nestjs-aliyun-tablestore'

@Injectable()
export class AppService {
  private tablestoreClient: TablestoreClient
  constructor(private tablestore: TablestoreService) {
    this.tablestoreClient = tablestore.getClient()
  }
}

License

MIT License

About

Aliyun Tablestore module for NestJS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published