FSharp.Azure.Blob
Usage
Download blob
let readFile containerName blob =
let connString = " UseDevelopmentStorage=true"
let result = connString
|> Blob.fromConnectionString
|> Blob.container containerName
|> Blob.download blob
|> Blob.execAsync< BlobDownloadInfo>
result
let downloadTestJson =
async {
let! blobInfo = readFile " container" " test.json"
use sw = new StreamReader(blobInfo.Value.Content)
sw.ReadToEnd() |> Console.WriteLine
} |> Async.RunSynchronously
Upload blob
let uploadFile containerName file =
let connString = " UseDevelopmentStorage=true"
let result = connString
|> Blob.fromConnectionString
|> Blob.container containerName
|> Blob.upload " test.json" file
|> Blob.overwriteBlob true
|> Blob.createContainer true
|> Blob.execAsync< BlobContentInfo>
result
let uploadTestJson =
use file = File.OpenRead " test.json"
async {
let! blobInfo = uploadFile " container" file
blobInfo.Value.ContentHash
|> BitConverter.ToString
|> Console.WriteLine
} |> Async.RunSynchronously
Delete blob
let deleteFile containerName blob =
let connString = " UseDevelopmentStorage=true"
let result = connString
|> Blob.fromConnectionString
|> Blob.container containerName
|> Blob.delete blob
|> Blob.includeSnapshots true
|> Blob.execAsync< bool>
result
Delete snapshots
let deleteSnapshots containerName blob =
let connString = " UseDevelopmentStorage=true"
let result = connString
|> Blob.fromConnectionString
|> Blob.container containerName
|> Blob.deleteSnapshots blob
|> Blob.execAsync< bool>
result
Check if blob exists
let existsFile containerName blob =
let connString = " UseDevelopmentStorage=true"
let result = connString
|> Blob.fromConnectionString
|> Blob.container containerName
|> Blob.exists blob
|> Blob.execAsync< bool>
result
Development
Sample run in VS Code
Run Azure Storage Emulator
Use VSCode to run a sample client
Check the debug console