小编Chr*_*isW的帖子

写入Azure Block Blobs

我正在使用PutBlock和PutBlockList将数据上传到块blob,我正在使用的代码如下: -

CloudBlobContainer container = blobStorage.GetContainerReference("devicebackups");
var permissions = container.GetPermissions();
permissions.PublicAccess = BlobContainerPublicAccessType.Container;
container.SetPermissions(permissions);
CloudBlockBlob blob = container.GetBlockBlobReference(serialNo.ToLower() + " " + dicMonths[DateTime.Now.Month]);
try
{
    var serializer = new XmlSerializer(typeof(List<EnergyData>));
    var stringBuilder = new StringBuilder();
    using (XmlWriter writer = XmlWriter.Create(stringBuilder))
    {
        try
        {
            serializer.Serialize(writer, deviceData);
            byte[] byteArray = Encoding.UTF8.GetBytes(stringBuilder.ToString());

            List<string> blockIds = new List<string>();
            try 
            { 
                blockIds.AddRange(blob.DownloadBlockList(BlockListingFilter.Committed).Select(b => b.Name)); 
            }
            catch (StorageClientException e)
            {
                if (e.ErrorCode != StorageErrorCode.BlobNotFound)
                {
                    throw;
                }
                blob.Container.CreateIfNotExist();
            }
            var newId = Convert.ToBase64String(Encoding.UTF8.GetBytes(blockIds.Count().ToString()));
            blob.PutBlock(newId, new MemoryStream(byteArray), …
Run Code Online (Sandbox Code Playgroud)

azure

5
推荐指数
1
解决办法
6024
查看次数

标签 统计

azure ×1