Azure ElasticPool "BadRequest" во время развертывания создания при использовании шаблона ARM

У меня есть задача, в которой мне нужно использовать шаблон ARM, чтобы "настроить SQL-сервер с эластичным пулом и двумя базами данных (импортированными из файлов bacpac), используя образцы Microsoft Adventureworks".

Большая часть шаблона, который я сделал с использованием шаблона "101-sql-elastic-pool-create", доступен здесь: https://github.com/Azure/azure-quickstart-templates/tree/master/101-sql-elastic-pool-create Я использовал его для настройки эластичного пула и использовал образец из этой документации (https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-tutorial-deploy-sql-extensions-bacpac) для импорта.bacpac в базу данных.

Но когда я пытаюсь развернуть этот шаблон (его можно посмотреть здесь: https://github.com/KarlisAG/SQL_ARM/blob/main/azuredeploy.json), у меня возникает ошибка ("Resource Microsoft.Sql/servers/elasticPools 'task4sql/elasticp' failed with message '{ "code": "BadRequest", "message": "An error occurred while processing this request.", "target": null, "details": [], "innererror": [] }' ")

Итак, самая большая проблема (помимо того, что я являюсь абсолютным новичком) в том, что я не знаю, что мне нужно исправить, потому что не предоставляется никакой дополнительной информации, кроме "BadRequest". Для развертывания я использовал два разных метода: 1) автоматически сгенерированный из VS при создании групп ресурсов Azure, 2) тот, который показан в этой документации, с некоторыми моими собственными изменениями, поэтому он может работать для меня ( https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-tutorial-deploy-sql-extensions-bacpac#deploy-the-template), откуда я также получил часть кода для импорта.bacpac в моя недавно созданная база данных. [Оба они доступны в одном репозитории с именами "Deploy-AzureResourceGroups.ps1" и "DeployScript.ps1" соответственно]. Оба метода возвращают одну и ту же ошибку.

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

Итак, кто-нибудь знает, как мне создать этот тип шаблона, или я плохо его воссоздал, или я упускаю какую-то небольшую ошибку, которая продолжает блокировать меня?

2 ответа

Решение

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

Сначала, после того, как @stringfellow заметил, я подумал, что бесплатная пробная версия ограничивает меня в каких-либо действиях, но после того, как я несколько раз снизил свой DTU до точки, где он был на уровне 5 (начиная с 100), та же проблема сохранялась, поэтому, вероятно, это не было проблемой (позже мне пришлось поменять минимум на 50). Я также изменил версию Elastic Pool со стандартной на базовую. Но внесение этих изменений все равно не устранило проблему.

Наконец, после ответа на комментарий @NachoMartínez-Aedo о версии api это заставило меня задуматься. Потому что в опубликованном мной коде я использовал версию api "2020-08-01-preview", но на самом деле я использовал "2014-04-01-preview", потому что когда я изменил версию api всех своих частей на 2020 one, затем Powershell сказал мне, что (No registered resource provider found for location 'northeurope' and API version '2020-08-01-preview' for type 'servers/databases/extensions'. The supported api-versions are '2014-01-01, 2014-04-01, 2014-04-01-preview'.). И, прочитав это еще раз и вспомнив, что когда я просматривал некоторую документацию и порталы Azure автоматически генерировали шаблоны, я знал, что я всегда говорю их, используя api 2020 года, а не 2014, что оставило меня в замешательстве, почему я не мог также используйте самую новую версию. И, снова прочитав эту ошибку, я увидел, что в ней конкретно говорилось, что версия api 2020 года не поддерживается для типа "серверы / базы данных / расширения", а не то, что все части должны быть в версии 2014 года (это то, что я подумал, когда увидел эта ошибка), поэтому я попытался изменить весь 2014 год обратно на 2020 год и оставил api расширения еще в 2014 году (ранее я думал, что все версии api должны быть одинаковыми, не знаю почему, возможно, потому что в большинстве примеров и документации было все имеют ту же версию api) и все работает,даже импортная часть, о которой я беспокоился.

Поэтому в будущем я не слишком уверен, есть ли лучший / новый способ импорта файла.bacpac во вновь созданную базу данных с помощью ARM, или просто нужно оставить его как есть и в будущем использовать тот же подход. Кто-нибудь знает?

Я получил расширение импорта отсюда: https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-tutorial-deploy-sql-extensions-bacpac, где используются примеры с 2014 года. api для расширения, поэтому из-за этого я попытался использовать его для всех своих частей, но только во время написания этого ответа я понял и снова просмотрел его, что они использовали api 2014 года только для части расширения, а не для других частей, например, сервер, база данных и т. д.

TL;DR Итак, в основном мне нужно было использовать api '2020-08-01-preview' для всего, кроме части расширения, где новейшая версия api - только '2014-04-01-preview'

Мне удалось развернуть большую часть вашего шаблона и использовать аналогичные параметры в моей собственной подписке. На вашем снимке экрана я видел, что вы используете подписку на бесплатную пробную версию. Мне любопытно, имеет ли это какое-либо отношение к "BadRequest" из-за каких-либо ограничений DTU.

Вот мое развертывание, которое, как и ожидалось, не удалось при попытке импорта баз данных.

Другие вопросы по тегам