每个文件单独的SharedAccessFilePolicy是否可以?

时间:2019-06-18 02:35:56

标签: azure-storage azure-files azure-sas

我正在为每个请求的文件创建一个有时间限制的SAS。为此,我正在创建一个新的SharedAccessFilePolicy对象,如下所示:

SharedAccessFilePolicy sasConstraints = new SharedAccessFilePolicy();

sasConstraints.SharedAccessExpiryTime = expirey;
sasConstraints.Permissions = SharedAccessFilePermissions.Read;
string sasBlobToken = file.GetSharedAccessSignature(sasConstraints);

SharedAccessFilePolicy sharedPolicy = new SharedAccessFilePolicy()
{
    SharedAccessExpiryTime = expirey,
    Permissions = SharedAccessFilePermissions.Read
};

问题1:是否可以为每个请求的文件创建一个新的SharedAccessFilePolicy

问题2::我们是否需要清理已创建的SharedAccessFilePolicy对象,否则这些对象将被自动销毁?

1 个答案:

答案 0 :(得分:1)

可以像上面的代码一样为每个请求的文件创建一个新的SharedAccessFilePolicy,因为它们实际上都是客户端操作。上面的代码中没有服务器请求发生。

您不需要清理上面的SharedAccessFilePolicy对象,因为它只是在生成之前定义SAS访问策略的临时变量。

请注意,只有在使用Stored Access Policies时,SharedAccessFilePolicy才会保存在服务器端,但是在上面的代码中您并未使用该功能。