diff --git a/src/BaGet.Azure/Configuration/AzureTableOptions.cs b/src/BaGet.Azure/Configuration/AzureTableOptions.cs
index 373eb9b3e..a6d3ea885 100644
--- a/src/BaGet.Azure/Configuration/AzureTableOptions.cs
+++ b/src/BaGet.Azure/Configuration/AzureTableOptions.cs
@@ -6,5 +6,7 @@ public class AzureTableOptions
     {
         [Required]
         public string ConnectionString { get; set; }
+
+        [Required] public string TableName { get; set; } = "Packages";
     }
 }
diff --git a/src/BaGet.Azure/Table/TablePackageDatabase.cs b/src/BaGet.Azure/Table/TablePackageDatabase.cs
index 83174df4c..3f029883c 100644
--- a/src/BaGet.Azure/Table/TablePackageDatabase.cs
+++ b/src/BaGet.Azure/Table/TablePackageDatabase.cs
@@ -6,6 +6,7 @@
 using BaGet.Core;
 using Microsoft.Azure.Cosmos.Table;
 using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Options;
 using NuGet.Versioning;
 
 namespace BaGet.Azure
@@ -15,9 +16,9 @@ namespace BaGet.Azure
     /// </summary>
     public class TablePackageDatabase : IPackageDatabase
     {
-        private const string TableName = "Packages";
         private const int MaxPreconditionFailures = 5;
 
+        private readonly string _tableName;
         private readonly TableOperationBuilder _operationBuilder;
         private readonly CloudTable _table;
         private readonly ILogger<TablePackageDatabase> _logger;
@@ -25,10 +26,12 @@ public class TablePackageDatabase : IPackageDatabase
         public TablePackageDatabase(
             TableOperationBuilder operationBuilder,
             CloudTableClient client,
-            ILogger<TablePackageDatabase> logger)
+            ILogger<TablePackageDatabase> logger,
+            IOptions<AzureTableOptions> options)
         {
             _operationBuilder = operationBuilder ?? throw new ArgumentNullException(nameof(operationBuilder));
-            _table = client?.GetTableReference(TableName) ?? throw new ArgumentNullException(nameof(client));
+            _tableName = options.Value.TableName;
+            _table = client?.GetTableReference(_tableName) ?? throw new ArgumentNullException(nameof(client));
             _logger = logger ?? throw new ArgumentNullException(nameof(logger));
         }
 
diff --git a/src/BaGet.Azure/Table/TableSearchService.cs b/src/BaGet.Azure/Table/TableSearchService.cs
index c5beb10a5..bb65e9833 100644
--- a/src/BaGet.Azure/Table/TableSearchService.cs
+++ b/src/BaGet.Azure/Table/TableSearchService.cs
@@ -6,21 +6,23 @@
 using BaGet.Core;
 using BaGet.Protocol.Models;
 using Microsoft.Azure.Cosmos.Table;
+using Microsoft.Extensions.Options;
 
 namespace BaGet.Azure
 {
     public class TableSearchService : ISearchService
     {
-        private const string TableName = "Packages";
-
+        private readonly string _tableName;
         private readonly CloudTable _table;
         private readonly ISearchResponseBuilder _responseBuilder;
 
         public TableSearchService(
             CloudTableClient client,
-            ISearchResponseBuilder responseBuilder)
+            ISearchResponseBuilder responseBuilder,
+            IOptions<AzureTableOptions> options)
         {
-            _table = client?.GetTableReference(TableName) ?? throw new ArgumentNullException(nameof(client));
+            _tableName = options.Value.TableName;
+            _table = client?.GetTableReference(_tableName) ?? throw new ArgumentNullException(nameof(client));
             _responseBuilder = responseBuilder ?? throw new ArgumentNullException(nameof(responseBuilder));
         }