# 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.dto.container.Container; import info.FrostFS.sdk.dto.netmap.PlacementPolicy; import info.FrostFS.sdk.dto.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.createContainer(new Container(BasicAcl.PUBLIC_RW, placementPolicy)); // Get container var container = frostFSClient.getContainer(containerId); // List containers var containerIds = frostFSClient.listContainers(); // Delete container frostFSClient.deleteContainer(containerId); } } ``` ### Object ```java import info.FrostFS.sdk.enums.ObjectType; import info.FrostFS.sdk.dto.container.ContainerId; import info.FrostFS.sdk.dto.object.ObjectAttribute; import info.FrostFS.sdk.dto.object.ObjectFilter; import info.FrostFS.sdk.dto.object.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.dto.object.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.putObject(cat, fis); } catch (IOException e) { throw new RuntimeException(e); } // Get object var obj = frostFSClient.getObject(containerId, objectId); // Get object header var objectHeader = frostFSClient.getObjectHead(containerId, objectId); // Search regular objects var objectIds = frostFSClient.searchObjects(containerId, ObjectFilter.RootFilter()); } } ```