繁体   English   中英

使用“@aws-sdk/client-sqs”和“aws-sdk/clients/sqs”有什么区别

[英]Whats is the difference between using '@aws-sdk/client-sqs' and 'aws-sdk/clients/sqs'

@aws-sdk/client-sqsaws-sdk/clients/sqs在声明方面存在一些差异,但功能如何? 选择其中任何一个是否有单一的含义?

使用@aws-sdk/client-sqs

import { SQSClient, ListQueuesCommand } from '@aws-sdk/client-sqs';

export default class SQSHelper {
    client: SQSClient;

    constructor(region: string) {
        this.client = new SQSClient({ region });
    }

    listQueues() {
        return new Promise((resolve, reject) => {
            this.client.send(new ListQueuesCommand({}), (err, data) => {
                if (err) {
                    reject(err);
                } else {
                    resolve(data);
                }
            });
        }
        );
    }
}

使用aws-sdk/clients/sqs

import SQSClient from 'aws-sdk/clients/sqs';

export default class SQSHelper {
    client: SQSClient;

    constructor(region: string) {
        this.client = new SQSClient({ region });
    }

    listQueues() {
        return new Promise((resolve, reject) => {
            this.client.listQueues({}, (err, data) => {
                if (err) {
                    reject(err);
                } else {
                    resolve(data);
                }
            });
        }
        );
    }
}

SDK v3 与 v2。 @aws-sdk/client-sqsJavaScript v3 的 AWS SDK 的一部分。 客户端包在 v3 中是模块化的,现在是 GA。 aws-sdk/clients/sqs来自 v2,其中包括一个大的 package 中的所有客户端。

@aws-sdk/client-sqs是 AWS JavaScript SDK 版本 3 的一部分。aws aws-sdk/clients/sqs是 V2 JavaScript SDK 的一部分。

从今天开始,您可以在 Lambda 中使用 V2 SDK,而无需向 Lambda package 添加任何其他依赖项,也无需创建新的 Lambda 层。 这种支持很可能会在未来出现在 V3 中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM