/// <inheritdoc/> public async Task <IWorkflowStore> GetWorkflowStoreForTenantAsync(ITenant tenant) { string tenantedLogicalContainerName = AzureStorageBlobTenantedContainerNaming.GetTenantedLogicalBlobContainerNameFor( tenant, WorkflowTenancyConstants.StoreDefinitionsLogicalContainerName); BlobContainerClient blobContainer = await this.containerFactory.GetBlobContainerClientFromTenantAsync( tenant, this.v2ConfigurationKey, this.v3ConfigurationKey, tenantedLogicalContainerName).ConfigureAwait(false); // No need to cache these instances as they are lightweight wrappers around the container. return(new BlobStorageWorkflowStore(blobContainer, this.serializerSettingsProvider)); }
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)); }