I am creating a time bound SAS for each requested file. To do that I am creating a new SharedAccessFilePolicy
object as followings:
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
};
Question1: Is it ok to create a new SharedAccessFilePolicy
for each requested file?
Question2: Do we need to clean-up the SharedAccessFilePolicy
objects that we have created or those would be destroyed automatically?
It's OK to create a new SharedAccessFilePolicy
for each requested file like your code above, since they're all client-side operations actually. No server request happens in your code above.
You don't need to clean up SharedAccessFilePolicy
objects above, since it's just a temporary variable to define the SAS access policy before generation.
Note that SharedAccessFilePolicy
will be saved on server side only when you're using Stored Access Policies, but you're not using that feature in your code above.