Skip to content
Visit booth 3171 at Google Cloud Next to see how to unlock real-time decisions at scaleMore info

Create

Jump to the Code block for a combined complete example.

Setup

The following examples will use the setup and record structure below to illustrate single record creation in an Aerospike database.

import com.aerospike.client.AerospikeClient;
import com.aerospike.client.policy.WritePolicy;
import com.aerospike.client.Bin;
import com.aerospike.client.Key;
import com.aerospike.client.Record;
import com.aerospike.client.Value;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.util.List;
// Establishes a connection to the server
AerospikeClient client = new AerospikeClient("127.0.0.1", 3000);

The record structure:

Occurred: Integer
Reported: Integer
Posted: Integer
Report: Map
{
shape: List,
summary: String,
city: String,
state: String,
duration: String
}
Location: GeoJSON

Policies

Write policies define additional semantics for the write operation. Instead of using the default write policies, we can set them on a per command basis.

The following example creates a new write policy container object that sets the send key policy to true. This stores the user defined key with the record, and returns it with read commands.

// Create a new write policy
WritePolicy writePolicy = new WritePolicy();
writePolicy.sendKey = true;

Key

The key is a tuple made up of: (namespace, set, user defined key).

The following example creates a key using the sandbox namespace, ufodata set, and user defined key 5001.

// Create the record key
Key key = new Key("sandbox", "ufodata", 5001);

Create a record

A record is the basic unit of storage in the database. A record is composed of: (key, metadata, bins).

Setup

Expand the block below to see the creation of the variables used in the write example below.

View the data creation
// Create a list of shapes to add to the report map
ArrayList<String> shape = new ArrayList<String>();
shape.add("circle");
shape.add("flash");
shape.add("disc");
// Create the report map
Map reportMap = new HashMap<String, Object>();
reportMap.put("city", "Ann Arbor");
reportMap.put("state", "Michigan");
reportMap.put("shape", shape);
reportMap.put("duration", "5 minutes");
reportMap.put("summary", "Large flying disc flashed in the sky above the student union. Craziest thing I've ever seen!");
// Format coordinates as a GeoJSON string
String geoLoc = "{\"type\":\"Point\", \"coordinates\":[42.2808,83.7430]}";

Write

The following example shows the creation of the bins and the writing of the record to the database.

// Create the bins as Bin("binName", value)
Bin occurred = new Bin("occurred", 20220531);
Bin reported = new Bin("reported", 20220601);
Bin posted = new Bin("posted", 20220601);
// reportMap defined in the section above
Bin report = new Bin("report", reportMap);
// geoLoc defined in the section above
Bin location = new Bin("location", Value.getAsGeoJSON(geoLoc));
// Write the record to Aerospike
client.put(writePolicy, key, occurred, reported, posted, report, location);
// Close the connection to the server
client.close();

Code block

Expand this section for a single code block to create a record
import com.aerospike.client.AerospikeClient;
import com.aerospike.client.policy.WritePolicy;
import com.aerospike.client.Bin;
import com.aerospike.client.Key;
import com.aerospike.client.Record;
import com.aerospike.client.Value;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.util.List;
// Establishes a connection to the server
AerospikeClient client = new AerospikeClient("127.0.0.1", 3000);
// Create a new write policy
WritePolicy writePolicy = new WritePolicy();
writePolicy.sendKey = true;
// Create the record key
Key key = new Key("sandbox", "ufodata", 5001);
// Create a list of shapes to add to the report map
ArrayList<String> shape = new ArrayList<String>();
shape.add("circle");
shape.add("flash");
shape.add("disc");
// Create the report map
Map reportMap = new HashMap<String, Object>();
reportMap.put("city", "Ann Arbor");
reportMap.put("state", "Michigan");
reportMap.put("shape", shape);
reportMap.put("duration", "5 minutes");
reportMap.put("summary", "Large flying disc flashed in the sky above the student union. Craziest thing I've ever seen!");
// Format coordinates as a GeoJSON string
String geoLoc = "{\"type\":\"Point\", \"coordinates\":[42.2808,83.7430]}";
// Create the bins as Bin("binName", value)
Bin occurred = new Bin("occurred", 20220531);
Bin reported = new Bin("reported", 20220601);
Bin posted = new Bin("posted", 20220601);
// reportMap defined in the section above
Bin report = new Bin("report", reportMap);
// geoLoc defined in the section above
Bin location = new Bin("location", Value.getAsGeoJSON(geoLoc));
// Write the record to Aerospike
client.put(writePolicy, key, occurred, reported, posted, report, location);
// Close the connection to the server
client.close();
Feedback

Was this page helpful?

What type of feedback are you giving?

What would you like us to know?

+Capture screenshot

Can we reach out to you?