Приложение-функция Azure - Как получить URL-адрес Invoke и код
Я создал и успешно протестировал приложение-функцию, которое требует.net Framework из-за устаревшей библиотеки и настроено на использование версии ~1. Я ищу Invoke Url и код, чтобы помочь автоматизировать развертывание.
После этой статьи MS и использования Azure-functions-core-tools v2 (npm i -g azure-functions-core-tools@^2
), Я вижу URL- адресвызова, когда публикация вызывается с --verbose
вариант.
Однако из-за требования.net Framework и версии ~ 1 во время выполнения мы привязаны кAzure-functions-core-tools v1(npm i -g azure-functions-core-tools@^1
) ( см. здесь). Выполнение любой из команд из func azure functionapp не включает URL-адрес Invoke.--verbose
опция недоступна
>func azure functionapp publish <MyApp>
Getting site publishing info...
Publish C:\<MyProject> contents to an Azure Function App. Locally deleted files are not removed from destination.
Creating archive for current directory...
Uploading archive...
Upload completed successfully.
То же самое дляlist-functions
>func azure functionapp list-functions <MyApp>
Functions in <MyApp>:
FunctionOne - [httpTrigger]
FunctionTwo - [httpTrigger]
Я еще не пробовал ARM.
Есть ли способ получить URL- адрес вызова для приложений-функций в версии ~ 1 во время выполнения?
3 ответа
Я получаю Invoke Url и код со следующими командами Azure CLI:
FUNCTION_CODE=$(az functionapp function keys list -g ${SOLUTION_NAME} -n $FUNCTIONS_NAME --function-name DPSCustomAllocationFunction --query "default")
FUNCTION_CODE=$(echo "$FUNCTION_CODE" | tr -d '"') #Remove "" from result
FUNCTION_URL=$(az functionapp function show --function-name DPSCustomAllocationFunction --resource-group $SOLUTION_NAME --query "invokeUrlTemplate" --output tsv --name $FUNCTIONS_NAME)
FUNCTION_URL=$(echo $FUNCTION_URL|tr -d '\r\n') #Remove breaklines from result
INVOKE_FUNCTION="$FUNCTION_URL?code=$FUNCTION_CODE"
Вы можете использовать API REST, чтобы получить его: List Function Secrets, он ответит секретом и triggerUrl.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listsecrets?api-version=2016-08-01
Также вы можете реализовать это с помощью PowerShell GetFunctionInvokeUrl.
Вы можете сделать это с помощью Azure CLI:
функция az functionapp Показать функцию
az functionapp function show --function-name MyFunction --name MyApp --resource-group MyResourceGroup --query "invokeUrlTemplate" --output tsv