我在Azure App Services的linux docker容器中运行一个C#应用程序,该应用程序从Azure密钥保管库获取其配置信息。
过去我们这样做:
export class Item extends PureComponent {
render() {
const { item } = this.props;
return (
<MainContext.Consumer>
{({ handleSelectItem }) => (
<div>
<button onClick={() => handleSelectItem(item)}>{item.name}</button>
</div>
)}
</MainContext.Consumer>
);
}
}
我们一直在尝试使用托管身份。所以我:
从nuget中添加了AppAuthenication库。
这样更新了我的代码:
config.AddAzureKeyVault(builtConfig["Azure:Auth:Vault"],
builtConfig["Azure:Auth:ClientId"], builtConfig["Azure:Auth:ClientSecret"]);
但是,当我们通过更新容器将其放入Azure App Services时,它挂起并试图启动应用程序。没有任何反应,最终超时。
我可以找到许多有关直接应用程序服务的文档,但是对于容器来说没有什么不同。看来它受支持了。
在App Services中为Linux容器实现这项功能时,我缺少什么?
即使打开托管身份,也会导致容器从不响应ping检查,更不用说正确启动了。
答案 0 :(得分:1)
目前似乎不支持此功能。我为验证此语句所做的操作:
使用系统分配的身份创建了两个实例:
将完全相同的代码部署到get a token through curl。
它在VM上按预期工作,但在自定义映像上不起作用。
不幸的是,Azure并未像所宣传的那样在其托管服务上提供托管身份。