Диспетчер ресурсов Azure: Конфигурация слотов веб-приложений: Проверка подлинности службы приложений

У меня проблема с применением аутентификации службы приложений к моим слотам веб-приложений.

Я получаю следующую ошибку:

Ресурс шаблона 'webapptest1a / authconfig' для типа 'Microsoft.WindowsAzure.ResourceStack.Frontdoor.Common.Entities.TemplateGenericProperty`1 [System.String]' в строке '1' и столбце '8107' имеет неправильную длину сегмента. Вложенный тип ресурса должен иметь такое же количество сегментов, как и его имя ресурса. Длина сегмента корневого ресурса должна быть на единицу больше, чем его имя.

Вот мой код, который я считаю в значительной степени правильным. Мне сложно найти ссылки на конфигурацию слотов для веб-приложений. У меня есть документация Microsoft, и я следил за ней, но не повезло.

Вот мой код:

{
        "type": "Microsoft.Web/sites/slots/config",
        "name": "[concat(parameters('webAppName'),'/authconfig')]",
        "apiVersion": "2018-11-01",
        "location": "[resourceGroup().location]",
        "dependsOn": [
            "[parameters('webAppName')]",
            "[concat(parameters('sqlDatabase'), 'constr')]"
        ],
         "properties": {
            "enabled": true,
            "runtimeVersion": "~1",
            "unauthenticatedClientAction": "RedirectToLoginPage",
            "tokenStoreEnabled": true,
            "allowedExternalRedirectUrls": null,
            "defaultProvider": "AzureActiveDirectory",
            "clientId": null,
            "clientSecret": null,
            "clientSecretCertificateThumbprint": null,
            "issuer": null,
            "allowedAudiences": [
                "https://webapptest1a-staging.azurewebsites.net"
            ],
            "additionalLoginParams": null,
            "isAadAutoProvisioned": false,
            "googleClientId": null,
            "googleClientSecret": null,
            "googleOAuthScopes": null,
            "facebookAppId": null,
            "facebookAppSecret": null,
            "facebookOAuthScopes": [
            ""
            ],
            "twitterConsumerKey": null,
            "twitterConsumerSecret": null,
            "microsoftAccountClientId": null,
            "microsoftAccountClientSecret": null,
            "microsoftAccountOAuthScopes": [
            ""
            ]
            }
        },

У меня действительно сотрясение мозга, я перепробовал много вариантов, но пока не приближаюсь.

Я изменил имя на несколько разных вариантов, после чего мне выдали разные ошибки, но в отношении соглашения об именах.

"name": "[concat(parameters('webAppName'), '/appsettings')]",

Я также дважды менял зависимости от:

"[parameters('webAppName')]",
                "[concat(parameters('sqlDatabase'), 'constr')]"

Кому:

"[concat('Microsoft.Web/sites/', parameters('webAppName'))]",
            "[concat(parameters('sqlDatabase'), 'constr')]"

Я действительно застрял! Хотел бы получить руководство.

Спасибо


person Josh Ov    schedule 01.07.2020    source источник


Ответы (1)


Поскольку ошибка говорит, что ресурс корневого уровня должен иметь на один сегмент меньше в имени, чем тип ресурса. Здесь вы передаете неправильное имя для ресурса. Поскольку длина сегмента Тип равна 4, длина сегмента Имя должна быть 3. Таким образом, в имени конфигурации вы должны передать имя слота примерно так, как показано ниже (вы можете изменить название слота и название конфигурации согласно вашему шаблону)

[concat(parameters('webAppName'), '/staging/web')]

Пожалуйста, проверьте приведенный ниже пример для справки:

{
    "type": "Microsoft.Web/sites/slots/config",
    "apiVersion": "2018-11-01",
    "name": "[concat(parameters('webAppName'), '/staging/web')]",
    "location": "East US",
    "dependsOn": [
        "[resourceId('Microsoft.Web/sites/slots', parameters('webAppName'), 'staging')]",
        "[resourceId('Microsoft.Web/sites', parameters('webAppName'))]"
    ],
    "properties": {
        "numberOfWorkers": 1,
        "defaultDocuments": [
            "Default.htm",
            "Default.html",
            "Default.asp",
            "index.htm",
            "index.html",
            "iisstart.htm",
            "default.aspx",
            "index.php",
            "hostingstart.html"
        ],
        "netFrameworkVersion": "v4.0",
        "requestTracingEnabled": false,
        "remoteDebuggingEnabled": false,
        "remoteDebuggingVersion": "VS2019",
        "httpLoggingEnabled": false,
        "logsDirectorySizeLimit": 35,
        "detailedErrorLoggingEnabled": false,
        "publishingUsername": "$mytestap345__staging",
        "scmType": "None",
        "use32BitWorkerProcess": true,
        "webSocketsEnabled": false,
        "alwaysOn": false,
        "managedPipelineMode": "Integrated",
        "virtualApplications": [
            {
                "virtualPath": "/",
                "physicalPath": "site\\wwwroot",
                "preloadEnabled": false
            }
        ],
        "loadBalancing": "LeastRequests",
        "experiments": {
            "rampUpRules": []
        },
        "autoHealEnabled": false,
        "localMySqlEnabled": false,
        "ipSecurityRestrictions": [
            {
                "ipAddress": "Any",
                "action": "Allow",
                "priority": 1,
                "name": "Allow all",
                "description": "Allow all access"
            }
        ],
        "scmIpSecurityRestrictions": [
            {
                "ipAddress": "Any",
                "action": "Allow",
                "priority": 1,
                "name": "Allow all",
                "description": "Allow all access"
            }
        ],
        "scmIpSecurityRestrictionsUseMain": false,
        "http20Enabled": false,
        "minTlsVersion": "1.2",
        "ftpsState": "AllAllowed",
        "reservedInstanceCount": 0
    }
}
person Jagrati Modi    schedule 02.07.2020
comment
Привет, Яграти! Я исправил эту ошибку и получил новую ошибку! Ресурс «Microsoft.Web / sites / mfrswebapptest1a / slots / slots» в группе ресурсов «MFRS-WEBAPP-AUTH-TEST» не найден. я знаю, что он говорит, но я не вижу, где в моем коде я это объявил ... - person Josh Ov; 02.07.2020
comment
Не могли бы вы добавить шаблон и задать его в другом вопросе, чтобы я мог посмотреть на шаблон и решить вашу проблему. Спасибо! - person Jagrati Modi; 02.07.2020
comment
Яграти, я добавил новый вопрос по этому поводу - если хотите, можете проверить :) - person Josh Ov; 02.07.2020