F#和AzureStorage GetBlobContainer

时间:2014-07-05 15:46:50

标签: f# azure-storage

有没有人在F#项目中使用过WindowsAzure.Storage NuGet包?我正在尝试使用以下代码将照片上传到Azure存储:

member this.InsertPhotoImage(photoImage: PhotoImage) =
    let storageAccount = CloudStorageAccount.Parse(connectionString)
    let blobClient = storageAccount.CreateCloudBlobClient()
    let container = this.GetBlobContainer(blobClient) 
    let photoUri = this.GetPhotoImageUri(photoImage.UniqueId)
    let blockBlob = container.GetBlockBlobReference(photoUri) 
    use memoryStream = new MemoryStream(photoImage.ImageBytes)
    blockBlob.UploadFromStream(memoryStream)

我在container.GetBlockBlobReference和blockBlob.UploadFromStream行上得到了这个异常: 根据此程序点之前的信息查找不确定类型的对象。

当我在这一行上进行这样的显式演员时

    let container = this.GetBlobContainer(blobClient) :> CloudBlobContainer

它编译但是我得到了这个警告:

“CloudBlobContainer”类型没有任何正确的子类型,不需要用作静态强制的目标

提前致谢

1 个答案:

答案 0 :(得分:1)

好的,这是我和降级规则的问题

我需要在使用它们之前创建辅助函数(在本例中为GetBlobContainer)。