dmohl / fog Goto Github PK
View Code? Open in Web Editor NEWFog brings the cloud down to earth and harnesses it with F#.
Fog brings the cloud down to earth and harnesses it with F#.
From Tuomas:
The main thing is that the user would like to do table-service-query and not fetch the whole table. But the supported operations are very limited: http://msdn.microsoft.com/en-us/library/windowsazure/dd135725.aspx
I currently use this kind of (non-Fog-)code (of course it would be better to search only by rowkey to not get full table scan, but it is not always possible):
open System
open System.Data
open System.Linq
open Fog.Storage.Table
open System.Configuration
open System.Data.Services.Common
open Microsoft.WindowsAzure.StorageClient
let getItemByCondition partitionKey searchCondition =
let context = BuildTableClient().GetDataServiceContext()
let query =
let beginQuery = query { for item in context.CreateQuery(Azure user table
) do
where (item.PartitionKey = partitionKey) }
let filterQuery:IQueryable = searchCondition(beginQuery);
let selectQuery = query { for item in filterQuery do
take 1
select item}
selectQuery
query.AsTableServiceQuery().Execute()
|> Seq.tryFind(fun _ -> true)
let myItem =
let searched = "something"
getItemByCondition "myPartition" (fun iq -> iq.Where(fun (i:MyDataType) -> i.Something = searched))
Original version doesn't work with the new Azure SDK's (2.4, 2.5) and there is no support for Async-version of the interfaces. I did a fork that has those. Not complete, but enough for me...
Hi @dmohl
I may have asked you this before - would you like to move this to fsprojects, to share the development and take it forward together? Asking partly because of the attention it's getting here: https://twitter.com/shanselman/status/600747885202804737
If so transfer ownership to "fsprojects-transfer" organization and we'll get it done for you. You'll still have admin access.
cheers!
don
thanks
don
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.