Как загрузить файл в озеро данных Azure с помощью Typescript REST CALLS

Fariha Abbasi спросил: 14 ноября 2017 в 06:34 в: node.js

Моя проблема заключалась в том, чтобы загрузить файл из локального каталога в хранилище озера данных Azure, используя только Typescript. Затем я нашел очень полезное решение REST API, я протестировал REST API для выполнения всех необходимых операций через почтальона, и они работали нормально, затем я перешел на Typescript, чтобы сделать эти вызовы из машинописного текста. Вот ссылка на это: https://docs.microsoft.com/en-us/azure/data-lake-store/data-lake-store-data-operations-rest-api

, чтобы сделать REST CALLS через Typescript Я использую пакет request-обещание, который я установил с помощью команды npm install request-обещание. Документация по этому пакету предоставляется по этой ссылке: - https://github.com/request/request

, но я могу выполнять все операции с REST API, т.е. Аутентификация между сервисами, создание папок, просмотр папок, переименование файлов, чтение файлов и т. Д. Но я не могу выполнить две операции / REST CALLS, т.е. Загрузить файл и удалить файл, каждый раз, когда я выполняю этот вызов, он дает исключение времени выполнения и код ошибки 501, говорящий о том, что эта операция не была выполнена, хотя я проверял эти операции с помощью Post Man, и они отлично работают таким образом.

Есть ли проблемы с доступом или что?

Вот код Typescript:

var fs = require('fs');
var request = require('request-promise');
var accessToken; getAccessToken();
setTimeout(listFolders, 5000);
setTimeout(renameFile, 5000);
setTimeout(uploadData, 5000);
setTimeout(readData, 5000);function getAccessToken() {
    request(
    {
        method: 'post',
        url: 'https://login.microsoftonline.com/067e9632-ea4c-4ed9-9e6d-
        e294956e284b/oauth2/token',
        form: {
            grant_type: 'client_credentials',
            resource: 'https://management.core.windows.net/',
            client_id: 'dc9a4034-b03f-4974-9760-99541137a31c',
            client_secret: 'mJ1Eba+sz0hXQko7gBN3D5WPDVLySCHXg4Mg5F4Ru4s='
        },
        json: true,
    }, function (error, response, body) {
        //Print the Response
        accessToken = body.access_token;
        console.log(accessToken);
    });
}
function uploadData() {
    fs.createReadStream('E:/accessToken.txt')
    .pipe(request({
    method: 'post',
    url:
  'https://bswadls.azuredatalakestore.net/webhdfs/v1/iModelAnalytics/abc.txt?
   op=CREATE',
   json: true,
   headers: {
        "Authorization": "Bearer " + accessToken,
    }
    },
    function (error, response, body) {
    console.log(response.status);
        }
    ));}function readData() {
  request(
    {
        method: 'GET',
        url: 'https://bswadls.azuredatalakestore.net/webhdfs/v1/iModelAnalyti
        cs/readFile1.txt?op=OPEN'
        headers: {
            "Authorization": "Bearer " + accessToken,
        },
        json: true,
    }, function (error, response, body) {
        //Print the Response
        console.log("\n\nData = "+body);
        //console.log(response);
    }
);
}function listFolders() {
    request(
    {
        method: 'GET',
        url: 'https://bswadls.azuredatalakestore.net/webhdfs/v1/
        iModelAnalytics?op=LISTSTATUS',
        headers: {
            "Authorization": "Bearer " + accessToken,
        },
        json: true,
    }, function (error, response, body) {
        //Print the Response
        console.log("************List Folders*****************\n ");
        console.log(body);
    }
);
}function deleteFile() {
    request(
    {
        method: 'PUT',
        url: 'https://bswadls.azuredatalakestore.net/webhdfs/v1/
        iModelAnalytics/readFile.txt?op=DELETE',
        headers: {
            "Authorization": "Bearer " + accessToken,
        },
        json: true,
    }, function (error, response, body) {
        //Print the Response
        console.log("***************Delete File*****************\n ");
        console.log(body);
        console.log('Response= \n');
        console.log(response);
    }
);
}function renameFile() {
    request(
    {
        method: 'PUT',
        url: 'https://bswadls.azuredatalakestore.net/webhdfs/v1/
        iModelAnalytics/readFile1.txt?
        op=RENAME&destination=/iModelAnalytics/readFile2.txt',
        headers: {
            "Authorization": "Bearer " + accessToken,
        },
        json: true,
    }, function (error, response, body) {
        //Print the Response
        console.log("*************************Delete File*****************\n 
   ");
        console.log(body);
        console.log('Response= \n');
        console.log(response);
    }
);
} 

Это ошибка, которую я получаю:

Пожалуйста, поделитесь своими мыслями по этому поводу. заранее.

0 ответов