针对Azure函数中预加载的Nuget包的更高版本

针对Azure函数中预加载的Nuget包的更高版本,azure,azure-storage,azure-functions,Azure,Azure Storage,Azure Functions,我正在编写一个Azure函数,它使用Microsoft.WindowsAzure.Storage来检查当Blob从存档移动到冷态时的再水化状态 为此,我需要检查blob属性的StandardBlobTier字段。我相信这在Microsoft.WindowsAzure.Storagenuget包中是一个相当新的属性,因此我需要针对最新版本 我在project.json中以9.1.0版为目标,但仍然得到错误:“BlobProperties”不包含“StandardBlobTier”的定义。。Micr

我正在编写一个Azure函数,它使用
Microsoft.WindowsAzure.Storage
来检查当Blob从存档移动到冷态时的再水化状态

为此,我需要检查blob属性的
StandardBlobTier
字段。我相信这在
Microsoft.WindowsAzure.Storage
nuget包中是一个相当新的属性,因此我需要针对最新版本

我在project.json中以9.1.0版为目标,但仍然得到错误:
“BlobProperties”不包含“StandardBlobTier”的定义。
。Microsoft.WindowsAzure.Storage的哪个版本将自动加载到Azure功能环境中,我如何覆盖它

源代码:

#r "System.IO"
#r "Newtonsoft.Json"
#r "Microsoft.WindowsAzure.Storage"

using System;
using System.Data.SqlClient;
using Newtonsoft.Json;
using Dapper;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using Microsoft.WindowsAzure.Storage.Shared.Protocol;

public static async Task Run(TimerInfo myTimer, TraceWriter log)
{    

    var archiveStorageAccount = CloudStorageAccount.Parse("{storageConnectionString}");

    CloudBlobClient blobClient = archiveStorageAccount.CreateCloudBlobClient();

    // Retrieve a reference to a container. 
    CloudBlobContainer container = blobClient.GetContainerReference(containerName);

    // Retrieve reference to a blob.
    CloudBlockBlob blockBlob = container.GetBlockBlobReference(blobName);

    try
    {
        //Fill blob properties
        await blockBlob.FetchAttributesAsync();

        if (blockBlob.Properties.StandardBlobTier.HasValue && blockBlob.Properties.StandardBlobTier.Value == StandardBlobTier.Cool)
        {
            //Blob ready
        }

        //Blob still rehydrating
    }
    catch (StorageException ex) { throw; }
}

看起来像是Windows.Azure.Storage os 9.1.1的最新版本:

我还查阅了文档,它似乎是命名空间的一部分:
Microsoft.WindowsAzure.Storage.Blob
,您是否可以尝试使用此名称空间而不是
Microsoft.WindowsAzure.Storage

有关StandardBlobTier的更多文档:

更新: Azure函数使用的存储SDK版本7.2.1.0没有新属性,但是,内部开发人员确认可以通过创建customer project.json调用存储SDK的最新版本,并调用最新版本:

  Project.json:
{
  "frameworks": {
    "net46":{
      "dependencies": {
        "Microsoft.WindowsAzure.Storage": "9.0.0"
      }
    }
   }
}

在这种情况下,您可能需要删除“#r”Microsoft.WindowsAzure.Storage”

是的,它是
Microsoft.WindowsAzure.Storage.Blob
命名空间的一部分,但它仍然属于
Microsoft.WindowsAzure.Storage
nuget包。我正在使用该名称空间,但显然预加载的版本不包含
StandardBlobTier
属性。让我与一些内部团队核实一下,然后再与您联系。您可以添加您在问题中使用的代码吗?在问题中添加了函数源代码,感谢您的关注!谢谢你的反馈,亚当。我相信我过去也尝试过,但当我回到我的机器上时,我会尝试并更新我的状态。