Class DynamoDbIngestingPatch

java.lang.Object
swim.api.agent.AbstractAgent
nstream.adapter.common.NstreamAgent
nstream.adapter.common.ingress.IngestorAgent<S,V>
nstream.adapter.common.ingress.IngestorMetricsAgent<DynamoDbIngressSettings,Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValue>>
nstream.adapter.dynamodb.DynamoDbIngestingAgent
nstream.adapter.dynamodb.DynamoDbIngestingPatch
All Implemented Interfaces:
nstream.adapter.common.schedule.StageService, swim.api.agent.Agent, swim.api.downlink.DownlinkFactory, swim.api.lane.LaneFactory, swim.api.ref.WarpRef, swim.api.store.Store, swim.concurrent.Schedule, swim.util.Log

public class DynamoDbIngestingPatch extends DynamoDbIngestingAgent
A concrete but extendable implementation of DynamoDbIngestingAgent that uses configuration to query and relay DynamoDB items.
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from interface nstream.adapter.common.schedule.StageService

    nstream.adapter.common.schedule.StageService.StageCallable<V extends Object>, nstream.adapter.common.schedule.StageService.StageConsumer<V extends Object>, nstream.adapter.common.schedule.StageService.StageRunnable
  • Field Summary

    Fields inherited from class nstream.adapter.dynamodb.DynamoDbIngestingAgent

    client, pollTimer

    Fields inherited from class nstream.adapter.common.ingress.IngestorAgent

    ingressSettings

    Fields inherited from class nstream.adapter.common.NstreamAgent

    apiLaneSummary, labeledLog, stageAmenity, summary

    Fields inherited from class swim.api.agent.AbstractAgent

    context
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    ingest(Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> unstructured)
     
    protected void
    ingest(swim.structure.Value value)
    Ingest an item after it has been structured into a Value object.
    protected software.amazon.awssdk.services.dynamodb.model.ScanRequest
    The configurable ScanRequest to be executed, looped through and ingested.

    Methods inherited from class nstream.adapter.common.ingress.IngestorMetricsAgent

    didStageReception, ingestOrCancel, ingestOrCancel, ingestOrContinue

    Methods inherited from class nstream.adapter.common.ingress.IngestorAgent

    didStart, loadSettings, loadSettings, loadSettings, willStop

    Methods inherited from class nstream.adapter.common.NstreamAgent

    apiLaneSummaryDecodeRequest, apiLaneSummaryDoRespond, debug, execute, executeNonblocking, fail, handleDeferrableException, info, prepareLoop, schedule, scheduleAtFixedRate, scheduleWithFixedDelay, scheduleWithInformedBackoff, trace, warn

    Methods inherited from class swim.api.agent.AbstractAgent

    agentContext, agentId, agents, asyncStage, cipherSuite, close, closeAgent, closeAgent, command, command, command, command, command, command, command, command, command, command, command, command, command, command, command, command, commandLane, demandLane, demandMapLane, didClose, didFail, didLoad, didOpen, didStop, didUnload, downlink, downlinkHttp, downlinkList, downlinkMap, downlinkValue, downlinkWs, error, geospatialData, geospatialData, geospatialLane, getAgent, getAgent, getAgent, getLane, getProp, getProp, hostRef, hostRef, hostUri, httpLane, isSecure, joinMapLane, joinValueLane, lane, laneRef, laneRef, laneRef, laneRef, link, listData, listData, listLane, localAddress, localCertificates, localIdentity, localPrincipal, mapData, mapData, mapLane, nodeRef, nodeRef, nodeRef, nodeRef, nodeUri, openAgent, openAgent, openAgent, openAgent, openAgent, openAgent, openLane, props, remoteAddress, remoteCertificates, remoteIdentity, remotePrincipal, schedule, securityProtocol, setTimer, spatialData, spatialData, spatialLane, stage, supplyLane, timer, valueData, valueData, valueLane, willClose, willLoad, willOpen, willStart, willUnload, wsLane

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DynamoDbIngestingPatch

      public DynamoDbIngestingPatch()
  • Method Details

    • scanRequest

      protected software.amazon.awssdk.services.dynamodb.model.ScanRequest scanRequest()
      Description copied from class: DynamoDbIngestingAgent
      The configurable ScanRequest to be executed, looped through and ingested.

      Can be overridden for bespoke queries.

      Specified by:
      scanRequest in class DynamoDbIngestingAgent
      Returns:
      the scan request
    • ingest

      protected void ingest(Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> unstructured) throws nstream.adapter.common.schedule.DeferrableException
      Specified by:
      ingest in class nstream.adapter.common.ingress.IngestorAgent<DynamoDbIngressSettings,Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValue>>
      Throws:
      nstream.adapter.common.schedule.DeferrableException
    • ingest

      protected void ingest(swim.structure.Value value) throws nstream.adapter.common.schedule.DeferrableException
      Ingest an item after it has been structured into a Value object. Will relay the message as configured by the relay schema in the settings.

      Can be overridden for custom ingestion.

      Parameters:
      value - the received item structured into a Value
      Throws:
      nstream.adapter.common.schedule.DeferrableException - an exception that will be handled without aborting ingestion