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

SasQueryParametersExtensions

using System; using System.Collections.Generic; using System.Globalization; using System.Linq; namespace Azure.Storage.Sas { internal static class SasQueryParametersExtensions { internal static void ParseKeyProperties(this BlobSasQueryParameters parameters, IDictionary<string, string> values) { KeyValuePair<string, string>[] array = values.ToArray(); parameters.KeyProperties = new UserDelegationKeyProperties(); foreach (KeyValuePair<string, string> item in (IEnumerable<KeyValuePair<string, string>>)array) { bool flag = true; switch (item.Key.ToUpperInvariant()) { case "SKOID": parameters.KeyProperties.ObjectId = item.Value; break; case "SKTID": parameters.KeyProperties.TenantId = item.Value; break; case "SKT": parameters.KeyProperties.StartsOn = DateTimeOffset.ParseExact(item.Value, "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture); break; case "SKE": parameters.KeyProperties.ExpiresOn = DateTimeOffset.ParseExact(item.Value, "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture); break; case "SKS": parameters.KeyProperties.Service = item.Value; break; case "SKV": parameters.KeyProperties.Version = item.Value; break; default: flag = false; break; } if (flag) values.Remove(item.Key); } } } }