Я могу использовать портал Azure для создания приложения-функции и функций и добавлять привязки для вывода в очередь сообщений. Например, используя опцию интегрирования в функции, я могу добавить новый вывод, в этом случае очередь сообщений:
После добавления новой очереди сообщений файл function.json обновляется с помощью новой привязки на портале.
До:
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "Request",
"methods": [
"post"
]
},
{
"type": "http",
"direction": "out",
"name": "Response"
}
]
}
После того, как:
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "Request",
"methods": [
"get",
"post"
]
},
{
"type": "http",
"direction": "out",
"name": "Response"
},
{
"type": "queue",
"name": "myQueueItem",
"queueName": "myoutputqueue",
"connection": "AzureWebJobsStorage",
"direction": "out"
}
]
}
Теперь я могу ссылаться на очередь сообщений в моей функции Azure.
Легко сделать на портале. Но я хотел бы создать хранилище очереди (или любой другой вид) через конвейер сборки, если он еще не существует. Я думаю, что это имеет смысл в определении выпуска, но я не могу определить, как определить, существуют ли уже существующая учетная запись и очередь, или создать их, если они не существуют. Я подумал, что мог бы использовать команды Azure Powershell через задачу определения выпуска Azure Powershell Script с командами, описанными здесь:
Выполнение операций хранилища очереди Azure с помощью Azure PowerShell
, но когда я попытался вручную использовать «Get-AzureStorageAccount» в интерфейсе командной строки Azure Powershell, чтобы проверить, существует ли учетная запись хранения, я получил сообщение об ошибке, указывающее, что «Get-AzureStorageAccount» не является допустимым командлетом. Есть ли способ управления хранилищем и привязками функций Azure через конвейер CI / CD?