78 lines
2.2 KiB
TypeScript
78 lines
2.2 KiB
TypeScript
import dotenv from 'dotenv';
|
|
import { ConfigOssService } from '../services/index.ts';
|
|
import { Client } from 'minio';
|
|
import path from 'path';
|
|
import { downloadObject } from '../util/download.ts';
|
|
const cwd = process.cwd();
|
|
dotenv.config({ path: path.resolve(cwd, '..', '..', '.env') });
|
|
|
|
console.log(process.env.MINIO_ENDPOINT, process.env.MINIO_USE_SSL, process.env.MINIO_ACCESS_KEY, process.env.MINIO_SECRET_KEY, process.env.MINIO_BUCKET_NAME);
|
|
const client = new Client({
|
|
endPoint: process.env.MINIO_ENDPOINT,
|
|
useSSL: process.env.MINIO_USE_SSL === 'true',
|
|
accessKey: process.env.MINIO_ACCESS_KEY,
|
|
secretKey: process.env.MINIO_SECRET_KEY,
|
|
});
|
|
const configOssService = new ConfigOssService({
|
|
client,
|
|
bucketName: process.env.MINIO_BUCKET_NAME,
|
|
owner: 'admin',
|
|
});
|
|
|
|
const main = async () => {
|
|
configOssService.setPrefix('root');
|
|
const config = await configOssService.statObject('avatar.png');
|
|
console.log(config);
|
|
};
|
|
|
|
// main();
|
|
const putJson = async () => {
|
|
const config = await configOssService.putObject(
|
|
'a.json',
|
|
{
|
|
a: 'a',
|
|
},
|
|
{
|
|
'content-type': 'application/json',
|
|
'cache-control': 'no-cache',
|
|
},
|
|
);
|
|
console.log(config);
|
|
};
|
|
// putJson();
|
|
const downloadMain = async () => {
|
|
const stat = await configOssService.statObject('a.json'); // 582af9ef5cdc53d6628f45cb842f874a
|
|
console.log(stat);
|
|
const objectStream = await downloadObject({
|
|
objectName: 'a.json',
|
|
client: configOssService,
|
|
filePath: path.resolve(cwd, 'a.json'),
|
|
});
|
|
// console.log(objectStream);
|
|
};
|
|
downloadMain();
|
|
|
|
const statInfo = async () => {
|
|
try {
|
|
const stat = await configOssService.statObject('a.json');
|
|
// configOssService.setPrefix('root/');
|
|
// const stat = await configOssService.statObject('avatar.png');
|
|
// const stat = await configOssService.statObject('center/0.0.1/index.html');
|
|
console.log(stat);
|
|
} catch (e) {
|
|
if (e.code === 'NotFound') {
|
|
console.log('not found');
|
|
} else {
|
|
console.log('error', e);
|
|
}
|
|
}
|
|
};
|
|
// statInfo();
|
|
|
|
const listObjects = async () => {
|
|
configOssService.setPrefix('root/avatar.png');
|
|
const list = await configOssService.listObjects('');
|
|
console.log(list);
|
|
};
|
|
// listObjects();
|