Невозможно создать КБ в QnA Maker при развертывании через ARM (ключи конечной точки не найдены) - PullRequest
0 голосов
/ 19 марта 2020

У меня проблема с тем, что я не могу создать КБ в QnA Maker для сервисов, которые я развернул через шаблон ARM / DevOps. Здесь и на Github есть ряд проблем, но основные предложения (создать все ресурсы в одном регионе, больше ничего не помещать в план обслуживания приложения, удалять и повторно развертывать) не сработали для меня. Как уже отмечалось, ресурсы были созданы и удалены несколько раз с одинаковыми именами, поэтому я не знаю, является ли это частью проблемы. Ресурсы прекрасно создаются (когнитивная служба, служба приложений, план обслуживания приложений, azure поиск и понимание приложений), все в WestUS, но тогда я не могу создать базу знаний ни через API, ни непосредственно на qnamaker.ai , В обоих случаях я получаю сообщение об ошибке:

Ключи конечной точки не найдены .

Я могу получить ключи через Azure CLI, плюс они отображаются на портале так что это не проблема. Возможно, это проблема с параметром авторизации EndpointKey, который генерируется / отображается после публикации нового КБ, но, поскольку я не могу создать или опубликовать sh один, я не могу найти этот ключ. Не уверен, что это тот ключ, на который ссылается сообщение об ошибке.

Вот шаблон ARM, который я использую для настройки ресурсов.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "sites_etn_qnamaker_name": {
            "defaultValue": "etn-qnamaker",
            "type": "string"
        },
        "serverfarms_etn_qnamaker_name": {
            "defaultValue": "etn-qnamaker",
            "type": "string"
        },
        "components_etn_qnamaker_ai_name": {
            "defaultValue": "etn-qnamaker-ai",
            "type": "string"
        },
        "accounts_etn_qnamaker_name": {
            "defaultValue": "etn-qnamaker",
            "type": "string"
        },
        "searchServices_etnqnamaker_azsearch_name": {
            "defaultValue": "etnqnamaker-azsearch",
            "type": "string"
        },
        "smartdetectoralertrules_failure_anomalies___etn_qnamaker_ai_name": {
            "defaultValue": "failure anomalies - etn-qnamaker-ai",
            "type": "string"
        },
        "actiongroups_application_20insights_20smart_20detection_externalid": {
            "defaultValue": "/subscriptions/REDACTED/resourceGroups/avcnc-chatbot-rg/providers/microsoft.insights/actiongroups/application%20insights%20smart%20detection",
            "type": "string"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.CognitiveServices/accounts",
            "apiVersion": "2017-04-18",
            "name": "[parameters('accounts_etn_qnamaker_name')]",
            "location": "westus",
            "sku": {
                "name": "S0"
            },
            "kind": "QnAMaker",
            "properties": {
                "apiProperties": {
                    "qnaRuntimeEndpoint": "[concat('https://', parameters('accounts_etn_qnamaker_name'), '.azurewebsites.net')]"
                },
                "customSubDomainName": "[parameters('accounts_etn_qnamaker_name')]"
            }
        },
        {
            "type": "Microsoft.Insights/components",
            "apiVersion": "2015-05-01",
            "name": "[parameters('components_etn_qnamaker_ai_name')]",
            "location": "westus",
            "tags": {
                "hidden-link:/subscriptions/REDACTED/resourceGroups/ENTP-Chatbot-rg/providers/Microsoft.Web/sites/etn-qnamaker": "Resource"
            },
            "kind": "web",
            "properties": {
                "Application_Type": "web"
            }
        },
        {
            "type": "Microsoft.Search/searchServices",
            "apiVersion": "2015-08-19",
            "name": "[parameters('searchServices_etnqnamaker_azsearch_name')]",
            "location": "West US",
            "sku": {
                "name": "basic"
            },
            "properties": {
                "replicaCount": 1,
                "partitionCount": 1,
                "hostingMode": "default"
            }
        },
        {
            "type": "Microsoft.Web/serverfarms",
            "apiVersion": "2018-02-01",
            "name": "[parameters('serverfarms_etn_qnamaker_name')]",
            "location": "West US",
            "sku": {
                "name": "S1",
                "tier": "Standard",
                "size": "S1",
                "family": "S",
                "capacity": 1
            },
            "kind": "app",
            "properties": {
                "perSiteScaling": false,
                "maximumElasticWorkerCount": 1,
                "isSpot": false,
                "reserved": false,
                "isXenon": false,
                "hyperV": false,
                "targetWorkerCount": 0,
                "targetWorkerSizeId": 0
            }
        },
        {
            "type": "microsoft.alertsmanagement/smartdetectoralertrules",
            "apiVersion": "2019-06-01",
            "name": "[parameters('smartdetectoralertrules_failure_anomalies___etn_qnamaker_ai_name')]",
            "location": "global",
            "dependsOn": [
                "[resourceId('microsoft.insights/components', parameters('components_etn_qnamaker_ai_name'))]"
            ],
            "properties": {
                "description": "Failure Anomalies notifies you of an unusual rise in the rate of failed HTTP requests or dependency calls.",
                "state": "Enabled",
                "severity": "Sev3",
                "frequency": "PT1M",
                "detector": {
                    "id": "FailureAnomaliesDetector",
                    "name": "Failure Anomalies",
                    "description": "Detects if your application experiences an abnormal rise in the rate of HTTP requests or dependency calls that are reported as failed. The anomaly detection uses machine learning algorithms and occurs in near real time, therefore there's no need to define a frequency for this signal.<br/></br/>To help you triage and diagnose the problem, an analysis of the characteristics of the failures and related telemetry is provided with the detection. This feature works for any app, hosted in the cloud or on your own servers, that generates request or dependency telemetry - for example, if you have a worker role that calls <a class=\"ext-smartDetecor-link\" href=\\\"https://docs.microsoft.com/en-us/azure/application-insights/app-insights-api-custom-events-metrics#trackrequest\\\" target=\\\"_blank\\\">TrackRequest()</a> or <a class=\"ext-smartDetecor-link\" href=\\\"https://docs.microsoft.com/en-us/azure/application-insights/app-insights-api-custom-events-metrics#trackdependency\\\" target=\\\"_blank\\\">TrackDependency()</a>.",
                    "supportedResourceTypes": [
                        "ApplicationInsights"
                    ],
                    "imagePaths": [
                        "https://globalsmartdetectors.blob.core.windows.net/detectors/FailureAnomaliesDetector/v0.18/FailureAnomaly.png"
                    ]
                },
                "scope": [
                    "[resourceId('microsoft.insights/components', parameters('components_etn_qnamaker_ai_name'))]"
                ],
                "actionGroups": {
                    "groupIds": [
                        "[parameters('actiongroups_application_20insights_20smart_20detection_externalid')]"
                    ]
                }
            }
        },
        {
            "type": "Microsoft.Web/sites",
            "apiVersion": "2018-11-01",
            "name": "[parameters('sites_etn_qnamaker_name')]",
            "location": "West US",
            "dependsOn": [
                "[resourceId('Microsoft.Web/serverfarms', parameters('serverfarms_etn_qnamaker_name'))]"
            ],
            "tags": {
                "hidden-related:/subscriptions/REDACTED/resourcegroups/ENTP-Chatbot-rg/providers/Microsoft.Web/serverfarms/etn-qnamaker": "empty"
            },
            "kind": "app",
            "properties": {
                "enabled": true,
                "hostNameSslStates": [
                    {
                        "name": "[concat(parameters('sites_etn_qnamaker_name'), '.azurewebsites.net')]",
                        "sslState": "Disabled",
                        "hostType": "Standard"
                    },
                    {
                        "name": "[concat(parameters('sites_etn_qnamaker_name'), '.scm.azurewebsites.net')]",
                        "sslState": "Disabled",
                        "hostType": "Repository"
                    }
                ],
                "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('serverfarms_etn_qnamaker_name'))]",
                "reserved": false,
                "isXenon": false,
                "hyperV": false,
                "scmSiteAlsoStopped": false,
                "clientAffinityEnabled": true,
                "clientCertEnabled": false,
                "hostNamesDisabled": false,
                "containerSize": 0,
                "dailyMemoryTimeQuota": 0,
                "httpsOnly": false,
                "redundancyMode": "None"
            }
        },
        {
            "type": "Microsoft.Web/sites/config",
            "apiVersion": "2018-11-01",
            "name": "[concat(parameters('sites_etn_qnamaker_name'), '/web')]",
            "location": "West US",
            "dependsOn": [
                "[resourceId('Microsoft.Web/sites', parameters('sites_etn_qnamaker_name'))]"
            ],
            "tags": {
                "hidden-related:/subscriptions/REDACTED/resourcegroups/ENTP-Chatbot-rg/providers/Microsoft.Web/serverfarms/etn-qnamaker": "empty"
            },
            "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",
                "phpVersion": "5.6",
                "requestTracingEnabled": false,
                "remoteDebuggingEnabled": false,
                "httpLoggingEnabled": false,
                "logsDirectorySizeLimit": 35,
                "detailedErrorLoggingEnabled": false,
                "publishingUsername": "[concat('$',parameters('sites_etn_qnamaker_name'))]",
                "scmType": "None",
                "use32BitWorkerProcess": true,
                "webSocketsEnabled": false,
                "alwaysOn": false,
                "managedPipelineMode": "Integrated",
                "virtualApplications": [
                    {
                        "virtualPath": "/",
                        "physicalPath": "site\\wwwroot",
                        "preloadEnabled": false
                    }
                ],
                "loadBalancing": "LeastRequests",
                "experiments": {
                    "rampUpRules": []
                },
                "autoHealEnabled": false,
                "cors": {
                    "allowedOrigins": [
                        "*"
                    ],
                    "supportCredentials": 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
            }
        },
        {
            "type": "Microsoft.Web/sites/hostNameBindings",
            "apiVersion": "2018-11-01",
            "name": "[concat(parameters('sites_etn_qnamaker_name'), '/', parameters('sites_etn_qnamaker_name'), '.azurewebsites.net')]",
            "location": "West US",
            "dependsOn": [
                "[resourceId('Microsoft.Web/sites', parameters('sites_etn_qnamaker_name'))]"
            ],
            "properties": {
                "siteName": "[parameters('sites_etn_qnamaker_name')]",
                "hostNameType": "Verified"
            }
        }
    ]
}

Вот лишь некоторые из проверенные сайты

РЕДАКТИРОВАТЬ: сбой создания КБ как через qnamaker.ai, так и через API. На qnamaker.ai я получаю это сообщение при попытке создать КБ:

qnamaker.ai error message

А вот сценарий PowerShell, который я использовал, чтобы попытаться создать это программно:

$body = Get-Content '$(System.DefaultWorkingDirectory)/_AveryCreek_OEM_CSC_Bot/models/qnamaker/Avery_Creek_Commercial_QnA.json' | Out-String

$header = @{
  "Content-Type"="application/json"
  "Ocp-Apim-Subscription-Key"="$(QNA_KEY)"
}

Invoke-RestMethod -Uri "https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/knowledgebases/create" -Method 'Post' -Body $body -Headers $header

1 Ответ

1 голос
/ 20 марта 2020

Я подозреваю, что за вас проголосовали, потому что это выглядит намного больше как отчет об ошибке, чем вопрос переполнения стека. Из первой связанной с вами проблемы :

Мы go опередим и закроем эту проблему, поскольку это проблема уровня обслуживания и лучший способ сообщить о ней, если она возникнет снова через портал QnA из опции «Общий запрос через пользовательский голос» в правом верхнем углу.

Я все равно постараюсь ответить вам. Вы говорите, что пытались создать все ресурсы в одном регионе, но помните, что группы ресурсов также имеют местоположения. Убедитесь, что группа ресурсов также находится в том же регионе в соответствии с ответом на вопрос переполнения стека, с которым вы связались: Невозможно создать базу знаний для azure когнитивной службы (Ошибка: «Ключи конечной точки не найдены».)

Кажется, что иногда возникает проблема, связанная с тем, что ключи конечных точек могут быть найдены только в том случае, если группа ресурсов содержит все ресурсы для службы QnA Maker (например, служба приложений, аналитика приложений, поиск Служба и план обслуживания приложения) расположены в том же регионе, что и сама служба QnA Maker.

Я также вижу, что вы пытались больше ничего не включать в план обслуживания приложения, и вы ' мы пытались удалить и перераспределить. Но вы также можете попробовать подождать некоторое время или повторить попытку более настойчиво. Из другой проблемы GitHub :

Эти сбои периодически. Если я постоянно повторяю ошибку, база знаний часто со временем будет создана.

И из этого выпуска :

По словам команды QnA Maker, эта ошибка отображается, когда служба QnA Maker еще не завершила инициализацию. Похоже, что сейчас у QnA Maker есть проблемы со службой, из-за которых процесс инициализации занимает даже больше времени, чем мы ожидаем в сценарии.

Если вы хотите поднять проблему через UserVoice, я Настоятельно рекомендуем опубликовать его на форуме , чтобы другие люди могли увидеть проблему и сообщить об этом.

...