我正在尝试通过传递以下 api 调用的 Web 活动任务在数据工厂中扩展我的 Azure elasticpool:
{
"url": "https://management.azure.com/subscriptions/subID/resourceGroups/RGNAME/providers/Microsoft.Sql/servers/sqlservername/elasticPools/elasticpoolname?api-version=2020-08-01-preview",
"method": "PUT",
"headers": {
"Content-Type": "application/json"
},
"body": {
"sku": {
"name": "StandardPool",
"tier": "Standard",
"capacity": "50"
},
"location": "West Europe"
},
"authentication": {
"type": "MSI",
"resource": "https://management.azure.com/"
}
}
活动失败,但奇怪的是体重秤居然起作用了。即使缩放有效,我显然也不希望活动失败。
ADF 在 SQLServer 中具有贡献者角色
有什么想法吗?
这里是错误:
"error": {
"code": "AuthorizationFailed",
"message": "The client 'ADF ID' with object id 'ADF ID' does not have authorization to perform action 'Microsoft.Sql/locations/elasticPoolOperationResults/read' over scope '/subscriptions/SUBID/resourceGroups/RGNAME/providers/Microsoft.Sql/locations/westeurope/elasticPoolOperationResults/id' or the scope is invalid. If access was recently granted, please refresh your credentials."
}
我重现我的环境。我有同样的错误。
解决这个问题。转到 SQL 服务器 -> 访问控制 (IAM) + 添加贡献者角色 -> 转到成员分配对管理身份的访问权限并选择天蓝色数据工厂。
尝试使用下面的主体和标题:
标题:
Content-Type application/json
Body: {“sku”:{“name”:“GP_Gen5_2”,“tier”:“GeneralPurpose”},“location”:“eastus”}
资源: https://management.azure.com/
如果你想检查配置使用下面的脚本:
剧本:
SELECT DATABASEPROPERTYEX(db_name(),'edition') AS ServiceTier , DATABASEPROPERTYEX(db_name(),'serviceobjective') AS ComputeSize