Click or drag to resize

Aerospike.Client Namespace

Aerospike Client Library
Classes
 ClassDescription
Public classAbortStatus Transaction abort error status code
Public classAdminPolicy Policy attributes used for user administration commands.
Public classAerospikeClient Instantiate an AerospikeClient object to access an Aerospike database cluster and perform database operations.

This client is thread-safe. One client instance should be used per cluster. Multiple threads should share this cluster instance.

Your application uses this class API to perform database operations such as writing and reading records, and selecting sets of records. Write operations include specialized functionality such as append/prepend and arithmetic addition.

Each record may have multiple bins, unless the Aerospike server nodes are configured as "single-bin". In "multi-bin" mode, partial records may be written or read by specifying the relevant subset of bins.

Public classAerospikeException Aerospike exceptions that can be thrown from the client.
Public classAerospikeExceptionBackoff Exception thrown when node is in backoff mode due to excessive number of errors.
Public classAerospikeExceptionBatchExists Exception thrown when a batch exists method fails.
Public classAerospikeExceptionBatchRecordArray Exception thrown when a batch write method fails. The records fields contains responses for key requests that succeeded and result codes for key requests that failed.
Public classAerospikeExceptionBatchRecords Exception thrown when a batch read method fails. The records fields contains responses for key requests that succeeded and null records for key requests that failed.
Public classAerospikeExceptionCommandRejected Exception thrown when asynchronous command was rejected because the max concurrent database commands have been exceeded.
Public classAerospikeExceptionCommit Exception thrown when a transaction commit fails. Commit Exception has similar behavior to AggregateException. InnerExceptions might be populated if mutliple exceptions contribute to the failure.
Public classAerospikeExceptionConnection Exception thrown when client can't connect to the server.
Public classAerospikeExceptionInvalidNamespace Exception thrown when namespace is invalid.
Public classAerospikeExceptionInvalidNode Exception thrown when chosen node is not active.
Public classAerospikeExceptionParse Exception thrown when client can't parse data returned from server.
Public classAerospikeExceptionQueryTerminated Exception thrown when query was terminated prematurely.
Public classAerospikeExceptionScanTerminated Exception thrown when scan was terminated prematurely.
Public classAerospikeExceptionSerialize Exception thrown when a default serialization error occurs.
Public classAerospikeExceptionTimeout Exception thrown when database request expires before completing.
Public classAsyncClient Asynchronous Aerospike client.

Your application uses this class to perform asynchronous database operations such as writing and reading records, and selecting sets of records. Write operations include specialized functionality such as append/prepend and arithmetic addition.

This client is thread-safe. One client instance should be used per cluster. Multiple threads should share this cluster instance.

Each record may have multiple bins, unless the Aerospike server nodes are configured as "single-bin". In "multi-bin" mode, partial records may be written or read by specifying the relevant subset of bins.

Public classAsyncClientPolicy Asynchronous client policy configuration.
Public classAsyncCluster 
Public classAsyncConnectionArgs Normal async connection implemented with SocketAsyncEventArgs.
Public classAsyncConnectionTls Async TLS connection.
Public classAsyncNode Asynchronous server node representation.
Public classAsyncTimeoutQueue 
Public classBaseTask Task used to poll for server task completion.
Public classBatchDeletePolicy Policy attributes used in batch delete commands.
Public classBatchPolicy Batch parent policy.
Public classBatchReadPolicy Policy attributes used in batch read commands.
Public classBatchRecord Batch key and record result.
Public classBatchResults Batch record results.
Public classBatchStatus 
Public classBatchUDFPolicy Policy attributes used in batch UDF execute commands.
Public classBatchWritePolicy Policy attributes used in batch write commands.
Public classBitExp Bit expression generator. See Exp.

The bin expression argument in these methods can be a reference to a bin or the result of another expression. Expressions that modify bin values are only used for temporary expression evaluation and are not permanently applied to the bin. Bit modify expressions return the blob bin's value.

Offset orientation is left-to-right. Negative offsets are supported. If the offset is negative, the offset starts backwards from end of the bitmap. If an offset is out of bounds, a parameter error will be returned.

Public classBitOperation Bit operations. Create bit operations used by client operate command. Offset orientation is left-to-right. Negative offsets are supported. If the offset is negative, the offset starts backwards from end of the bitmap. If an offset is out of bounds, a parameter error will be returned.

Bit operations on bitmap items nested in lists/maps are not currently supported by the server.

Public classBitPolicy Bit operation policy.
Public classBlockScheduler Block until command slot is available.
Public classCDTExp 
Public classCDTOperation Nested CDT context. Identifies the location of nested list/map to apply the operation. for the current level. An array of CTX identifies location of the list/map on multiple levels on nesting.
Public classClientPolicy Client initialization arguments.
Public classCluster 
Public classClusterStats Cluster statistics.
Public classCommitError Transaction error status.
Public classCommitStatus Transaction commit status code.
Public classConnectionStats Connection statistics.
Public classCounter A Counter is a container for a namespace-aggregate map of long counters
Public classCTX Nested CDT context. Identifies the location of nested list/map to apply the operation. for the current level. An array of CTX identifies location of the list/map on multiple levels on nesting.
Public classDelayScheduler Put command on delay queue for later execution if capacity has been reached.
Public classExecuteTask Task used to poll for long running execute job completion.
Public classExp Expression generator.
Public classExpOperation Expression operations.
Public classExpression Packed expression byte instructions.
Public classFilter Query filter used to narrow down query results.
Public classHistograms A Histograms object is a container for a map of namespaces to histograms (as defined by their associated LatencyBuckets) and their histogram properties
Public classHLLExp HyperLogLog (HLL) expression generator. See Exp.

The bin expression argument in these methods can be a reference to a bin or the result of another expression. Expressions that modify bin values are only used for temporary expression evaluation and are not permanently applied to the bin. HLL modify expressions return the HLL bin's value.

Public classHLLOperation HyperLogLog (HLL) operations.

HyperLogLog operations on HLL items nested in lists/maps are not currently supported by the server.

Public classHLLPolicy HyperLogLog operation policy.
Public classHost Host name/port of database server.
Public classIndexTask Task used to poll for long running create index completion.
Public classInfo Access server's info monitoring protocol.

The info protocol is a name/value pair based system, where an individual database server node is queried to determine its configuration and status. The list of supported names can be found at:

https://www.aerospike.com/docs/reference/info/index.html

Public classInfoError 
Public classInfoPolicy Policy attributes used for info commands.
Public classJoin Client-side join definition. The left record must contain a bin with a list of keys. That list will be used to retreive other records in the given namespace and set.
Public classKey Unique record identifier. Records can be identified using a specified namespace, an optional set name, and a user defined key which must be unique within a set. Records can also be identified by namespace/digest which is the combination used on the server.
Public classKeyRecord Container object for key identifier and record data.
Public classLatency 
Public classLatencyBuckets Latency buckets for a command group (See LatencyLatencyType). Latency bucket counts are cumulative and not reset on each metrics snapshot interval.
Public classListExp List expression generator. See Exp.

The bin expression argument in these methods can be a reference to a bin or the result of another expression. Expressions that modify bin values are only used for temporary expression evaluation and are not permanently applied to the bin.

List modify expressions return the bin's value. This value will be a list except when the list is nested within a map. In that case, a map is returned for the list modify expression.

List expressions support negative indexing. If the index is negative, the resolved index starts backwards from end of list. If an index is out of bounds, a parameter error will be returned. If a range is partially out of bounds, the valid part of the range will be returned. Index/Range examples:

  • Index 0: First item in list.
  • Index 4: Fifth item in list.
  • Index -1: Last item in list.
  • Index -3: Third to last item in list.
  • Index 1 Count 2: Second and third items in list.
  • Index -3 Count 3: Last three items in list.
  • Index -5 Count 4: Range between fifth to last item to second to last item inclusive.

Nested expressions are supported by optional CTX context arguments. Example:

  • bin = [[7,9,5],[1,2,3],[6,5,4,1]]
  • Get size of last list.
  • ListExp.size(Exp.ListBin("bin"), CTX.listIndex(-1))
  • result = 4

Public classListOperation List bin operations. Create list operations used by client operate command.

List operations support negative indexing. If the index is negative, the resolved index starts backwards from end of list. If an index is out of bounds, a parameter error will be returned. If a range is partially out of bounds, the valid part of the range will be returned. Index/Range examples:

  • Index 0: First item in list.
  • Index 4: Fifth item in list.
  • Index -1: Last item in list.
  • Index -3: Third to last item in list.
  • Index 1 Count 2: Second and third items in list.
  • Index -3 Count 3: Last three items in list.
  • Index -5 Count 4: Range between fifth to last item to second to last item inclusive.

Nested CDT operations are supported by optional CTX context arguments. Examples:

  • bin = [[7,9,5],[1,2,3],[6,5,4,1]]
  • Append 11 to last list.
  • ListOperation.append("bin", Value.Get(11), CTX.listIndex(-1))
  • bin result = [[7,9,5],[1,2,3],[6,5,4,1,11]]
  • bin = {key1=[[7,9,5],[13]], key2=[[9],[2,4],[6,1,9]], key3=[[6,5]]}
  • Append 11 to lowest ranked list in map identified by "key2".
  • ListOperation.append("bin", Value.Get(11), CTX.mapKey(Value.Get("key2")), CTX.listRank(0))
  • bin result = {key1=[[7,9,5],[13]], key2=[[9],[2,4,11],[6,1,9]], key3=[[6,5]]}

Public classListPolicy List policy directives when creating a list and writing list items.
Public classLog Aerospike client logging facility. Logs can be filtered and message callbacks can be defined to control how log messages are written.
Public classLogContext Additional context sent to log callback messages.
Public classLuaConfig Lua static configuration variables. These variables apply to all AerospikeClient instances in a single process.
Public classMapExp Map expression generator. See Exp.

The bin expression argument in these methods can be a reference to a bin or the result of another expression. Expressions that modify bin values are only used for temporary expression evaluation and are not permanently applied to the bin.

Map modify expressions return the bin's value. This value will be a map except when the map is nested within a list. In that case, a list is returned for the map modify expression.

Valid map key types are:

  • string
  • integer
  • byte[]
The server will vaildate map key types in an upcoming release.

All maps maintain an index and a rank. The index is the item offset from the start of the map, for both unordered and ordered maps. The rank is the sorted index of the value component. Map supports negative indexing for index and rank.

Index examples:

  • Index 0: First item in map.
  • Index 4: Fifth item in map.
  • Index -1: Last item in map.
  • Index -3: Third to last item in map.
  • Index 1 Count 2: Second and third items in map.
  • Index -3 Count 3: Last three items in map.
  • Index -5 Count 4: Range between fifth to last item to second to last item inclusive.

Rank examples:

  • Rank 0: Item with lowest value rank in map.
  • Rank 4: Fifth lowest ranked item in map.
  • Rank -1: Item with highest ranked value in map.
  • Rank -3: Item with third highest ranked value in map.
  • Rank 1 Count 2: Second and third lowest ranked items in map.
  • Rank -3 Count 3: Top three ranked items in map.

Nested expressions are supported by optional CTX context arguments. Example:

  • bin = {key1={key11=9,key12=4}, key2={key21=3,key22=5}}
  • Set map value to 11 for map key "key21" inside of map key "key2".
  • Get size of map key2.
  • MapExp.size(Exp.MapBin("bin"), CTX.mapKey(Value.get("key2"))
  • result = 2

Public classMapOperation Map bin operations. Create map operations used by the client operate command. The default unique key map is unordered. Valid map key types are:
  • string
  • integer
  • byte[]
The server will validate map key types in an upcoming release.

All maps maintain an index and a rank. The index is the item offset from the start of the map, for both unordered and ordered maps. The rank is the sorted index of the value component. Map supports negative indexing for index and rank.

Index examples:

  • Index 0: First item in map.
  • Index 4: Fifth item in map.
  • Index -1: Last item in map.
  • Index -3: Third to last item in map.
  • Index 1 Count 2: Second and third items in map.
  • Index -3 Count 3: Last three items in map.
  • Index -5 Count 4: Range between fifth to last item to second to last item inclusive.

Rank examples:

  • Rank 0: Item with lowest value rank in map.
  • Rank 4: Fifth lowest ranked item in map.
  • Rank -1: Item with highest ranked value in map.
  • Rank -3: Item with third highest ranked value in map.
  • Rank 1 Count 2: Second and third lowest ranked items in map.
  • Rank -3 Count 3: Top three ranked items in map.

Nested CDT operations are supported by optional CTX context arguments. Examples:

  • bin = {key1={key11=9,key12=4}, key2={key21=3,key22=5}}
  • Set map value to 11 for map key "key21" inside of map key "key2".
  • MapOperation.put(MapPolicy.Default, "bin", Value.Get("key21"), Value.Get(11), CTX.mapKey(Value.Get("key2")))
  • bin result = {key1={key11=9,key12=4},key2={key21=11,key22=5}}
  • bin = {key1={key11={key111=1},key12={key121=5}}, key2={key21={"key211",7}}}
  • Set map value to 11 in map key "key121" for highest ranked map ("key12") inside of map key "key1".
  • MapOperation.put(MapPolicy.Default, "bin", Value.Get("key121"), Value.Get(11), CTX.mapKey(Value.Get("key1")), CTX.mapRank(-1))
  • bin result = {key1={key11={key111=1},key12={key121=11}}, key2={key21={"key211",7}}}

Public classMapPolicy Map policy directives when creating a map and writing map items.
Public classMetricsPolicy Client periodic metrics configuration.
Public classMetricsWriter Client metrics listener.
Public classNode Server node representation. This class manages server node connections and health status.
Public classNodeMetrics Client metrics listener.
Public classNodeStats Node statistics.
Public classOperateCommandRead 
Public classOperateCommandWrite 
Public classOperation Database operation definition. The class is used in client's operate() method.
Public classPartitionFilter Partition filter used in scan/query. This filter is also used as a cursor.

If a previous scan/query returned all records specified by a PartitionFilter instance, a future scan/query using the same PartitionFilter instance will only return new records added after the last record read (in digest order) in each partition in the previous scan/query. To reset the cursor of an existing PartitionFilter instance, set Partitions to null.

Public classPartitionStatus 
Public classPolicy Command policy attributes used in all database commands.
Public classPrivilege User privilege.
Public classQueryPolicy Container object for policy attributes used in query operations.

Inherited Policy fields Txn and failOnFilteredOut are ignored.

Public classRandomShift Generate pseudo random numbers using xorshift128+ algorithm. This class is not thread-safe and should be instantiated once per thread.
Public classRecord Container object for records. Records are equivalent to rows.
Public classRecordParser 
Public classRecordSet This class manages record retrieval from queries. Multiple threads will retrieve records from the server nodes and put these records on the queue. The single user thread consumes these records from the queue.
Public classRegexFlag Regex bit flags.
Public classRegisterTask Task used to poll for UDF registration completion.
Public classRejectScheduler Reject command if capacity has been reached.
Public classResultCode Database operation error codes.
Public classResultSet This class manages result retrieval from queries. Multiple threads will retrieve results from the server nodes and put these results on the queue. The single user thread consumes these results from the queue.
Public classRole Role definition.
Public classSaltParseExceptionException for signalling parse errors.
Public classScanPolicy Container object for optional parameters used in scan operations.

Inherited Policy fields Txn and failOnFilteredOut are ignored.

Public classStatement Query statement parameters.
Public classSyncReadCommand 
Public classSyncWriteCommand 
Public classThreadLocalData 
Public classTlsPolicy TLS connection policy. Secure connections are supported for AerospikeClient synchronous commands and asynchronous commands.
Public classTxn Transaction. Each command in the transaction must use the same namespace.
Public classTxnRollPolicy Transaction policy fields used to batch roll forward/backward records on commit or abort.Used a placeholder for now as there are no additional fields beyond BatchPolicy.
Public classTxnVerifyPolicy Transaction policy fields used to batch verify record versions on commit. Used a placeholder for now as there are no additional fields beyond BatchPolicy.
Public classUser User and assigned roles.
Public classValue Polymorphic value classes used to efficiently serialize objects into the wire protocol.
Public classValueBlobValue Blob value.
Public classValueBooleanValue Boolean value.
Public classValueBoolIntValue Boolean value that converts to integer when sending a bin to the server. This class will be deleted once full conversion to boolean particle type is complete.
Public classValueByteSegmentValue Byte segment value.
Public classValueBytesValue Byte array value.
Public classValueByteValue Byte value.
Public classValueDoubleValue Double value.
Public classValueFloatValue Float value.
Public classValueGeoJSONValue GeoJSON value.
Public classValueHLLValue HyperLogLog value.
Public classValueInfinityValue Infinity value.
Public classValueIntegerValue Integer value.
Public classValueListValue List value.
Public classValueLongValue Long value.
Public classValueMapValue Map value.
Public classValueNullValue Empty value.
Public classValueReadOnlyMemoryBytesValueReadOnlyMemoryT value.
Public classValueShortValue Short value.
Public classValueSignedByteValue Byte value.
Public classValueStringValue String value.
Public classValueUnsignedIntegerValue Unsigned integer value.
Public classValueUnsignedLongValue Unsigned long value.
Public classValueUnsignedShortValue Unsigned short value.
Public classValueValueArray Value array.
Public classValueWildcardValue Wildcard value.
Public classValueT 
Public classWritePolicy Container object for policy attributes used in write operations. This object is passed into methods where database writes can occur.
Public classYamlConfigProvider 
Structures
 StructureDescription
Public structureBin Column name/value pair.
Public structureValueRipemd160 RIPEMD-160 hash. Algorithm provided by Hans Dobbertin, Antoon Bosselaers, and Bart Preneel: https://homes.esat.kuleuven.be/~bosselae/ripemd160.html This is an optimized implementation based on Bouncy Castle's RipeMD160Digest.cs: http://www.bouncycastle.org/csharp
Public structureValueStopwatchStopwatch but as a struct.
Interfaces
 InterfaceDescription
Public interfaceAbortListener Asynchronous result notifications for transaction aborts.
Public interfaceAsyncScheduler Async command scheduling interface.
Public interfaceBatchListListener Asynchronous result notifications for batch get commands with variable bins per key. The result is sent in a single list.
Public interfaceBatchOperateListListener Asynchronous result notifications for batch operate commands with variable operations.
Public interfaceBatchRecordArrayListener Asynchronous result notifications for batch operate commands.
Public interfaceBatchRecordSequenceListener Asynchronous result notifications for batch operate commands. The results are sent one record at a time.
Public interfaceBatchSequenceListener Asynchronous result notifications for batch get commands with variable bins per key. The results are sent one batch record at a time.
Public interfaceCommitListener Asynchronous result notifications for transaction commits.
Public interfaceDeleteListener Asynchronous result notifications for delete commands.
Public interfaceExecuteListener Asynchronous result notifications for execute commands.
Public interfaceExistsArrayListener Asynchronous result notifications for batch exists commands. The result is sent in a single array.
Public interfaceExistsListener Asynchronous result notifications for exists commands.
Public interfaceExistsSequenceListener Asynchronous result notifications for batch exists commands. The results are sent one record at a time.
Public interfaceIAerospikeClient 
Public interfaceIAsyncClient Asynchronous Aerospike client.

Your application uses this interface to perform asynchronous database operations such as writing and reading records, and selecting sets of records. Write operations include specialized functionality such as append/prepend and arithmetic addition.

Clients implementing this interface must be thread-safe. One client instance should be used per cluster. Multiple threads should share same cluster instance.

Each record may have multiple bins, unless the Aerospike server nodes are configured as "single-bin". In "multi-bin" mode, partial records may be written or read by specifying the relevant subset of bins.

Public interfaceIAsyncCommand 
Public interfaceIBatchCommand 
Public interfaceIConfigProvider 
Public interfaceIMetricsListener Client metrics listener.
Public interfaceInfoListener Asynchronous info command result notification.
Public interfaceIRecordParser 
Public interfaceIRecordSet 
Public interfaceIResultSet 
Public interfaceRecordArrayListener Asynchronous result notifications for batch get commands. The result is sent in a single array.
Public interfaceRecordListener Asynchronous result notifications for get or operate commands.
Public interfaceRecordSequenceListener Asynchronous result notifications for batch get and scan commands. The results are sent one record at a time.
Public interfaceWriteListener Asynchronous result notifications for put, append, prepend, add, delete and touch commands.
Delegates
 DelegateDescription
Public delegateLogCallback Log callback message definition.
Public delegateLogContextCallback Log callback message definition with additional context.
Public delegateQueryListener This method will be called for each record returned from a sync query. The user may throw a AerospikeExceptionQueryTerminated exception if the query should be aborted. If an exception is thrown, parallel query command threads to other nodes will also be terminated.
Public delegateScanCallback This method will be called for each record returned from a scan. The user may throw a AerospikeExceptionScanTerminated exception if the scan should be aborted. If any exception is thrown, parallel scan threads to other nodes will also be terminated and the exception will be propagated back through the initiating scan call.

If concurrentNodes is true and maxConcurrentNodes is not equal one, then your scan callback implementation must be thread safe.

Enumerations
 EnumerationDescription
Public enumerationAbortStatusAbortStatusType 
Public enumerationAuthMode Authentication mode.
Public enumerationBatchRecordType Batch command type.
Public enumerationBitOverflowAction Bitwise operation flags for resize.
Public enumerationBitResizeFlags Bitwise operation flags for resize.
Public enumerationBitWriteFlags Bitwise operation policy write flags.
Public enumerationCommitErrorCommitErrorType 
Public enumerationCommitLevel Desired consistency guarantee when committing a command on the server.
Public enumerationCommitStatusCommitStatusType 
Public enumerationExpType Expression type.
Public enumerationExpReadFlags Expression read flags.
Public enumerationExpWriteFlags Expression write flags.
Public enumerationGenerationPolicy How to handle record writes based on record generation.
Public enumerationHLLWriteFlags HyperLogLog operation policy write flags.
Public enumerationIndexCollectionType Secondary index collection type.
Public enumerationIndexType Underlying data type of secondary index.
Public enumerationLanguage User defined function languages.
Public enumerationLatencyLatencyType 
Public enumerationListOrder List storage order.
Public enumerationListReturnType List return type. Type of data to return when selecting or removing items from the list.
Public enumerationListSortFlags List sort flags
Public enumerationListWriteFlags List write bit flags.
Public enumerationLogLevel Log escalation level.
Public enumerationLoopVarPart Loop variable parts for expression loop variables. Used to specify which part of a loop variable to access during iteration.
Public enumerationMapOrder Map storage order.
Public enumerationMapReturnType Map return type. Type of data to return when selecting or removing items from the map.
Public enumerationMapWriteFlags Map write bit flags. Requires server versions >= 4.3.
Public enumerationMapWriteMode Unique key map write type. This enum should only be used for server versions < 4.3. are recommended for server versions >= 4.3.
Public enumerationMaxCommandAction How to handle cases when the asynchronous maximum number of concurrent database commands have been exceeded.
Public enumerationModifyFlag Flags that control what data is modified by path expression operations.
Public enumerationOperationType 
Public enumerationParticleType 
Public enumerationPrivilegeCode Permission codes define the type of permission granted for a user's role.
Public enumerationQueryDuration Expected query duration. The server treats the query in different ways depending on the expected duration. This enum is ignored for aggregation queries, background queries and server versions < 6.0.
Public enumerationReadModeAP Read policy for AP (availability) namespaces.

How duplicates should be consulted in a read operation. Only makes a difference during migrations and only applicable in AP mode.

Public enumerationReadModeSC Read policy for SC (strong consistency) namespaces.

Determines SC read consistency options.

Public enumerationRecordExistsAction How to handle writes when the record already exists.
Public enumerationReplica Defines algorithm used to determine the target node for a command. Scan and query are not affected by replica algorithm.
Public enumerationSelectFlag Flags that control what data is selected and returned by path expression operations. These flags can be combined using bitwise OR operations.
Public enumerationTxnTxnState Transaction State.