edit-icon download-icon

バケットの管理

最終更新日: Nov 07, 2017

バケットは OSS 上のネームスペースで、課金、アクセス制御、ロギング、およびその他の高度な機能のための管理エンティティです。

バケットの確認

‘listBuckets’ インターフェースを使用すると、現在のユーザーに属するすべてのバケットを一覧表示できます。 ‘prefix’ パラメーターを指定して、名前に指定した接頭辞が含まれるすべてのバケットをリストすることもできます。

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

バケットの作成

‘putBucket’ インターフェースを使用してバケットを作成することができます。バケット名を指定する必要があります。

  1. var co = require('co');
  2. var OSS = require('ali-oss');
  3. var client = new OSS({
  4. region: '<Your region>',
  5. accessKeyId: '<Your AccessKeyId>',
  6. accessKeySecret: '<Your AccessKeySecret>'
  7. });
  8. co(function* () {
  9. var result = yield client.putBucket('bucket name');
  10. console.log(result);
  11. }).catch(function (err) {
  12. console.log(err);
  13. });

注意:

  • バケットの命名規則については、OSS の概要 を参照してください。

  • バケットの名前はグローバルに一意であるため、バケット名が他のバケットと異なることを確認する必要があります。

バケットの削除

‘deleteBucket’ インターフェースを使用してバケットを削除することができます。バケット名を指定する必要があります。

  1. var co = require('co');
  2. var OSS = require('ali-oss');
  3. var client = new OSS({
  4. region: '<Your region>',
  5. accessKeyId: '<Your AccessKeyId>',
  6. accessKeySecret: '<Your AccessKeySecret>'
  7. });
  8. co(function* () {
  9. var result = yield client.deleteBucket('bucket name');
  10. console.log(result);
  11. }).catch(function (err) {
  12. console.log(err);
  13. });

注意:

  • 削除するバケットにオブジェクトがある場合は、最初にオブジェクトを削除する必要があります。

  • 削除するバケットに未完了のアップロードリクエストがある場合は、最初に ‘listUploads’ と ‘abortMultipartUpload’ インターフェースを使用してリクエストをキャンセルする必要があります。

バケットのアクセス権限

バケットの ACL ポリシーを設定して、バケットへの匿名読み取り/書き込みを許可または禁止できます。ACL の詳細については、Resource Access Management (RAM) を参照してください。

バケット ACL の取得

‘getBucketACL’ を使用して、バケットの ACL ポリシーを取得できます。

  1. var co = require('co');
  2. var OSS = require('ali-oss');
  3. var client = new OSS({
  4. region: '<Your region>',
  5. accessKeyId: '<Your AccessKeyId>',
  6. accessKeySecret: '<Your AccessKeySecret>'
  7. });
  8. co(function* () {
  9. var result = yield client.getBucketACL('bucket name');
  10. console.log(result);
  11. }).catch(function (err) {
  12. console.log(err);
  13. });

バケット ACL の設定

‘putBucketACL’ を使用して、バケットの ACL ポリシーを設定できます。

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