Приложение Azure Logic: создание файла CSV в большом двоичном объекте

У меня проблема с обновлением CSV-файла в моем большом двоичном объекте. У меня есть существующий файл внутри моего большого двоичного объекта, который является файлом CSV, и когда я нажимаю кнопку загрузки, он автоматически загружает файл на мой компьютер.

Теперь я уже создал приложение логики, которое обновит файл csv. Когда я запускаю триггер приложения, он обновляет файл, но когда я нажимаю кнопку загрузки, открывается новая вкладка, где будет отображаться файл csv.

Я хочу, чтобы он был таким же, как оригинал, когда я нажимаю загрузить, он загружает файл на свою машину.

Подойдет любая помощь или проверка, если это возможно.

Я уже пробовал «составить» и «создать в CSV», но таким образом он не сохранит его в BLOB-объекте.


person Rey Norbert Besmonte    schedule 08.05.2018    source источник
comment
Вы используете действие get blob content? Если вы нажмете show advanced options, вы увидите поле Infer Content Type. Установите его на No, и он должен работать.   -  person Thomas    schedule 08.05.2018
comment
Поскольку ваш тип содержимого - text / plain, вам нужно установить его как application / octet-stream.   -  person Joey Cai    schedule 08.05.2018


Ответы (1)


Как показал мой тест, когда вы хотите создать файл .csv с действием «создать blob» в приложении логики, у вас всегда будет одна и та же проблема. Поскольку содержимое большого двоичного объекта - это «text/plan», которое будет отображаться на другой вкладке для отображения.

Итак, я предлагаю вам использовать лазурную функцию для создания капли. В лазурной функции вы можете установить: blob.Properties.ContentType = "application/octet-stream";

Вот метод создания blob-объекта в лазурной функции:

    storageAccount = CloudStorageAccount.Parse(connectionString);

    client = storageAccount.CreateCloudBlobClient();

    container = client.GetContainerReference("data");

    await container.CreateIfNotExistsAsync();

    blob = container.GetBlockBlobReference(name);
    blob.Properties.ContentType = "application/octet-stream";

    using (Stream stream = new MemoryStream(Encoding.UTF8.GetBytes(data)))
    {
        await blob.UploadFromStreamAsync(stream);
    }

Для получения более подробного кода вы можете обратиться к этому статья. После этого вы можете загрузить свой большой двоичный объект на свой локальный компьютер.

Примечание: когда вы создаете действие функции Azure в приложении логики, оно будет показать ошибку. Просто удалите Appsetting из «AzureWebJobsSecretStorageType» в «blob».

person Joey Cai    schedule 09.05.2018
comment
Благодарю. Мне потребовалось несколько дней, чтобы понять, но я понял. :) - person Rey Norbert Besmonte; 18.05.2018