Редактирование файла в Azure Blob Storage с помощью API - PullRequest
0 голосов
/ 01 февраля 2020

Вот мой сценарий.

Я поместил файл конфигурации (. xml) в Azure Контейнер хранения BLOB-объектов

Я хочу отредактировать этот xml файл и обновите / добавьте к нему содержимое.

Я хочу развернуть API в службе приложений azure, которая сделает это.

Я создал API, работающий локально, который обрабатывает это, но точно не собирается разрезать его как облачное приложение. Эта конкретная итерация представляет собой NODEjs API, который использует модули Cheerio и File-System для манипулирования и чтения файла соответственно.

Как я могу переоборудовать это для работы с файлом, который находится в Azure хранилище BLOB-объектов?

примечание: azure BLOB-объектов лучшее место, чтобы начать с файла даже? Есть ли лучшее место, чтобы поставить его?

Я нашел это, но это не совсем то, что я после ..... Azure Редактировать blob

Ответы [ 2 ]

0 голосов
/ 01 февраля 2020

Учитывая, что данные, хранящиеся в BLOB-объекте, равны XML (другими словами, строковый тип), вместо использования метода getBlobToStream можно использовать метод getBlobToText, манипулировать строкой и затем загрузить эта обновленная строка с использованием createBlockBlobFromText.

Вот псевдокод:

blobService.getBlobToText('mycontainer', 'taskblob', function(error, result, response) {
    if (error) {
        console.log('Error in reading blob');
        console.error(error);
    } else {
        var blobText = result;//It 
        var xmlContent = someMethodToConvertStringToXml(blobText);//Convert string to XML if it is easier to manipulate
        var updatedBlobText = someMethodToEditXmlContentAndReturnString(xmlContent);
        //Reupload blob
        blobService.createBlockBlobFromText('mycontainer', 'taskblob', updatedBlobText, function(error, result, response) {
            if (error) {
                console.log('Error in updating blob');
                console.error(error);
            } else {
                console.log('Blob updated successfully');
            }
        });
    }
});
0 голосов
/ 01 февраля 2020

Просто измените код, чтобы использовать Azure Storage SDK для Node.js https://github.com/Azure/azure-storage-node

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...