簡體   English   中英

Node.js Azure文件服務-403錯誤調試

[英]Node.js Azure File Service - 403 Error Debugging

嘗試使用Azure的Node.js SDK時,我目前遇到403錯誤。 當我直接調用下面的函數時,它可以完美工作:

module.exports = function (file, callback) {
  if (!fs.existsSync('./data')) {
    mkdirp('./data', function (err) {
      if (err) console.log(err)
    })
  }
  fileService.getFileToStream('chatbot', '', file, fs.createWriteStream('data/' + file), function (err, res, response) {
    if (!err) {
      fs.readFile('data/' + file, 'utf8', function (err, data) {
        if (!err) {
          callback(null, data)
        } else {
          callback(err)
        }
      })
    } else {
      callback(err)
    }
  })
}

但是,當我從更廣泛的應用程序調用此函數時,我收到403錯誤:

{ StorageError: Forbidden
    at Function.StorageServiceClient._normalizeError (/Users/tombarton/Sites/TestApplication/node_modules/azure-storage/lib/common/services/storageserviceclient.js:1174:23)
    at FileService.StorageServiceClient._processResponse (/Users/tombarton/Sites/TestApplication/node_modules/azure-storage/lib/common/services/storageserviceclient.js:729:50)
    at Request.processResponseCallback [as _callback] (/Users/tombarton/Sites/TestApplication/node_modules/azure-storage/lib/common/services/storageserviceclient.js:310:37)
    at Request.self.callback (/Users/tombarton/Sites/TestApplication/node_modules/azure-storage/node_modules/request/request.js:187:22)
    at emitTwo (events.js:106:13)
    at Request.emit (events.js:191:7)
    at Request.<anonymous> (/Users/tombarton/Sites/TestApplication/node_modules/azure-storage/node_modules/request/request.js:1044:10)
    at emitOne (events.js:96:13)
    at Request.emit (events.js:188:7)
    at IncomingMessage.<anonymous> (/Users/tombarton/Sites/TestApplication/node_modules/azure-storage/node_modules/request/request.js:965:12)
  name: 'StorageError',
  message: 'Forbidden',
  code: 'Forbidden',
  statusCode: 403,
  requestId: '51ce6605-001a-00c1-1d52-ae966b000000' }

問題是,除了403錯誤,我似乎無法進一步調試它。 由於代碼可以完美獨立地工作,因此我知道訪問鍵不是問題。 Azure存儲允許您記錄表,Blob和隊列的訪問數據,但不能記錄文件服務的訪問數據,文件服務似乎令人沮喪( https://docs.microsoft.com/zh-cn/rest/api/storageservices/fileservices/enabling-存儲日志和訪問日志數據#如何使用Windows Azure管理門戶啟用存儲日志 )。

有人對我如何進一步調試有任何想法嗎?

您可以在兩者之間放置一個調試代理,如mitmproxyFiddlerCharles ,以查看請求和響應之間的區別。

NODE_TLS_REJECT_UNAUTHORIZED=0 HTTP_PROXY=http://127.0.0.1:8888 node app.js

ApplicationInsights程序包中存在一個問題 ,導致存儲發出 403響應。 此問題已在版本0.18.0中修復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM