-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
FSharp.CosmosDb
An F# wrapper around Cosmos DB's .NET SDK to make it more friendly for F# developers (by aaronpowell)
DISCLAIMER: I'll be using Ply in most of the samples due to it's efficient task CE and the easy interoperability between C# tasks as well as F#'s async. Http operations are by nature async operations, that means using async/await in C#/JavaScript or using async {} in F# which can be a little annoying when you need to append |> Async.AwaitTask to every function/method that returns a Task.
Why do I mention this? because today we'll see three ways to do Http Requests with different libraries, we'll first explore the BCL's (Base Class Library) System.Net.Http then we'll proceed to use Flurl and finally we'll check FsHttp, and depending on your taste or needs you may want to use one or the other.
ClosedXML.SimpleSheets
Npgsql.FSharp
FSharp.CosmosDb
Let's move on to the Json requests. In F# Json Serialization/Deserialization is an interesting topic because we're used so much to use things like Option, Result, Discriminated Unions and other F# specific constructs that sometimes they don't translate well to plain json or from plain json and that's why often F# libraries leave the that aspect out of scope to other libraries like Thoth.Json or FSharp.SystemTextJson. For now we'll fall back to the BCL and use the System.Text.Json namespace since we are only using primitive types in our model