是否有野外文档列出了Azure应用服务计划(服务器场)支持的sku名称和层.
例如:名称:"S1",等级:"标准"= S1标准.
和名称:"Y1",等级:"动态"=功能消费计划.
支持的值列表(是否有Y2消费计划?)和服务器配置确实有助于规划.
可能重复:
为什么params表现得像这样?
如果你写一个像这样的方法:
void TestMethod(params object[] args)
{
}
然后如果你这样称它:TestMethod()然后数组将为空.
如果你这样称它:TestMethod(null,null)那么数组将是一个具有两个空值的数组.
但是为什么,当你调用这样的方法时:TestMethod(null)数组是否为null?
我原以为结果是一个带有一个空值的数组.
我知道这个C# - 是否有可能有空参数?但不解释原因.
- 编辑:
有趣的是,TestMethod((object)null)是一个具有一个空值的数组,而TestMetod((object [])null)是一个空数组.
这只是一个明确的意图,通过将null转换为您的预期类型是正确的方法.
我们使用应用程序客户端凭据通过 Azure AD 进行身份验证。
当我们这样做时Identity.Name是null。这是因为没有映射到 JWT 的名称声明。
我们发现您可以映射自定义声明,如下所示:Azure Active Directory 中的声明映射。
将策略应用于应用程序时,下次进行身份验证时会收到错误:
“AADSTS50146:需要使用特定于应用程序的签名密钥配置此应用程序。”
很酷,不过有一种方法可以解决这个问题:New-AzureADApplicationKeyCredential。它表明您可以在您的应用程序中创建一个对称签名密钥,瞧——我们现在有一个带有自定义声明的 JWT。
问题未解决:它生成带有 HS256 标头的 jwt,而不是所需的 RS256 算法。
当我尝试针对应用程序授权 jwt 时。它失败了,未经授权。
现在我卡住了,我可以映射自定义声明,但无法授权 jwt :(
我有办法解决这个问题吗?
我认为托管服务标识是一个伟大的概念,我喜欢keyvault.然而:
当我使用增量资源组部署使用脚本时:
为简洁起见,修改了样本
{
"type": "Microsoft.KeyVault/vaults",
"name": "[parameters('keyvaultName')]",
"apiVersion": "2015-06-01",
"properties": {
"accessPolicies": [
{
"objectId": "[reference(parameters('functionAppName'), '2016-08-01', 'Full').identity.principalId]",
"permissions": {
"keys": [],
"secrets": [
"Get"
]
}
}
]
},
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('functionAppName'))]"
]
},
{
"apiVersion": "2016-08-01",
"type": "Microsoft.Web/sites",
"name": "[parameters('functionAppName')]",
"kind": "functionapp",
"identity": {
"type": "SystemAssigned"
},
}
Run Code Online (Sandbox Code Playgroud)
它成功部署并将MSI添加到keyvault,但是 -
它吹走了已经分配的访问策略.arm是否可以保留accessPolicies并仅添加/更新匹配的策略?
如果没有这个,就不可能使用MSI完全编写部署脚本,并将主体分配给keyvault.
我错过了什么吗?