Azure

如何在節點 js 中指定 azure 儲存連接字元串?

  • May 28, 2020

我正在嘗試使用天藍色儲存將資產儲存在節點 js 應用程序中。我遵循了官方文件。但是連接字元串規範不起作用。所以我得到錯誤。

拋出新的語法錯誤(SR.INVALID_CONNECTION_STRING);^

SyntaxError:連接字元串必須採用“key1=value1;key2=value2”的形式。

在 Object.exports.parseAndValidateKeys (/home/sakthips/Downloads/Projects/node/storage-blobs-node-quickstart/node_modules/azure-storage/lib/common/services/servicesettings.js:83:15)

在 .env 文件中,我這樣指定

AZURE_STORAGE_CONNECTION_STRING='DefaultEndpointsProtocol=****..'

但它不起作用。誰能解釋為什麼它不起作用

必須在 azure 儲存初始化之前讀取 .env。採用

require('dotenv').load();

並且不要打電話

const storage = require('azure-storage')

直到它實際使用之前。

dotenv載入順序似乎無關緊要,我需要在載入dotenv之後azure-storage 仍然可以驗證隊列是否已創建。

我的程式碼如下:

var azure = require('azure-storage');

require("dotenv").config();

var queueSvc = azure.createQueueService();

queueSvc.createQueueIfNotExists('myqueue', function(error, results, response){
 if(!error){
   // Queue created or exists
   console.log(error);
 }
 console.log(results);
});

我的連接字元串供參考: AZURE_STORAGE_CONNECTION_STRING=AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;DefaultEndpointsProtocol=http;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;

引用自:https://serverfault.com/questions/954113