У меня есть clientId и clientSecret Data Lake Store (Gen-2), и я ищу способ создать для него токен SAS программным способом с использованием C #. Я просмотрел документацию, но не нашел способа создать токен SAS. Любое руководство будет оценено по достоинству. Спасибо.
Как было предложено Фаридом Уддином Кироном, я использовал этот код, но безуспешно:
//Token Request End Point
string tokenUrl = $"https://login.microsoftonline.com/<tenantId>.onmicrosoft.com/oauth2/token";
var tokenRequest = new HttpRequestMessage(HttpMethod.Post, tokenUrl);
//I am Using client_credentials as It is mostly recommended
tokenRequest.Content = new FormUrlEncodedContent(new Dictionary<string, string>
{
["grant_type"] = "client_credentials",
["client_id"] = "--------",
["client_secret"] = "-------",
["resource"] = "https://<datalake gen2 name>.dfs.core.windows.net/"
});
dynamic json;
AccessTokenClass results = new AccessTokenClass();
HttpClient client = new HttpClient();
var tokenResponse = client.SendAsync(tokenRequest).GetAwaiter();
json = tokenResponse.GetResult().Content.ReadAsStringAsync().GetAwaiter();
results = JsonConvert.DeserializeObject<AccessTokenClass>(json);
Это дает мне ошибку статуса 400.
follow the token part
. Надеюсь, это поможет. Дайте мне знать, если вас все еще беспокоит. - person Md Farid Uddin Kiron   schedule 19.03.2020resource
неверен. Должно бытьhttps://datalake.azure.net/
- person Md Farid Uddin Kiron   schedule 19.03.2020resource:https://datalake.azure.net/
, я думаю, вы делаете что-то дополнительное. См. здесь - person Md Farid Uddin Kiron   schedule 19.03.2020SAS token
? Маркер доступа Azure AD или маркер SAS хранилища Azure? - person Jim Xu   schedule 25.03.2020