azure - 如何使用来自 secrets.json Azure 应用服务配置的嵌套值
问题描述
在我的应用程序的 secrets.json 文件中,我有以下部分。
"Serilog": {
"WriteTo": [
{
"Name": "AzureTableStorage",
"Args": {
"storageTableName": "Logging",
"connectionString": "DefaultEndpointsProtocol=xxxxxxxxxxx"
}
}
]
}
我正在尝试部署到 Azure,并将密钥添加到我的应用服务配置中,如下所示。
Serilog__WriteTo__Name
Serilog__WriteTo__Args__storageTableName
Serilog__WriteTo__Args__connectionString
但是,如果我使用两个较长密钥中的任何一个,应用程序将无法启动(仅显示错误:“如果您是应用程序管理员,则可以访问诊断资源。”)。我有另一个名为的设置CosmosConnectionSettings__ContainerName
,它工作正常,所以这似乎是嵌套问题,而不是它们的关键长度。
应用服务配置为使用 Linux。
有没有更好的方法来解决这个问题,这个限制是否记录在任何地方?
解决方案
我认为这不是嵌套的错。
我已经对其进行了测试,这是我的secrets.json
文件:
{
"Serilog": {
"WriteTo": {
"Name": "AzureTableStorage",
"Args": {
"storageBlobName": "1.jpg",
"connectionString": "DefaultEndpointsProtocol=https;AccountName=XXX;AccountKey=XXX;"
}
}
}
}
我将值写入端点页面,如下所示: 这是我在门户网站上的配置中的 Appsettings:
我设置的 Appsettings 在 azure web app 上运行良好。
我的建议是:
- 检查您如何使用密钥
AzureTableStorage
和connectionString
脚本。 - 在 IIS 上测试您的项目。实际上,如果它在 IIS 上运行良好,它应该在 Azure 上运行良好。
推荐阅读
- node.js - 如何使用节点 js 返回 AWS Lambda 回调值
- aws-lambda - 知道如何在 Alexa 发现中自定义supportedCookingModes 吗?
- python - 我需要创建一个递归函数来替换列表中小于 n 的所有数字
- html - Fireforx 中的高度位置与 Chrome 不同
- javascript - 如何在 JavaScript 中选择字符串的特殊部分?
- git - 如何以编程方式编辑 git 分支的描述?
- google-apps-script - 根据输入生成多行并将 SUM 公式添加到最后一行
- javascript - 将行另存为文本文件,从单元格中获取文件名
- javascript - 有没有办法过滤另一个数组中的数组中的项目
- c++ - 将返回类型的函数参数的常量与概念匹配