如何在节点 js 中指定 azure 存储连接字符串?

如何在节点 js 中指定 azure 存储连接字符串?

我正在尝试使用 Azure 存储来存储 Node.js 应用程序中的资产。我遵循了官方文档。但是连接字符串规范不起作用。所以我收到错误。

抛出新的 SyntaxError(SR.INVALID_CONNECTION_STRING); ^

语法错误:连接字符串必须采用“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=****..'

但它不起作用。有人能解释一下为什么它不起作用吗

答案1

在初始化 Azure Store 之前必须读取 .env。使用

require('dotenv').load();

不要打电话

const storage = require('azure-storage')

直到实际使用之前。

答案2

加载dotenv顺序似乎并不重要,我需要加载dotenvazure-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;

相关内容