Azure Storage Type Provider


About the Azure Storage Type Provider

The F# Azure Storage Type Provider allows quick and easy exploration of your Azure Storage assets (Blobs, Tables and Queues) through the F# type system, allowing for rapid access to large amounts of data cheaply, both through scripts and applications. A fall-back to the standard .NET Azure SDK is also provided.

Example

This example illustrates some of the features available from the type provider.

 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
open FSharp.Azure.StorageTypeProvider

// Get a handle to my local storage emulator
type Azure = AzureTypeProvider<"UseDevelopmentStorage=true">

// Navigate through the containers to a specific file and read the contents.
let blobContents =
    Azure.Containers.samples.``folder/``.``childFile.txt``.Read()

// Perform a strongly-typed query against a table with automatic schema generation.
let results =
    Azure.Tables.employee.Query()
         .``Where Name Is``.``Equal To``("fred")
         .Execute()
         |> Array.map(fun row -> row.Name, row.Dob)

// Navigate through storage queues and get messages
let queueMessage = Azure.Queues.``sample-queue``.Dequeue()

Samples & documentation

The library comes with comprehensible documentation.

  • The quickstart contains further examples of how to get up and running as well the guiding principles for the library.

  • There are detailed tutorials for the Blob, Table and Queue APIs.

  • API Reference contains automatically generated documentation for all types, modules and functions in the library. This includes additional brief samples on using most of the functions.

Contributing and copyright

The project is hosted on GitHub where you can report issues, fork the project and submit pull requests. If you're adding a new public API, please also consider adding samples that can be turned into a documentation. You might also want to read the library design notes to understand how it works.

The library is available under Public Domain license, which allows modification and redistribution for both commercial and non-commercial purposes. For more information see the License file in the GitHub repository.

Multiple items
namespace FSharp

--------------------
namespace Microsoft.FSharp
namespace FSharp.Azure
namespace FSharp.Azure.StorageTypeProvider
type Azure = AzureTypeProvider<...>

Full name: Index.Azure
type AzureTypeProvider

Full name: FSharp.Azure.StorageTypeProvider.AzureTypeProvider


The entry type to connect to Azure Storage assets.
val blobContents : string

Full name: Index.blobContents
property AzureTypeProvider<...>.Containers: AzureTypeProvider<...>.Domain.Containers


Gets the list of all containers in this storage account.
property AzureTypeProvider<...>.Domain.Containers.samples: AzureTypeProvider<...>.Domain.samplesContainer


Provides access to the 'samples' container.
val results : (string * System.DateTime) []

Full name: Index.results
property AzureTypeProvider<...>.Tables: AzureTypeProvider<...>.Domain.Tables


Gets the list of all tables in this storage account.
property AzureTypeProvider<...>.Domain.Tables.employee: AzureTypeProvider<...>.Domain.employeeTable


Provides access to the 'employee' table.
AzureTypeProvider<...>.Domain.employeeTable.Query() : AzureTypeProvider<...>.Domain.employeeQueryBuilder


Creates a strongly-typed query against the table.

AzureTypeProvider<...>.Domain.employeeTable.Query(rawQuery: string, ?connectionString: string) : AzureTypeProvider<...>.Domain.employeeEntity []


Executes a weakly-type query and returns the results in the shape for this table.
module Array

from Microsoft.FSharp.Collections
val map : mapping:('T -> 'U) -> array:'T [] -> 'U []

Full name: Microsoft.FSharp.Collections.Array.map
val row : AzureTypeProvider<...>.Domain.employeeEntity
property AzureTypeProvider<...>.Domain.employeeEntity.Name: string


Returns the value of the 'Name' property
property AzureTypeProvider<...>.Domain.employeeEntity.Dob: System.DateTime


Returns the value of the 'Dob' property
val queueMessage : Async<Queue.ProvidedQueueMessage option>

Full name: Index.queueMessage
property AzureTypeProvider<...>.Queues: AzureTypeProvider<...>.Domain.Queues


Gets the list of all queues in this storage account.
Fork me on GitHub