Azure存储中的数据传输

时间:2017-09-29 16:21:53

标签: c# azure azure-storage azure-table-storage

有没有理由在写入天蓝色存储表时我有大量数据传输?存储没有更多的操作,只写。 enter image description here 有一次操作多次发生:

user_id

await keyRepository.InsertEntityAsync(new KeyEntity { PartitionKey = item.PartitionKey, RowKey = item.RowKey }); 看起来像:

InsertEntityAsync

创建public async Task InsertEntityAsync(T entity) { if (entity == null) throw new ArgumentNullException(nameof(entity)); await _cloudTable.ExecuteAsync(TableOperation.Insert(entity)); }

_cloudTable

修改1

阅读 - 45.5 GB

写 - 39.4 GB

1 个答案:

答案 0 :(得分:0)

根据那篇文章:

https://docs.microsoft.com/en-us/rest/api/storageservices/insert-entity

实体在回复正文中返回。

如果您希望保存输出带宽,可以在请求中添加以下标题:

Prefer : return-no-content

修改1

Prefer : return-no-content

默认发送

但是可以通过以下方式控制标头的发送:

  OperationContext operationContext = new OperationContext { };
  operationContext.UserHeaders = new Dictionary<string, string> {
    { "Prefer", "return-no-content" }
  };
  table.Execute(insertOperation, null, operationContext: operationContext);

尽管如此,在我的试验中,我在响应中发送了超过600个字节(只有标题,没有正文)

修改2

我也尝试过批量发送,但如果请求数量减少,则使用的全局带宽不会最小化