我正在尝试使用 List<String> sample = new ArrayList<>();
sample.add("foo");
sample.add("bar");
sample.add("bizz");
sample.add("bazz");
BufferedWriter writer = new BufferedWriter(new FileWriter("out.txt"));
sample.stream().forEach(s -> {
System.out.println(s);
try {
writer.write(s + '\n');
} catch (IOException e) {
e.printStackTrace();
}
});
writer.close();
和Get-AzureRmSqlDatabaseRestorePoints
来管理Azure Datwarehouse还原点和使用Powershell进行还原的过程。调用此命令时,出现授权错误。我在订阅和sql服务器级别具有贡献者特权。
我注意到https的API调用请求中的订阅ID与我选择的订阅不同。 调用此命令时,如何强制这些命令使用我的活动订阅或我可以通过订阅。
错误详细信息
New-AzureRmSqlDatabaseRestorePoint
完整代码
Body:
{
"error":
"code": "AuthorizationFailed",
"message": "The client 'xxxxxxx' with object id 'xxxx-xxxx-xxxx-xxxx' does not have authorization to perform action 'Microsoft.Sql/servers/databases/restorePoints/read' over scope
'/subscriptions/Subscription B/resourceGroups/DataWarehouse-SIT-rg/providers/Microsoft.Sql/servers/servername/databases/DataWarehouse'."
}
}
谢谢!
答案 0 :(得分:0)
该错误本身表明您的帐户对还原点(Microsoft.Sql / servers / databases / restorePoints / read)没有读取权限。您可以验证权限还是尝试其他帐户?
答案 1 :(得分:0)
检查您的订阅IAM中是否具有足够的权限
https://docs.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal
P.S:您需要联系您的订阅所有者以执行上述步骤。
答案 2 :(得分:0)
升级AzureRM模块后,问题已解决。该问题在模块版本5.7.0中存在,但在版本6.6.0中已解决。