Я пытаюсь обновить раздел данных (post), следуя этой документации Azure: https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-async-refresh
Либо с отправкой, либо я получаю 401 Unauthorized (даже когда служба выключена!).
Я получил токен от Azure AD (ServicePrincipalCredential).Я добавил AD в качестве администраторов служб аналитики (https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-server-admins) Я назначил роль владельца AD в службах аналитики IAM.
она работала с остальными API управления службами аналитики (https://docs.microsoft.com/en-us/rest/api/analysisservices/operations/list) С помощьюта же аутентификация (получил код ответа 200)
Мой код Python:
from azure.common.credentials import ServicePrincipalCredentials
import requests
credentials = ServicePrincipalCredentials(client_id="ad_client_id",
secret="ad_secret",
tenant="ad_tenant")
token = credentials.token
url = "https://westeurope.asazure.windows.net/servers/{my_server}/models/{my_model}/refreshes"
test_refresh = {
"Type": "Full",
"CommitMode": "transactional",
"MaxParallelism": 1,
"RetryCount": 1,
"Objects": [
{
"table": "my_table",
"partition": "my_partition"
}
]
}
header={'Content-Type':'application/json', 'Authorization': "Bearer {}".format(token['access_token'])}
r = requests.post(url=url, headers=header, data=test_refresh)
import json
print(json.dumps(r.json(), indent=" "))
Ответ, который я получил:
{
"code": "Unauthorized",
"subCode": 0,
"message": "Authentication failed.",
"timeStamp": "2019-05-22T13:39:03.0322998Z",
"httpStatusCode": 401,
"details": [
{
"code": "RootActivityId",
"message": "aab22348-9ba7-42c9-a317-fbc231832f75"
}
]
}
Я безнадежен, не могли бы вы дать мнекто-нибудь поможет прояснить это?