node.js - 使用 SAS (NODEJS) 从 azure blob 存储创建可共享 URI
问题描述
我正在尝试为 azure blob 存储中的单个文件创建具有共享访问签名的 URI。我想在我的后端创建它并将链接发送到我的角度前端,以便用户可以直接下载文件。
我在这里找到了一个类似的 C# 示例:How to download a file to browser from Azure Blob Storage
但是我很难找到 NodeJS 的正确方法。我查看了https://docs.microsoft.com/de-de/rest/api/storageservices/create-user-delegation-sas但是我不确定如何使用这些信息。
解决方案
这是获取 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);
推荐阅读
- security - Shiro 与 Spring 和 web 过滤器一起使用时如何添加 Shiro SessionListener?
- php - Laravel 中不存在验证器
- sophoslabs-intelix - Sophos Intellix Authenticate API 尝试进行身份验证时出错
- python - Selenium chrome 使用多个 add_experimental_option
- vue.js - 从 ForEach 调用方法无法正常工作 - vue.js
- javascript - 从 JavaScript 中的另一个列表中排序 JSON 列表
- python - Python 的幂律包:AttributeError: 'powerlaw_gen' object has no attribute 'Fit'
- axon - Separating Axon commands and its effects
- java - 修补更新并验证 RequestBody
- angular - 以角度接受来自一个文本框的多个输入