private static BlobContainerConfiguration AddContainerNameIfNotInConfig( BlobContainerConfiguration configuration, string?containerName) { return(configuration.Container is null && containerName is not null ? configuration with { Container = AzureStorageBlobContainerNaming.HashAndEncodeBlobContainerName(containerName), }
private static BlobContainerConfiguration V3ConfigurationFromLegacy( ITenant tenant, string?containerName, LegacyV2BlobStorageConfiguration legacyConfiguration) { BlobContainerConfiguration v3Configuration = LegacyConfigurationConverter.FromV2ToV3(legacyConfiguration); if (legacyConfiguration.Container is not null) { v3Configuration = v3Configuration with { Container = string.IsNullOrWhiteSpace(legacyConfiguration.Container) ? containerName is null ? null : AzureStorageBlobContainerNaming.HashAndEncodeBlobContainerName(containerName) : AzureStorageBlobContainerNaming.HashAndEncodeBlobContainerName( legacyConfiguration.DisableTenantIdPrefix ? legacyConfiguration.Container : AzureStorageBlobTenantedContainerNaming.GetTenantedLogicalBlobContainerNameFor(tenant, legacyConfiguration.Container)), }; } return(AddContainerNameIfNotInConfig(v3Configuration, containerName)); }
/// <summary> /// Make a plain text name safe to use as an Azure storage blob container name. /// </summary> /// <param name="containerName">The plain text name for the blob container.</param> /// <returns>The encoded name.</returns> public static string HashAndEncodeBlobContainerName(string containerName) { return(AzureStorageBlobContainerNaming.HashAndEncodeBlobContainerName(containerName)); }
/// <summary> /// Make a container name safe to use as an Azure storage blob container name, and which /// is unique for this combination of tenant and logical container name. /// </summary> /// <param name="tenant">The tenant for which to generate a name.</param> /// <param name="containerName">The plain text name for the blob container.</param> /// <returns>The encoded name.</returns> public static string GetHashedTenantedBlobContainerNameFor(ITenant tenant, string containerName) { string tenantedUnhashedContainerName = GetTenantedLogicalBlobContainerNameFor(tenant, containerName); return(AzureStorageBlobContainerNaming.HashAndEncodeBlobContainerName(tenantedUnhashedContainerName)); }