部署到无服务器 Azure Functions 失败
Deploy to serverless Azure Functions Failed
我正在尝试在 Azure 门户中已创建的应用服务中部署 Azure Functions。
使用 sls deploy
CLI 部署我的 Azure 功能,但在部署功能时 sls
正在尝试创建我无权访问的新资源组。
以下是 sls deploy
命令的输出:
$ sls deploy
Serverless: Removing .serverless directory
Serverless: Parsing Azure Functions Bindings.json...
Serverless: Building binding for function: admin event: httpTrigger
Serverless: Parsing Azure Functions Bindings.json...
Serverless: Building binding for function: image event: httpTrigger
Serverless: Parsing Azure Functions Bindings.json...
Serverless: Building binding for function: report event: httpTrigger
Serverless: Parsing Azure Functions Bindings.json...
Serverless: Building binding for function: gaims event: httpTrigger
Serverless: Packaging service...
Serverless: Excluding development dependencies...
Serverless: Logging into Azure
Serverless: Using subscription ID: <SUBSCRIPTION_ID>
Serverless: Creating resource group: <ALREADY_CREATED_RESOURCE_GROUP_NAME>
Error --------------------------------------------------
Error: The client '<USER_NAME>' with object id '<OBJECT_ID>' does not have authorization to perform action
'Microsoft.Resources/subscriptions/resourcegroups/write' over scope
'/subscriptions/SUBSCRIPTION_ID/resourcegroups/ALREADY_CREATED_RESOURCE_GROUP_NAME' or the scope is invalid.
If access was recently granted, please refresh your credentials.
at new RestError (C:\Users\analysis-node\node_modules\@azure\ms-rest-js\lib\restError.ts:18:5)
at C:\Users\analysis-node\node_modules\@azure\ms-rest-js\lib\policies\deserializationPolicy.ts:117:27
at process._tickCallback (internal/process/next_tick.js:68:7)
For debugging logs, run again after setting the "SLS_DEBUG=*" environment variable.
Get Support --------------------------------------------
Docs: docs.serverless.com
Bugs: github.com/serverless/serverless/issues
Issues: forum.serverless.com
Your Environment Information ---------------------------
Operating System: win32
Node Version: 10.20.1
Framework Version: 1.71.1
Plugin Version: 3.6.12
SDK Version: 2.3.0
Components Version: 2.30.11
在 serverless.yml
中,我还指定了 resourceGroup
参数。这是 serverless.yml
的要点
provider:
stage: dev
name: azure
region: East US 2
runtime: nodejs10.x
resourceGroup: <ALREADY_CREATED_RESOURCE_GROUP_NAME>
subscriptionId: <SUBSCRIPTION_ID>
有什么方法可以在 serverless
cli 中设置 资源组 以在部署函数时使用?
我能够通过将部署分解为两部分来部署 Azure 函数
使用serverless打包项目。
sls package
使用 Azure CLI.
部署打包的 zip 文件
az functionapp deployment source config-zip -g {RESOURCE_GROUP} -n {APP_SERVICE_NAME} --src .serverless/project-zip.zip
希望这对面临同样问题的人有所帮助。
编辑:
看起来这个问题可能会在即将发布的版本中得到解决。
Link: https://github.com/serverless/serverless-azure-functions/issues/469
我正在尝试在 Azure 门户中已创建的应用服务中部署 Azure Functions。
使用 sls deploy
CLI 部署我的 Azure 功能,但在部署功能时 sls
正在尝试创建我无权访问的新资源组。
以下是 sls deploy
命令的输出:
$ sls deploy
Serverless: Removing .serverless directory
Serverless: Parsing Azure Functions Bindings.json...
Serverless: Building binding for function: admin event: httpTrigger
Serverless: Parsing Azure Functions Bindings.json...
Serverless: Building binding for function: image event: httpTrigger
Serverless: Parsing Azure Functions Bindings.json...
Serverless: Building binding for function: report event: httpTrigger
Serverless: Parsing Azure Functions Bindings.json...
Serverless: Building binding for function: gaims event: httpTrigger
Serverless: Packaging service...
Serverless: Excluding development dependencies...
Serverless: Logging into Azure
Serverless: Using subscription ID: <SUBSCRIPTION_ID>
Serverless: Creating resource group: <ALREADY_CREATED_RESOURCE_GROUP_NAME>
Error --------------------------------------------------
Error: The client '<USER_NAME>' with object id '<OBJECT_ID>' does not have authorization to perform action
'Microsoft.Resources/subscriptions/resourcegroups/write' over scope
'/subscriptions/SUBSCRIPTION_ID/resourcegroups/ALREADY_CREATED_RESOURCE_GROUP_NAME' or the scope is invalid.
If access was recently granted, please refresh your credentials.
at new RestError (C:\Users\analysis-node\node_modules\@azure\ms-rest-js\lib\restError.ts:18:5)
at C:\Users\analysis-node\node_modules\@azure\ms-rest-js\lib\policies\deserializationPolicy.ts:117:27
at process._tickCallback (internal/process/next_tick.js:68:7)
For debugging logs, run again after setting the "SLS_DEBUG=*" environment variable.
Get Support --------------------------------------------
Docs: docs.serverless.com
Bugs: github.com/serverless/serverless/issues
Issues: forum.serverless.com
Your Environment Information ---------------------------
Operating System: win32
Node Version: 10.20.1
Framework Version: 1.71.1
Plugin Version: 3.6.12
SDK Version: 2.3.0
Components Version: 2.30.11
在 serverless.yml
中,我还指定了 resourceGroup
参数。这是 serverless.yml
provider:
stage: dev
name: azure
region: East US 2
runtime: nodejs10.x
resourceGroup: <ALREADY_CREATED_RESOURCE_GROUP_NAME>
subscriptionId: <SUBSCRIPTION_ID>
有什么方法可以在 serverless
cli 中设置 资源组 以在部署函数时使用?
我能够通过将部署分解为两部分来部署 Azure 函数
使用serverless打包项目。
sls package
使用 Azure CLI.
部署打包的 zip 文件az functionapp deployment source config-zip -g {RESOURCE_GROUP} -n {APP_SERVICE_NAME} --src .serverless/project-zip.zip
希望这对面临同样问题的人有所帮助。
编辑:
看起来这个问题可能会在即将发布的版本中得到解决。
Link: https://github.com/serverless/serverless-azure-functions/issues/469