阿里雲團隊努力不懈,力求將最新的技術內容更快地以您最熟悉的語言呈現。本文由簡體中文內容自動轉碼而成,過程無人工干預。阿里雲不保證此自動轉碼的準確性、完整性及時效性。因轉碼造成的任何內容錯誤及因此可能帶來的損失,阿里雲概不負責,敬請見諒。本文内容請以簡體中文版本為準。
全部產品
Search
文件中心

管理Bucket

更新時間: Oct 30, 2018

儲存空間(Bucket)是OSS上的命名空間,也是計費、許可權控制、日誌記錄等進階功能的管理實體。

查看所有Bucket

使用listBuckets介面列出目前使用者下的所有Bucket,使用者還可以指定prefix參數,列出Bucket名字為特定首碼的所有Bucket:

  1. let OSS = require('ali-oss');
  2. let client = new OSS({
  3. region: '<Your region>',
  4. accessKeyId: '<Your AccessKeyId>',
  5. accessKeySecret: '<Your AccessKeySecret>'
  6. });
  7. async function listBuckets() {
  8. try {
  9. const result = await client.listBuckets();
  10. console.log(result);
  11. const result2 = await client.listBuckets({
  12. prefix: 'prefix',
  13. });
  14. console.log(result);
  15. } catch (err) {
  16. console.log(err);
  17. }
  18. }
  19. listBuckets();

建立Bucket

使用putBucket介面建立一個Bucket,使用者需要指定Bucket的名字:

  1. let OSS = require('ali-oss');
  2. let client = new OSS({
  3. region: '<Your region>',
  4. accessKeyId: '<Your AccessKeyId>',
  5. accessKeySecret: '<Your AccessKeySecret>'
  6. });
  7. // putBucket
  8. async function putBucket() {
  9. try {
  10. const result = await client.putBucket('your bucket name');
  11. console.log(result);
  12. } catch (err) {
  13. console.log(err);
  14. }
  15. }
  16. putBucket();

注意:

  • Bucket的命名規範請查看OSS 基本概念
  • 由於儲存空間的名字是全域唯一的,所以必須保證您的Bucket名字不與別人的重複。

刪除Bucket

使用deleteBucket介面刪除一個Bucket,使用者需要指定Bucket的名字:

  1. let OSS = require('ali-oss');
  2. let client = new OSS({
  3. region: '<Your region>',
  4. accessKeyId: '<Your AccessKeyId>',
  5. accessKeySecret: '<Your AccessKeySecret>'
  6. });
  7. async function deleteBucket() {
  8. try {
  9. const result = await client.deleteBucket('your bucket name');
  10. console.log(result);
  11. } catch (err) {
  12. console.log(err);
  13. }
  14. }
  15. deleteBucket();

注意:

  • 如果該Bucket下還有檔案存在,則需要先刪除所有檔案才能刪除Bucket。
  • 如果該Bucket下還有未完成的上傳請求,則需要通過listUploadsabortMultipartUpload先取消請求才能刪除Bucket。

Bucket存取權限

使用者可以設定Bucket的存取權限,允許或者禁止匿名使用者對其內容進行讀寫。更多關於存取權限的內容請參考存取權限

獲取Bucket的存取權限(ACL)

通過getBucketACL查看Bucket的ACL:

  1. let OSS = require('ali-oss');
  2. let client = new OSS({
  3. region: '<Your region>',
  4. accessKeyId: '<Your AccessKeyId>',
  5. accessKeySecret: '<Your AccessKeySecret>'
  6. });
  7. async function getBucketACL() {
  8. try {
  9. const result = await client.getBucketACL('luozhang002');
  10. console.log(result);
  11. } catch (err) {
  12. console.log(err);
  13. }
  14. }
  15. getBucketACL();

設定Bucket的存取權限(ACL)

通過putBucketACL設定Bucket的ACL:

  1. let OSS = require('ali-oss');
  2. let client = new OSS({
  3. region: '<Your region>',
  4. accessKeyId: '<Your AccessKeyId>',
  5. accessKeySecret: '<Your AccessKeySecret>'
  6. });
  7. async function putBucketACL() {
  8. try {
  9. const result = await client.putBucketACL('bucket name', 'public-read');
  10. console.log(result);
  11. } catch (err) {
  12. console.log(err);
  13. }
  14. }
  15. putBucketACL();