API REST Azure Data Lake Storage 2-го поколения с C#C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 API REST Azure Data Lake Storage 2-го поколения с C#

Сообщение Anonymous »

Я пытаюсь установить разрешения ACL для пользователя с помощью API REST Azure Data Lake Storage Gen2. Но я не могу найти способ сделать это.
Для этого я использовал следующую ссылку Microsoft: microsoft-link-path-update
Вот код, который я придумал с помощью C#. :

Код: Выделить всё

static async Task SetUpPermissions(string accessToken)
{
// Replace with your values
string accountName = "";
string filesystem = "";
string directoryOrFile = "";
string userObjectId = "";

// URL for setting ACL
string url = $"https://{accountName}.dfs.core.windows.net/{filesystem}/{directoryOrFile}?action= setAccessControl";

// Headers
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
client.DefaultRequestHeaders.Add("x-ms-version", "2023-08-03");
client.DefaultRequestHeaders.Add("x-ms-lease-action", "acquire-release");
client.DefaultRequestHeaders.Add("x-ms-date", DateTime.UtcNow.ToString("R"));
client.DefaultRequestHeaders.Add("x-ms-client-request-id", Guid.NewGuid().ToString());

// Body with ACL settings
string aclString = $"user:{userObjectId}:rwx,group::r-x,other::r--,mask::rwx,default:user:{userObjectId}:rwx,default:group::r-x,default:other::r--";
string body = $"[{{\"acl\": \"{aclString}\"}}]";

// Make the request
HttpContent content = new StringContent(body, Encoding.UTF8, "application/json");
HttpResponseMessage response = await client.PatchAsync(url, content);

// Check the response
if (response.IsSuccessStatusCode)
{
Console.WriteLine("ACL set successfully");
}
else
{
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine($"Failed to set ACL: {response.StatusCode} {responseBody}");
}
}
}
Я получаю следующую ошибку:

"Не указан HTTP-заголовок, обязательный для этого запроса",

однако требуется только «x-ms-lease-action».

Подробнее здесь: https://stackoverflow.com/questions/786 ... th-c-sharp
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • API REST Azure Data Lake Storage 2-го поколения с C#
    Anonymous » » в форуме C#
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Подключение и аутентификация к Delta Lake в Azure Data Lake Storage Gen 2 с использованием API Python delta-rs
    Anonymous » » в форуме Python
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • Azure Data Lake Gen 2 и Python копируют файлы в папках Data Lake
    Anonymous » » в форуме Python
    0 Ответы
    76 Просмотры
    Последнее сообщение Anonymous
  • Проблемы с подключением к Infor Data Lake с использованием Spark JDBC в Azure Synapse Spark Notebook
    Anonymous » » в форуме Python
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • При подключении к Data Lake Gen 2 из функции Azure с использованием субъекта-службы выдается ошибка AuthorizationPermiss
    Anonymous » » в форуме C#
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»