Skip to content

Latest commit

 

History

History
executable file
·
88 lines (66 loc) · 2.83 KB

README.zh_TW.md

File metadata and controls

executable file
·
88 lines (66 loc) · 2.83 KB

osapi

通用對象存儲應用程式界面

其他语言 / English / 简体中文

這套 API 很好地相容了 CEPH 對象存儲服務,因此取 ceph 作為本包的別名。你可以按照個人喜好,引用 osapiceph 包,兩個 NPM 包將保持同步更新。

我們提供兩種不同風格的 API:OpenStack SWIFT 風格和 Amazon S3 風格。

快速開始

OpenStack Swift 風格

const swift = require('osapi/swift');

let conn = new swift.Connection({
    endPoint   : 'http://storage.example.com/',
    subuser    : 'userName:subUserName',
    key        : '380289ba59473a368c593c1f1de6efb0380289ba5', 
                 // generally 40 characters 
    tempURLKey : '380289ba59473a368c593c1f1de6efb0', 
                 // generally 32 characters
    container  : 'containerName',
});

conn.createObject('hello/world', 'Hello world!', (err) => {
    // ...
});

conn.readObject('hello/world', (err, data) => {
    // ...
    data.contentType;
    data.buffer;
});

AWS S3 風格

const s3 = require('osapi/s3');

let conn = new s3.Connection({
    endPoint        : 'http://storage.example.com/',
    accessKey       : '380289ba59473a368c59', 
                       // 20 characters 
    secretAccessKey : '380289ba59473a368c593c1f1de6efb0380289ba5', 
                       // 40 characters
    bucket          : 'bucketName',
});

conn.createObject({
    name: 'hello/world',
    meta: { /* self defined meta info */ }
    }, 'Hello world!', (err) => {
    // ...
});

conn.readObject('hello/world', (err, data) => {
    // ...
    data.contentType;
    data.buffer;
    data.meta;
});

API

请阅读 文档

術語

亞馬遜的簡單存儲服務(S3)和 OpenStack Swift 有相似之外,但仍然是兩種不同的東西。

S3 SWIFT 含義
bucket container 屬於某個賬戶的、用於存儲對象的容器。
access_key - 用於識別賬戶的唯一標識串。
secret_secret_key - 用於確認請求合法性的令牌,相當於密碼。
- key 屬於某個子用戶,用於生成訪問令牌的密鑰。
- temp_url_key 屬於某個子用戶,用於生成臨時下載 URL 的密鑰。
- user 對應某個賬戶。
- subuser 在指定賬戶下開設的子用戶,用於區分不同的訪問權限。

參考

*   S3 vs Swift