Insert operation in Azure Table Client return 除了 204 什么时候?
When does Insert operation in Azure Table Client return something else but 204?
这是(大致)我在 Azure 中插入实体的方式 Table:
public async Task<bool> InsertAsync(string tableName, T entity)
{
var table = _cloudTableClient.GetTableReference(tableName);
await table.CreateIfNotExistsAsync();
var operation = TableOperation.Insert(entity);
var tableResult = await table.ExecuteAsync(operation);
return tableResult.HttpStatusCode == (int)HttpStatusCode.NoContent;
}
看起来这或多或少是 。我正在为此编写测试,所以我很好奇,我应该怎么做才能在 tableResult.HttpStatusCode
中得到 204?
插入错误的实体会引发异常,插入相同的实体会引发异常 - 我不是谈论那个。我想知道状态码还能分配给什么
对于成功的 Insert Entity
操作,您可以获得 204 (No Content)
或 201 (Created)
状态代码。状态代码取决于 Prefer
header.
的值
如果 Prefer header 设置为 return-no-content,则操作成功 returns 状态代码 204(无内容)。如果未指定 Prefer header 或将其设置为 return-content,则操作成功 returns 状态代码 201(已创建)。
参考:https://docs.microsoft.com/en-us/rest/api/storageservices/insert-entity#response
如果由于某种原因操作失败,SDK 会在操作失败时抛出异常(StorageException 类型)。
这是(大致)我在 Azure 中插入实体的方式 Table:
public async Task<bool> InsertAsync(string tableName, T entity)
{
var table = _cloudTableClient.GetTableReference(tableName);
await table.CreateIfNotExistsAsync();
var operation = TableOperation.Insert(entity);
var tableResult = await table.ExecuteAsync(operation);
return tableResult.HttpStatusCode == (int)HttpStatusCode.NoContent;
}
看起来这或多或少是 tableResult.HttpStatusCode
中得到 204?
插入错误的实体会引发异常,插入相同的实体会引发异常 - 我不是谈论那个。我想知道状态码还能分配给什么
对于成功的 Insert Entity
操作,您可以获得 204 (No Content)
或 201 (Created)
状态代码。状态代码取决于 Prefer
header.
如果 Prefer header 设置为 return-no-content,则操作成功 returns 状态代码 204(无内容)。如果未指定 Prefer header 或将其设置为 return-content,则操作成功 returns 状态代码 201(已创建)。
参考:https://docs.microsoft.com/en-us/rest/api/storageservices/insert-entity#response
如果由于某种原因操作失败,SDK 会在操作失败时抛出异常(StorageException 类型)。