Node.js 使用SAS(NODEJS)从azure blob存储创建可共享URI

Node.js 使用SAS(NODEJS)从azure blob存储创建可共享URI,node.js,angular,azure,download,Node.js,Angular,Azure,Download,我正在尝试为azure blob存储中的单个文件创建具有共享访问签名的URI。我想在我的后端创建它,并将链接发送到我的angular前端,以便用户可以直接下载该文件 我在这里发现了一个类似的C#示例: 然而,我很难找到正确的方法。我看了一下,但是我不确定如何使用这些信息。下面是一个获取blob sas url的示例代码 var azure = require('azure-storage'); var blobService = azure.createBlobService('storage

我正在尝试为azure blob存储中的单个文件创建具有共享访问签名的URI。我想在我的后端创建它,并将链接发送到我的angular前端,以便用户可以直接下载该文件

我在这里发现了一个类似的C#示例:


然而,我很难找到正确的方法。我看了一下,但是我不确定如何使用这些信息。

下面是一个获取blob sas url的示例代码

var azure = require('azure-storage');
var blobService = azure.createBlobService('storage connection');
// Create a SAS token that expires in an hour
    // Set start time to five minutes ago to avoid clock skew.
    var startDate = new Date();
    startDate.setMinutes(startDate.getMinutes() - 5);
    var expiryDate = new Date(startDate);
    expiryDate.setMinutes(startDate.getMinutes() + 60);

    permissions = azure.BlobUtilities.SharedAccessPermissions.READ;

    var sharedAccessPolicy = {
        AccessPolicy: {
            Permissions: permissions,
            Start: startDate,
            Expiry: expiryDate
        }
    };
    var container='test';
    var blobName='test.txt';
    var sasToken = blobService.generateSharedAccessSignature(container, blobName, sharedAccessPolicy);
    var url=blobService.getUrl(container,blobName,sasToken);
    console.log(url);

以下是获取blob sas url的示例代码

var azure = require('azure-storage');
var blobService = azure.createBlobService('storage connection');
// Create a SAS token that expires in an hour
    // Set start time to five minutes ago to avoid clock skew.
    var startDate = new Date();
    startDate.setMinutes(startDate.getMinutes() - 5);
    var expiryDate = new Date(startDate);
    expiryDate.setMinutes(startDate.getMinutes() + 60);

    permissions = azure.BlobUtilities.SharedAccessPermissions.READ;

    var sharedAccessPolicy = {
        AccessPolicy: {
            Permissions: permissions,
            Start: startDate,
            Expiry: expiryDate
        }
    };
    var container='test';
    var blobName='test.txt';
    var sasToken = blobService.generateSharedAccessSignature(container, blobName, sharedAccessPolicy);
    var url=blobService.getUrl(container,blobName,sasToken);
    console.log(url);

感谢您的快速回复。我用提供的示例创建了一个URL。但是,url不包含参数“se”和“st”,因此在使用创建的url时出现错误“se是必需的。不能为空”。我使用了相同的代码来创建日期和sharedAccessPolicy。请共享您的代码,因为查看我的图片,其中有“se”和“st”。我发现了问题,我在“AccessPolicy”中有一个输入错误:。非常感谢你!谢谢你的快速回复。我用提供的示例创建了一个URL。但是,url不包含参数“se”和“st”,因此在使用创建的url时出现错误“se是必需的。不能为空”。我使用了相同的代码来创建日期和sharedAccessPolicy。请共享您的代码,因为查看我的图片,其中有“se”和“st”。我发现了问题,我在“AccessPolicy”中有一个输入错误:。非常感谢你!