# frostfs-sdk-java Java implementation of FrostFS SDK ## Prerequisites ### Get the key for your wallet 1. Get the address ```bash cat | jq .accounts[0].address | tr -d '"' ``` 2. Get the key ```bash neo-go wallet export -w -d ``` ## Example usage ### Container ```java import info.FrostFS.sdk.enums.BasicAcl; import info.FrostFS.sdk.jdo.Container; import info.FrostFS.sdk.jdo.netmap.PlacementPolicy; import info.FrostFS.sdk.jdo.netmap.Replica; import info.FrostFS.sdk.services.FrostFSClient; public class ContainerExample { public void example() { Client client = new Client( < your_key >); GrpcClient grpcClient = new GrpcClient( < your_host >); FrostFSClient frostFSClient = new FrostFSClient(grpcClient, client); // Create container var placementPolicy = new PlacementPolicy(true, new Replica[]{new Replica(1)}); var containerId = frostFSClient.createContainerAsync(new Container(BasicAcl.PUBLIC_RW, placementPolicy)); // Get container var container = frostFSClient.getContainerAsync(containerId); // List containers var containerIds = frostFSClient.listContainersAsync(); // Delete container frostFSClient.deleteContainerAsync(containerId); } } ``` ### Object ```java import info.FrostFS.sdk.enums.ObjectType; import info.FrostFS.sdk.jdo.ContainerId; import info.FrostFS.sdk.jdo.ObjectAttribute; import info.FrostFS.sdk.jdo.ObjectFilter; import info.FrostFS.sdk.jdo.ObjectHeader; import info.FrostFS.sdk.services.FrostFSClient; import java.io.FileInputStream; import java.io.IOException; public class ObjectExample { public void example() { Client client = new Client( < your_key >); GrpcClient grpcClient = new GrpcClient( < your_host >); FrostFSClient frostFSClient = new FrostFSClient(grpcClient, client); // Put object info.FrostFS.sdk.jdo.ObjectId objectId; try (FileInputStream fis = new FileInputStream("cat.jpg")) { var cat = new ObjectHeader( containerId, ObjectType.REGULAR, new ObjectAttribute[]{new ObjectAttribute("Filename", "cat.jpg")} ); objectId = frostFSClient.putObjectAsync(cat, fis); } catch (IOException e) { throw new RuntimeException(e); } // Get object var obj = frostFSClient.getObjectAsync(containerId, objectId); // Get object header var objectHeader = frostFSClient.getObjectHeadAsync(containerId, objectId); // Search regular objects var objectIds = frostFSClient.searchObjectsAsync(containerId, ObjectFilter.RootFilter()); } } ```