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 类型)。