client-swift
Version:
Object Storage OpenStack Swift client for Node.js
99 lines (88 loc) • 3.12 kB
JavaScript
const Swift = require("..")
const fs = require("fs")
// authUrl: $OS_AUTH_URL
// userName: $OS_USERNAME
// apiKey: $OS_PASSWORD
// userId: $OS_USER_ID
// domain: $OS_USER_DOMAIN_NAME
// domainId: $OS_USER_DOMAIN_ID
// tenant: $OS_TENANT_NAME //v2
// tenant: $OS_PROJECT_NAME // v3
// tenantId: $OS_TENANT_ID
// tenantDomain: $OS_PROJECT_DOMAIN_NAME
// tenantDomainId: $OS_PROJECT_DOMAIN_ID
// region: $OS_REGION_NAME // v2
// trustId: $OS_TRUST_ID // v3
// endpointType: $OS_ENDPOINT_TYPE
// let version = "v2.0"
let version = "v3"
let authUrl = "http://18.182.55.238:35357/"+version
// let authUrl = "http://18.182.55.238:8080/auth/v1.0"
let data = {
authUrl: authUrl,
userName: "admin",
// apiKey: "admin", // v1
apiKey: "7a04a385b907caca141f",
tenant: "admin",
domain: "Default",
tenantDomain: "Default",
endpointType: "public"
}
async function main() {
try {
// let client = await new Swift(data).authenticate()
// // console.log("metadata:", await client.metadata())
//
// let container1 = await client.create("container1")
// let object = client.Container("container1").Object("a.txt")
// await object.copy("container2", "b.txt")
// authenticate
let client = await new Swift(data).authenticate()
// get containers list
let containers = await client.list()
// container instance
let container = client.Container(containers[0].name)
// get objects list
let objects = await container.list()
// object instance
let object = container.Object(objects[0].name)
// download file
let dst = fs.createWriteStream("a.txt")
object.write(dst)
// let metadata = await client.metadata()
// console.log(metadata)
// await client.updateMetadata({'X-Account-Meta-Subject': 'Literature'})
// console.log(metadata)
// let container2 = await client.create("container2")
//
// console.log("c2", await container2.list());
//
// let dst = fs.createWriteStream("aa.txt")
// console.log("end", await container2.Object("./sample.txt").write(dst));
//
// // let containers = await client.list()
// // console.log("containers:", containers)
// //
// // let container = client.Container(containers[0].name)
// // console.log("objects:", await container.list())
//
// // console.log("container meta:", await container.metadata());
//
// // client.delete("container2")
// // console.log("containers:", await client.list())
//
// let obj = await container2.create("a.txt", "aaa")
// console.log("obj:", obj);
// console.log(await container2.list());
// console.log(await obj.get());
// console.log(await obj.updateMetadata({"Content-Type": "aaa"}));
// console.log(await obj.metadata());
// console.log(await obj.copy("container1", "a_copy.txt"));
// console.log(await client.Container("container1").list());
// console.log(await client.Container("container1").Object("a_copy.txt").delete());
// console.log(await client.Container("container1").list());
} catch (e) {
console.log("Error", e)
}
}
main()