输入关键字搜索文档

SDK-Node.js

概述

本文档基于 AWS Node.js SDK 编写。土星云对象存储兼容 AWS S3 接口,兼容接口详情请在 API 参考-API 概览查看

开发准备

npm 引入

开发前需先安装环境依赖: npm 地址

SDK 获取

为 Node.js 安装 SDK 的首选方法是使用 Node.js 程序包管理器 npm。要执行此操作,请在命令行中键入此内容。

npm install aws-sdk

说明 如果您在安装中遇到如下错误消息:

npm uninstall --save node-uuid
npm install --save uuid

开发环境

使用 SDK 需要您的运行环境包含 nodejs 以及 npm,nodejs 版本建议 7.0 版本以上。 在安装完成 npm 后,您还需要安装 npm 依赖包,在 SDK 的解压目录执行 npm install。 到 控制台 Access Key 管理 获取您的项目 AccessKeyId 和 AccessKeySecret。

说明

关于本文出现的 AccessKeyId 、 AccessKeySecret 、Bucket 等名称的含义请参考: 产品概述-基本概念

创建 client

土星云 OSS 兼容绝大多数 AWS S3 API。

在 Node.js 中使用开发工具包时,您使用 require 将开发工具包添加到应用程序。

1. 引入整个开发工具包

var AWS = require('aws-sdk');

如果您仅使用土星云 OSS 建议您采用仅引入对象存储服务方式,由此,通过网络传输的代码量以及代码的内存开销都会显著减少。

2.仅引入对象存储服务

如下所示是当只包含开发工具包的对象存储部分。

// Import the AWS SDK only for S3
var AWS = require('aws-sdk');
var s3 = new AWS.S3({ apiVersion: '2021-04-22' });
s3.endpoint = 'https://s3.local-north-1.saturncloud.com.cn:6666';
s3.config.update({
  accessKeyId: 'your_accessKeyId',
  secretAccessKey: 'your_secretAccessKey',
  signatureVersion: 'v4',
});

快速入门

说明 使用 SDK 创建 Bucket 前必须在 OSS 控制台,注册并认证对象存储。 您也可通过控制台创建 Bucket。

创建存储空间(Bucket)

var AWS = require('aws-sdk');
// Import the AWS SDK only for S3
var s3 = new AWS.S3({ apiVersion: '2021-04-22' });
s3.endpoint = 'https://s3.local-north-1.saturncloud.com.cn:6666';
s3.config.update({
  accessKeyId: 'XXXXXXXXXXXXXXXXXXXXXXXXXX',
  secretAccessKey: 'yyyyyyyyyyyyyyyyyyyyyyyyyyy',
  signatureVersion: 'v4',
});
// Create Bucket
var newBuket = {
  Bucket: 'bucket-one',
};
s3.createBucket(newBuket, function (err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else {
    console.log(data);
  }
});
API 功能 API 名称 SDK 接口
列举存储桶 Get Service s3.listBuckets()
列举文件对象 Get Bucket s3..listObjects()
创建存储桶 Put Bucket s3..createBucket()
确认存储桶 Head Bucket s3.headBucket()
删除存储桶 Delete Bucket s3.deleteBucket()
获取存储 ACL Get Bucket ACL s3.getBucketAcl()
设置存储 ACL Set Bucket ACL s3.putBucketAcl()
获取存储位置 Get Bucket Location s3.getBucketLocation()
上传文件对象 Put Object s3.putObject()
下载文件对象 Get Object s3.getObject()
删除文件对象 Delete Object s3.deleteObject()
批量删除文件对象 Delete Multiple Objects s3.deleteObjects()
获取文件元信息 Head Object s3.headObject()