我刚刚将 Azure Function 从 .NET 6.0 迁移到 .NET 8.0,同时,我还从内联进程模式迁移到新的隔离模式。
该函数使用
CosmosDBOutput
属性,以便从它返回的值存储在我的 CosmosDB 的容器中。
在 .NET 6.0 版本中,我不必指定资源的
id
,它是由 Cosmos(或 SDK?)使用 GUID 值自动添加的。
但是,在新版本中我必须指定
id
字段,否则我会收到一条(相当难以捉摸的)错误消息,指出 One of the specified inputs is invalid
有没有办法在使用
CosmosDBOutput
属性时不指定新资源的 id 字段?
听起来您正在从旧的扩展版本 (3.x) 迁移到新的扩展版本 (4.x)。
这在迁移指南中有详细介绍。
扩展中不再自动填充项目 ID。因此,项目 ID 必须专门包含针对您使用输出绑定创建项目的情况生成的 ID。要保持与先前版本相同的行为,您可以分配随机 GUID 作为 ID 属性。