Запись Azure ADLS Gen 2 в хранилище больших двоичных объектов - PullRequest
0 голосов
/ 06 февраля 2019

Мне трудно писать в хранилище BLOB-объектов ADLS Gen 2 с помощью c #.Доступна ли эта функция?

Я пытаюсь обновить свой код с ADLS Gen 1 до Gen 1.

Этот фрагмент кода отлично работает с ADLS Gen 1

public static async Task<HttpResponseMessage> Run
                (   [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req,
                    Binder binder , 
                    TraceWriter log)

    {
var container = "my_container";
var path = container + "/test.txt" ;
using (var writer = await binder.BindAsync<TextWriter>(new BlobAttribute(path)))
{
    writer.Write("Hello there !!!!!");
}
}

Ответы [ 2 ]

0 голосов
/ 28 мая 2019

Вы также можете программно вызывать AzCopy v10, передавая флаг --output-type = json, чтобы сделать его вывод анализируемым вашим кодом C #.Это работает, если вы загружаете с / скачиваете на диск, и именно это делает Storage Explorer.Но вам нужно использовать REST, как упомянуто @mai, если вы загружаете из / загружаете в память «файлы», которых нет на диске.

0 голосов
/ 05 марта 2019

По состоянию на февраль 2019 года .NET SDK в настоящее время недоступен для записи файлов в Data Lake Gen 2, поэтому ваш код не будет работать.

Проверьте следующую документацию :

Нет доступных SDK, которые будут работать с учетными записями Data Lake Storage Gen2.

Для получения последней версии SDK см. Также таблицу «Интерфейсы программирования» здесь: https://docs.microsoft.com/en-gb/azure/storage/blobs/data-lake-storage-upgrade?toc=%2fazure%2fstorage%2fblobs%2ftoc.json


На этом этапе ваш единственный вариант - использовать REST API.Документация доступна здесь

...