何处将Azure存储连接字符串放在使用配置文件而不是环境变量的节点应用程序中?

问题描述 投票:0回答:2

我需要访问Azure存储的BLOB存储以插入一些JSON。但是,在官方文档中,为了首先连接我的数据库,我需要Azure可以识别连接字符串。传统。 Azure会查看连接字符串的环境变量,但是在这个应用程序中,我们正在使用配置文件,其中按键布局如此...

module.exports = {
  AZURE_STORAGE_CONNECTION_STRING: AZURE_STORAGE_CONNECTION_STRING,
};

Azure似乎没有以这种方式识别密钥。而不是为这一个字符串创建一个环境文件,是否可以在其他地方传递字符串?说我们第一次打电话

const storage = require('azure-storage');
const blobService = storage.createBlobService();

或者可能在使用存储方法时?

   const uploadToBlob = async (containerName, filePath) => {

        await blobService.createBlockBlobFromLocalFile(containerName, blobName, fullPath, err => {

谢谢你的时间偷看!

javascript node.js database-connection azure-storage config
2个回答
0
投票

根据文档,您可以使用包含连接字符串的.env文件:

“您必须为存储帐户提供连接字符串。示​​例存储库包含一个名为.env.example的文件。您可以通过删除.example扩展名来重命名此文件,这会生成名为.env的文件。在.env文件中,在AZURE_STORAGE_CONNECTION_STRING键后添加连接字符串值。“

我建议检查这个repo中的代码示例

支持的格式是:

AZURE_STORAGE_CONNECTION_STRING=<replace with your storage connection string>

最有可能你可以做一些字符串操作来将“:”替换为=,然后将其传递给变量以供使用。


0
投票

答案非常简单。凭证密钥根本不需要位于.env文件中,但可以保存在config文件夹中,并在首次实例化blob服务时将其传递给Azure。

const keys = require('../config/keys');
const blobService = storage.createBlobService(keys.AZURE_STORAGE_CONNECTION_STRING);
© www.soinside.com 2019 - 2024. All rights reserved.