getSparqlStream method
Gets a stream for an RDF graph.
With the Neptune Streams feature, you can generate a complete sequence of
change-log entries that record every change made to your graph data as it
happens. GetSparqlStream lets you collect these change-log
entries for an RDF graph.
The Neptune streams feature needs to be enabled on your Neptune DBcluster.
To enable streams, set the neptune_streams
DB cluster parameter to 1.
See Capturing graph changes in real time using Neptune streams.
When invoking this operation in a Neptune cluster that has IAM authentication enabled, the IAM user or role making the request must have a policy attached that allows the neptune-db:GetStreamRecords IAM action in that cluster.
Note that the neptune-db:QueryLanguage:Sparql IAM condition key can be used in the policy document to restrict the use of SPARQL queries (see Condition keys available in Neptune IAM data-access policy statements).
May throw ClientTimeoutException.
May throw ConstraintViolationException.
May throw ExpiredStreamException.
May throw IllegalArgumentException.
May throw InvalidArgumentException.
May throw InvalidParameterException.
May throw MemoryLimitExceededException.
May throw PreconditionsFailedException.
May throw StreamRecordsNotFoundException.
May throw ThrottlingException.
May throw TooManyRequestsException.
May throw UnsupportedOperationException.
Parameter commitNum :
The commit number of the starting record to read from the change-log
stream. This parameter is required when iteratorType
isAT_SEQUENCE_NUMBER or AFTER_SEQUENCE_NUMBER,
and ignored when iteratorType is TRIM_HORIZON or
LATEST.
Parameter encoding :
If set to TRUE, Neptune compresses the response using gzip encoding.
Parameter iteratorType :
Can be one of:
-
AT_SEQUENCE_NUMBER- Indicates that reading should start from the event sequence number specified jointly by thecommitNumandopNumparameters. -
AFTER_SEQUENCE_NUMBER- Indicates that reading should start right after the event sequence number specified jointly by thecommitNumandopNumparameters. -
TRIM_HORIZON- Indicates that reading should start at the last untrimmed record in the system, which is the oldest unexpired (not yet deleted) record in the change-log stream. -
LATEST- Indicates that reading should start at the most recent record in the system, which is the latest unexpired (not yet deleted) record in the change-log stream.
Parameter limit :
Specifies the maximum number of records to return. There is also a size
limit of 10 MB on the response that can't be modified and that takes
precedence over the number of records specified in the limit
parameter. The response does include a threshold-breaching record if the
10 MB limit was reached.
The range for limit is 1 to 100,000, with a default of 10.
Parameter opNum :
The operation sequence number within the specified commit to start reading
from in the change-log stream data. The default is 1.
Implementation
Future<GetSparqlStreamOutput> getSparqlStream({
int? commitNum,
Encoding? encoding,
IteratorType? iteratorType,
int? limit,
int? opNum,
}) async {
final headers = <String, String>{
if (encoding != null) 'Accept-Encoding': encoding.value,
};
final $query = <String, List<String>>{
if (commitNum != null) 'commitNum': [commitNum.toString()],
if (iteratorType != null) 'iteratorType': [iteratorType.value],
if (limit != null) 'limit': [limit.toString()],
if (opNum != null) 'opNum': [opNum.toString()],
};
final response = await _protocol.send(
payload: null,
method: 'GET',
requestUri: '/sparql/stream',
queryParams: $query,
headers: headers,
exceptionFnMap: _exceptionFns,
);
return GetSparqlStreamOutput.fromJson(response);
}