package minio;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.List;
import io.minio.BucketExistsArgs;
import io.minio.DownloadObjectArgs;
import io.minio.GetObjectArgs;
import io.minio.ListObjectsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.PutObjectArgs;
import io.minio.RemoveBucketArgs;
import io.minio.RemoveObjectArgs;
import io.minio.Result;
import io.minio.UploadObjectArgs;
import io.minio.messages.Bucket;
import io.minio.messages.Item;
public class s3 {
//private static String access_key_id = "minio";
//private static String secret_key_id = "minio123456";
//private static String serviceEndpoint = "http://139.9.45.210:9110";
private static String access_key_id = "13IXg2qhUOfXMHpQ";
private static String secret_key_id = "p38QAppqu5dsgM3TOzeadZuRbLWr6kuP";
private static String serviceEndpoint = "http://139.9.45.210:80";
private static MinioClient minioClient = MinioClient.builder()
.endpoint(serviceEndpoint)
.credentials(access_key_id, secret_key_id)
.build();
// 列出桶
public static void list_buckets() {
try {
List<Bucket> bucketList = minioClient.listBuckets();
for (Bucket bucket : bucketList) {
System.out.println(bucket.creationDate() + ", " + bucket.name());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 创建桶
public static void create_bucket() {
try {
boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket("udbtovol").build());
if (found) {
System.out.println("udbtovol is exist");
}else{
minioClient.makeBucket(MakeBucketArgs.builder().bucket("udbtovol").build());
System.out.println("udbtovol is created successfully");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 删除桶
public static void delete_bucket() {
try {
boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket("udbtovol").build());
if (found) {
minioClient.removeBucket(RemoveBucketArgs.builder().bucket("udbtovol").build());
System.out.println("udbtovol is removed successfully");
} else {
System.out.println("udbtovol does not exist");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 列出对象
public static void list_objects() {
try {
Iterable<Result<Item>> results =
minioClient.listObjects(ListObjectsArgs.builder().bucket("udbtovol").build());
for (Result<Item> result : results) {
Item item = result.get();
System.out.println(item.lastModified() + "\t" + item.size() + "\t" + item.objectName());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 上传对象
public static void put_object() {
try {
File f = new File("UDBTO.png");
InputStream inputStream =new FileInputStream(f);
minioClient.putObject(
PutObjectArgs.builder().bucket("udbtovol").object("UDBTO.png").stream(
inputStream, f.length(), -1)
.build());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 上传对象2
public static void upload_object() {
try {
minioClient.uploadObject(
UploadObjectArgs.builder()
.bucket("udbtovol").object("UDBTO.png").filename("UDBTO.png").build());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 下载对象
public static void get_object() {
try {
InputStream stream = minioClient.getObject(
GetObjectArgs.builder()
.bucket("udbtovol")
.object("UDBTO.png")
.build());
FileOutputStream fos = new FileOutputStream("UDBTO.png");
int bytesRead = 0;
byte[] b = new byte[1024];
while ((bytesRead = stream.read(b)) != -1) {
fos.write(b, 0, bytesRead);
}
stream.close();
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 下载对象2
public static void get_object2() {
try {
minioClient.downloadObject(
DownloadObjectArgs.builder()
.bucket("udbtovol")
.object("UDBTO.png")
.filename("UDBTO.png")
.build());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 删除对象
public static void delete_object() {
try {
minioClient.removeObject(
RemoveObjectArgs.builder().bucket("udbtovol").object("UDBTO.png").build());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
System.out.println("minio s3 test start");
list_buckets();
//create_bucket();
//delete_bucket();
//put_object();
//upload_object();
//get_object();
//get_object2();
//delete_object();
System.out.println("minio s3 test end");
System.exit(0);
}
}