我有一個 Azure 應用服務。我想以編程方式安裝站點擴展ASP.NET Core Logging Integration。

到目前為止,我所做的是:
- 通過 Azure 瀏覽器 GUI(開發工具 -> 擴展)手動安裝站點擴展。
- 提取 ARM 模板(自動化 -> 匯出模板)。
- 修剪 ARM 模板,使其僅包含站點和站點擴展名。
- 通過 Azure 瀏覽器 GUI 洗掉站點擴展。
- 使用 CLI (
az deployment group create -f template.json...)安裝 ARM 模板(到同一應用服務)。 - 在 Azure 瀏覽器 GUI 中,驗證站點擴展是否已安裝。
以上作品。ARM 模板正確安裝站點擴展。但我不明白如何。整個模板如下所示:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"siteName": {
"type": "string"
},
"location": {
"type": "string"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Web/sites",
"apiVersion": "2021-01-15",
"name": "[parameters('siteName')]",
"location": "[parameters('location')]",
"kind": "app",
"properties": {}
},
{
"type": "Microsoft.Web/sites/siteextensions",
"apiVersion": "2021-01-15",
"name": "[concat(parameters('siteName'), '/Microsoft.AspNetCore.AzureAppServices.SiteExtension')]",
"location": "West Europe",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('siteName'))]"
]
}
]
}
據我所知,沒有任何地方指定要安裝哪個站點擴展。所以我不明白為什么我的 ARM 模板會這樣做。
任何人都可以向我解釋如何修改此模板以安裝不同的站點擴展?
uj5u.com熱心網友回復:
以上作業。ARM 模板正確安裝站點擴展。但我不明白怎么做。
您的答案在以下區塊中:
{
"type": "Microsoft.Web/sites/siteextensions",
"apiVersion": "2021-01-15",
"name": "[concat(parameters('siteName'), '/Microsoft.AspNetCore.AzureAppServices.SiteExtension')]",
"location": "West Europe",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('siteName'))]"
]
}
這是完成這項作業的第二個塊,如下所示:
"name": "[concat(parameters('siteName'), '/Microsoft.AspNetCore.AzureAppServices.SiteExtension')]"
它由兩部分組成,首先是sitenameie webapp 名稱,并添加您要安裝的站點擴展名,即Microsoft.AspNetCore.AzureAppServices.SiteExtension您可以從
如果您還想安裝一些其他擴展程式,那么您可以在為一個應用程式手動安裝后檢查 id,如上圖所示,并使用以下模板:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"siteName": {
"type": "string"
},
"location": {
"type": "string"
},
"siteextensionId": {
"type" : "string"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Web/sites",
"apiVersion": "2021-01-15",
"name": "[parameters('siteName')]",
"location": "[parameters('location')]",
"kind": "app",
"properties": {}
},
{
"type": "Microsoft.Web/sites/siteextensions",
"apiVersion": "2021-01-15",
"name": "[concat(parameters('siteName'),'/',parameters('siteextensionId'))]",
"location": "West Europe",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('siteName'))]"
]
}
]
}
就我而言,我使用了一個.NET Retrace APM具有 id的擴展名Stackify.AzureWebApps。

輸出:

門戶網站:

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/319018.html
下一篇:在AzureDataLakeStorageGen1中將SparkDataframe保存為DeltaTable時,有沒有辦法在寫入之前判斷將創建多少個檔案?
