<PackageReference Include="Azure.Storage.Blobs" Version="12.24.1" />

UserDelegationKeyProperties

Encapsulates the shared properties used by both BlobSasQueryParameters and DataLakeSasQueryParameters.
using System; using System.Globalization; using System.Net; using System.Text; namespace Azure.Storage.Sas { internal class UserDelegationKeyProperties { internal string ObjectId { get; set; } internal string TenantId { get; set; } internal DateTimeOffset StartsOn { get; set; } internal DateTimeOffset ExpiresOn { get; set; } internal string Service { get; set; } internal string Version { get; set; } public void AppendProperties(StringBuilder stringBuilder) { if (!string.IsNullOrWhiteSpace(ObjectId)) stringBuilder.AppendQueryParameter("skoid", ObjectId); if (!string.IsNullOrWhiteSpace(TenantId)) stringBuilder.AppendQueryParameter("sktid", TenantId); DateTimeOffset dateTimeOffset; if (StartsOn != DateTimeOffset.MinValue) { dateTimeOffset = StartsOn; stringBuilder.AppendQueryParameter("skt", WebUtility.UrlEncode(dateTimeOffset.ToString("yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture))); } if (ExpiresOn != DateTimeOffset.MinValue) { dateTimeOffset = ExpiresOn; stringBuilder.AppendQueryParameter("ske", WebUtility.UrlEncode(dateTimeOffset.ToString("yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture))); } if (!string.IsNullOrWhiteSpace(Service)) stringBuilder.AppendQueryParameter("sks", Service); if (!string.IsNullOrWhiteSpace(Version)) stringBuilder.AppendQueryParameter("skv", Version); } } }