Swifft
An OpenStack Swift Client
Install / Use
/learn @totherik/SwifftREADME
swifft
An OpenStack Swift Client npm module and CLI.
Basic Usage
Programmatic API
import Swifft from 'swifft';
// These are the default env vars used internally by swifft.
// Usage here is for demonstration purposes only.
let options = {
auth_url = process.env.OS_AUTH_URL,
tenant_id = process.env.OS_TENANT_ID,
tenant_name = process.env.OS_TENANT_NAME,
endpoint_type = process.env.OS_ENDPOINT_TYPE,
region = process.env.OS_REGION_NAME,
username = process.env.OS_USERNAME,
password = process.env.OS_PASSWORD
}
let account = Swifft.create(options);
// List containers
account.list((err, containers) => {
// Print all container names and size
for (let { name, bytes } of containers) {
console.log(`${name}: ${bytes}`);
}
// List contents of first container.
let [ { name: first } ] = container;
account.container(first).list((err, objects) => {
for (let { name, bytes } of objects) {
console.log(`${name}: ${bytes}`);
}
});
});
CLI
$ source ~/openrc.sh
$ swifft list
[ { count: 1, bytes: 4, name: 'foo' },
{ count: 1, bytes: 4, name: 'bar' } ]
$ swift list foo
[ { hash: '<hash>',
last_modified: '<date>',
bytes: 4,
name: 'foo2.txt',
content_type: 'text/plain' } ]
API
Swifft
create([options])
Returns an Account instance.
Account
getMetadata(callback)
Retrieve metadata for the current account.
updateMetadata(metadata, callback)
Set metadata for the current account.
list([options], callback)
List containers for the current account.
container(name)
Get the named container. Returns a Container instance.
Container
create([settings], callback)
Create the named container.
getMetadata(callback)
Retrieve metadata for the current container.
updateMetadata(metadata, callback)
Set metadata for the current container.
list([options], callback)
List objects in the current container.
delete(callback)
Delete the current container.
object(name)
Get the named object. returns an Object instance.
Object
create([settings], callback)
Create the named Object.
get(callback)
Get the contents and settings of the current object.
getStream([range,] callback)
Get the contents as a readable stream and settings of the current object. See Object Storage API Docs for valid Range values.
getRange(range, callback)
Get the contents as a readable range and settings of the current object. See Object Storage API Docs for valid Range values.
getMetadata(callback)
Retrieve metadata for the current object.
updateMetadata(metadata, callback)
Set metadata for the current object.
copy(dest, callback)
Copy the current object to the provided destination: { container, object }.
delete(callback)
Delete the current object.
CLI Commands
Related Skills
node-connect
354.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
112.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
354.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
354.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
