AWS 是近年来工业界使用最为广泛的云服务提供商之一,其提供了众多的服务,例如 S3、DynamoDB 等。而在使用 AWS 服务时,相信大多数前端工程师或多或少都用到了 AWS SDK。然而,这个 SDK 的 API 设计并不十分友好,且 API 文档也没有提供很好的使用示例。因此作者 @itsjustcon 开发了 npm 包 @itsjustcon/aws-utils,来提供更加方便的 AWS SDK 使用接口。
安装和基本使用
使用 npm 进行安装:
npm install @itsjustcon/aws-utils -S
安装成功后,在代码中使用:
-- -------------------- ---- ------- ------ -------- ---- ------------------------ ----- -- - --------------------------- ------- ------------ ------------ -------------------- ---------------- ----------------------- --- -- -- -- --- ---- ------------------ -------- ----- ----- - -- ----- ---------------- ----------- ---- ------------------ ---
这里的 getS3SDKInstance(options)
提供了简洁高效的 S3 SDK 实例创建方法,避免了 SDK 包的引入及繁琐的实例化过程。
API 设计
getS3SDKInstance(options)
根据传入的 AWS SDK 配置选项(参见 AWS SDK for JavaScript Developer Guide),返回 S3 SDK 实例。使用方法如下:
const s3 = AwsUtils.getS3SDKInstance(options);
getObjectByURL(options)
根据传入的 URL,获取其对应的 S3 对象。URL 必须符合如下格式:
s3://<bucket-name>/<key>
其中,bucket-name
为 S3 Bucket 名称,key
为 Object 在 Bucket 中的 Key。使用方法如下:
AwsUtils.getObjectByURL({ url: 's3://my-bucket/my-object.jpg', region: 'eu-west-2', accessKeyId: 'aws_access_key_id', secretAccessKey: 'aws_secret_access_key' }) .then(response => console.log(response)) .catch(error => console.error(error));
putObjectByURL(options)
向 S3 中上传 Object。URL 必须符合如下格式:
s3://<bucket-name>/<key>
其中,bucket-name
为 S3 Bucket 名称,key
为 Object 在 Bucket 中的 Key。使用方法如下:
-- -------------------- ---- ------- ------------------------- ---- ------------------------------- ------- ------------ ------------ -------------------- ---------------- ------------------------ ----- -------- -- --------- ------------ ------------ -- ------ -------------------------- -- -------------- -- ---------------------- ------------ -- ----------------------
总结
本文介绍了使用 npm 包 @itsjustcon/aws-utils 的方法,以及其提供的 API。相比于 AWS SDK,该 npm 包提供了更加简洁、高效的实例创建与操作方法,使得开发者可以更加专注于业务需求的实现。同时,本文也可以为 AWS SDK 的初学者提供一些有益的指导,以加速其对 AWS SDK 的学习。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055d3881e8991b448daf99