我想在从 azure 函数连接到 cosmos db 表 api 时使用托管身份。
Uri tableEndpoint = new Uri("https://mycosmos.table.cosmos.azure.com:443/");
var tableServiceClient = new TableServiceClient(tableEndpoint, new DefaultAzureCredential());
var tableClient = tableServiceClient.GetTableClient(tableName);
这会导致以下错误:
授权标头不符合所需的格式
我读到,cosmos db 表 api 尚不支持托管身份,但那是 2 年前的事了 - 我希望现在可以了吗?
截至 2023 年 11 月,仍不支持此功能(请参阅文档):
哪些 Azure Cosmos DB API 支持基于角色的访问控制?
支持NoSQL API。对 MongoDB API 的支持处于预览阶段。
Azure 存储表确实支持托管身份,并且可以作为替代方案:
Storage Table Data Contributor
或 Storage Table Data Reader
角色。这里有一篇很好的文章可以检查存储和宇宙表: