# 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 operations ```java 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.enums.BasicAcl; import info.frostfs.sdk.jdo.ClientSettings; import info.frostfs.sdk.FrostFSClient; public class ContainerExample { public void example() { ClientSettings clientSettings = new ClientSettings(, ); FrostFSClient frostFSClient = new FrostFSClient(clientSettings); // Create container var placementPolicy = new PlacementPolicy(new Replica[]{new Replica(1)}, true); 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 operations ```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.dto.object.ObjectId; import info.frostfs.sdk.jdo.PutObjectParameters; import info.frostfs.sdk.FrostFSClient; import java.io.FileInputStream; import java.io.IOException; public class ObjectExample { public void example() { ClientSettings clientSettings = new ClientSettings(, ); FrostFSClient frostFSClient = new FrostFSClient(clientSettings); // Put object ObjectId objectId; try (FileInputStream fis = new FileInputStream("cat.jpg")) { var cat = new ObjectHeader( containerId, ObjectType.REGULAR, new ObjectAttribute[]{new ObjectAttribute("Filename", "cat.jpg")} ); var params = new PutObjectParameters(cat, fis); objectId = frostFSClient.putObject(params); } 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, new ObjectFilter.FilterByRootObject()); } } ```