每个文件的单独 SharedAccessFilePolicy 是否可以?
Is separate SharedAccessFilePolicy for each file is ok?
我正在为每个请求的文件创建一个时间限制的 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
对象,否则这些对象会自动销毁?
可以像上面的代码一样为每个请求的文件创建一个新的 SharedAccessFilePolicy
,因为它们实际上都是 client-side 操作。上面的代码中没有发生服务器请求。
您不需要清理上面的 SharedAccessFilePolicy
个对象,因为它只是一个临时变量,用于在生成之前定义 SAS 访问策略。
请注意,只有当您使用 Stored Access Policies 时,SharedAccessFilePolicy
才会保存在服务器端,但您没有在上面的代码中使用该功能。
我正在为每个请求的文件创建一个时间限制的 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
对象,否则这些对象会自动销毁?
可以像上面的代码一样为每个请求的文件创建一个新的 SharedAccessFilePolicy
,因为它们实际上都是 client-side 操作。上面的代码中没有发生服务器请求。
您不需要清理上面的 SharedAccessFilePolicy
个对象,因为它只是一个临时变量,用于在生成之前定义 SAS 访问策略。
请注意,只有当您使用 Stored Access Policies 时,SharedAccessFilePolicy
才会保存在服务器端,但您没有在上面的代码中使用该功能。