diff --git a/Directory.Build.props b/Directory.Build.props
index a0f04dfc..0cf16409 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -19,7 +19,7 @@
$(NoWarn);FS2003;NU5105;NU5104
3.0.0
[$(PinnedBaseVersion), 4.0.0)
- [$(PinnedBaseVersion), 4.0.0)
+
diff --git a/src/Propulsion.DynamoStore.Indexer/Handler.fs b/src/Propulsion.DynamoStore.Indexer/Handler.fs
index 8b6acb05..75fb3278 100644
--- a/src/Propulsion.DynamoStore.Indexer/Handler.fs
+++ b/src/Propulsion.DynamoStore.Indexer/Handler.fs
@@ -1,5 +1,6 @@
module Propulsion.DynamoStore.Indexer.Handler
+open Amazon.DynamoDBStreams
open Amazon.DynamoDBv2
open Propulsion.DynamoStore
@@ -8,15 +9,15 @@ let private parse (log: Serilog.ILogger) (dynamoEvent: Amazon.Lambda.DynamoDBEve
let mutable indexStream, systemStreams, noEvents = 0, 0, 0
try for record in dynamoEvent.Records do
match record.Dynamodb.StreamViewType with
- | x when x = StreamViewType.NEW_IMAGE || x = StreamViewType.NEW_AND_OLD_IMAGES -> ()
+ | x when x = string StreamViewType.NEW_IMAGE || x = string StreamViewType.NEW_AND_OLD_IMAGES -> ()
| x -> invalidOp $"Unexpected StreamViewType {x}"
- summary.Append(record.EventName.Value[0]) |> ignore
+ summary.Append(record.EventName) |> ignore
let updated = record.Dynamodb.NewImage
match record.EventName with
- | ot when ot = OperationType.REMOVE -> ()
- | ot when ot = OperationType.INSERT || ot = OperationType.MODIFY ->
+ | ot when ot = string OperationType.REMOVE -> ()
+ | ot when ot = string OperationType.INSERT || ot = string OperationType.MODIFY ->
let p = record.Dynamodb.Keys["p"].S
let sn, n = IndexStreamId.ofP p, int64 updated["n"].N
if p.StartsWith AppendsEpoch.Stream.Category || p.StartsWith AppendsIndex.Stream.Category then indexStream <- indexStream + 1
@@ -40,7 +41,7 @@ let private parse (log: Serilog.ILogger) (dynamoEvent: Amazon.Lambda.DynamoDBEve
| [| et |] -> ":" + et
| xs -> $":%s{xs[0]}+%d{xs.Length - 1}"
summary.Append(p).Append(et).Append(if i = 0 then " " else $"@%d{i} ") |> ignore
- | et -> invalidOp $"Unknown OperationType %s{et.Value}"
+ | et -> invalidOp $"Unknown OperationType %s{et}"
let spans = spans.ToArray()
log.Information("Index {indexCount} System {systemCount} NoEvents {noEventCount} Spans {spanCount} {summary}",
indexStream, systemStreams, noEvents, spans.Length, summary)
diff --git a/src/Propulsion.DynamoStore.Indexer/Propulsion.DynamoStore.Indexer.fsproj b/src/Propulsion.DynamoStore.Indexer/Propulsion.DynamoStore.Indexer.fsproj
index f508d459..6ef36b50 100644
--- a/src/Propulsion.DynamoStore.Indexer/Propulsion.DynamoStore.Indexer.fsproj
+++ b/src/Propulsion.DynamoStore.Indexer/Propulsion.DynamoStore.Indexer.fsproj
@@ -27,10 +27,11 @@
-
-
-
-
+
+
+
+
+
diff --git a/src/Propulsion.DynamoStore.Notifier/Handler.fs b/src/Propulsion.DynamoStore.Notifier/Handler.fs
index 5fdb1aa2..ef3689f0 100644
--- a/src/Propulsion.DynamoStore.Notifier/Handler.fs
+++ b/src/Propulsion.DynamoStore.Notifier/Handler.fs
@@ -1,7 +1,6 @@
module Propulsion.DynamoStore.Notifier.Handler
-open Amazon.DynamoDBv2
-open Amazon.Lambda.DynamoDBEvents
+open Amazon.DynamoDBStreams
open Amazon.SimpleNotificationService
open Amazon.SimpleNotificationService.Model
open Propulsion.DynamoStore
@@ -10,7 +9,7 @@ open System.Collections.Generic
open System.Net
open System.Threading
-let private parse (log: Serilog.ILogger) (dynamoEvent: DynamoDBEvent): KeyValuePair[] =
+let private parse (log: Serilog.ILogger) (dynamoEvent: Amazon.Lambda.DynamoDBEvents.DynamoDBEvent): KeyValuePair[] =
let tails = Dictionary()
let updateTails partitionId checkpoint =
match tails.TryGetValue partitionId with
@@ -20,16 +19,16 @@ let private parse (log: Serilog.ILogger) (dynamoEvent: DynamoDBEvent): KeyValueP
let mutable indexStream, otherStream, noEvents = 0, 0, 0
try for record in dynamoEvent.Records do
match record.Dynamodb.StreamViewType with
- | x when x = StreamViewType.NEW_IMAGE || x = StreamViewType.NEW_AND_OLD_IMAGES -> ()
+ | x when x = string StreamViewType.NEW_IMAGE || x = string StreamViewType.NEW_AND_OLD_IMAGES -> ()
| x -> invalidOp $"Unexpected StreamViewType {x}"
if summary.Length <> 0 then summary.Append ' ' |> ignore
- summary.Append(record.EventName.Value[0]) |> ignore
+ summary.Append(record.EventName) |> ignore
let updated = record.Dynamodb.NewImage
match record.EventName with
- | ot when ot = OperationType.REMOVE -> ()
- | ot when ot = OperationType.INSERT || ot = OperationType.MODIFY ->
+ | ot when ot = string OperationType.REMOVE -> ()
+ | ot when ot = string OperationType.INSERT || ot = string OperationType.MODIFY ->
let p = record.Dynamodb.Keys["p"].S
match FsCodec.StreamName.parse p with
| AppendsEpoch.Stream.For (partitionId, epochId) ->
@@ -50,7 +49,7 @@ let private parse (log: Serilog.ILogger) (dynamoEvent: DynamoDBEvent): KeyValueP
| _ ->
if p.StartsWith AppendsIndex.Stream.Category then indexStream <- indexStream + 1
else otherStream <- otherStream + 1
- | et -> invalidOp $"Unknown OperationType %s{et.Value}"
+ | et -> invalidOp $"Unknown OperationType %s{et}"
log.Information("Index {indexCount} Other {otherCount} NoEvents {noEventCount} Tails {tails} {summary:l}",
indexStream, otherStream, noEvents, Seq.map ValueTuple.ofKvp tails, summary)
Array.ofSeq tails
diff --git a/src/Propulsion.DynamoStore.Notifier/Propulsion.DynamoStore.Notifier.fsproj b/src/Propulsion.DynamoStore.Notifier/Propulsion.DynamoStore.Notifier.fsproj
index 70135bce..e047f4db 100644
--- a/src/Propulsion.DynamoStore.Notifier/Propulsion.DynamoStore.Notifier.fsproj
+++ b/src/Propulsion.DynamoStore.Notifier/Propulsion.DynamoStore.Notifier.fsproj
@@ -37,10 +37,11 @@
-
-
-
-
+
+
+
+
+
diff --git a/src/Propulsion.DynamoStore/Propulsion.DynamoStore.fsproj b/src/Propulsion.DynamoStore/Propulsion.DynamoStore.fsproj
index 78b4e0ff..80eb6f4e 100644
--- a/src/Propulsion.DynamoStore/Propulsion.DynamoStore.fsproj
+++ b/src/Propulsion.DynamoStore/Propulsion.DynamoStore.fsproj
@@ -26,7 +26,7 @@
-
+
diff --git a/tools/Propulsion.Tool/Propulsion.Tool.fsproj b/tools/Propulsion.Tool/Propulsion.Tool.fsproj
index 75546a6c..f58ad266 100644
--- a/tools/Propulsion.Tool/Propulsion.Tool.fsproj
+++ b/tools/Propulsion.Tool/Propulsion.Tool.fsproj
@@ -37,10 +37,10 @@
-
+
-
-
+
+