Ejemplo n.º 1
0
 private static BlobContainerConfiguration AddContainerNameIfNotInConfig(
     BlobContainerConfiguration configuration,
     string?containerName)
 {
     return(configuration.Container is null && containerName is not null
         ? configuration with
     {
         Container = AzureStorageBlobContainerNaming.HashAndEncodeBlobContainerName(containerName),
     }
Ejemplo n.º 2
0
        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));
 }
Ejemplo n.º 4
0
        /// <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));
        }