Skip to content

Commit 1cfb61b

Browse files
authored
APPT-2347 Create new recurrence_data container (#1646)
- Add to cosmos tf resource. - Add to blobAuditor settings, but not aggregator. - Add retry policy to docker-compose. - Create container if not exists in function extensions. - PartitionKey 'site'.
1 parent 5af883a commit 1cfb61b

6 files changed

Lines changed: 30 additions & 0 deletions

File tree

data/CosmosDbSeeder/appsettings.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@
2020
{
2121
"Name": "audit_data",
2222
"PartitionKey": "/user"
23+
},
24+
{
25+
"Name": "recurrence_data",
26+
"PartitionKey": "/site"
2327
}
2428
]
2529
}

docker-compose.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,10 @@ services:
120120
- ContainerRetry__Configurations__5__BackoffRetryType=2
121121
- ContainerRetry__Configurations__5__InitialValueMs=200
122122
- ContainerRetry__Configurations__5__CutoffRetryMs=10000
123+
- ContainerRetry__Configurations__6__ContainerName=recurrence_data
124+
- ContainerRetry__Configurations__6__BackoffRetryType=2
125+
- ContainerRetry__Configurations__6__InitialValueMs=200
126+
- ContainerRetry__Configurations__6__CutoffRetryMs=10000
123127
- CANCEL_A_DATE_RANGE_MAXIMUM_DAYS=90
124128
- TZ=UTC
125129
splunk:

infrastructure/resources/cosmosdb.tf

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,22 @@ resource "azurerm_cosmosdb_sql_container" "nbs_mya_audit_container" {
164164
}
165165
}
166166

167+
resource "azurerm_cosmosdb_sql_container" "nbs_mya_recurrence_container" {
168+
count = var.create_cosmos_db ? 1 : 0
169+
name = "recurrence_data"
170+
resource_group_name = local.resource_group_name
171+
account_name = azurerm_cosmosdb_account.nbs_mya_cosmos_db[0].name
172+
database_name = azurerm_cosmosdb_sql_database.nbs_appts_database[0].name
173+
partition_key_paths = ["/site"]
174+
175+
dynamic "autoscale_settings" {
176+
for_each = var.cosmos_booking_autoscale_settings
177+
content {
178+
max_throughput = autoscale_settings.value["max_throughput"]
179+
}
180+
}
181+
}
182+
167183
resource "azurerm_cosmosdb_sql_container" "nbs_mya_audit_lease_container" {
168184
count = var.create_cosmos_db ? 1 : 0
169185
name = "audit_data_lease"

src/api/Nhs.Appointments.Api/FunctionConfigurationExtensions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@ private static async Task SetupCosmosDatabase(CosmosClient cosmosClient)
163163
await database.Database.CreateContainerIfNotExistsAsync(id: "index_data", partitionKeyPath: "/docType");
164164
await database.Database.CreateContainerIfNotExistsAsync(id: "audit_data", partitionKeyPath: "/user");
165165
await database.Database.CreateContainerIfNotExistsAsync(id: "aggregated_data", partitionKeyPath: "/date");
166+
await database.Database.CreateContainerIfNotExistsAsync(id: "recurrence_data", partitionKeyPath: "/site");
166167
}
167168

168169
private static CosmosClientOptions GetCosmosOptions(string cosmosEndpoint, bool ignoreSslCert)

src/jobs/Nhs.Appointments.Jobs.BlobAuditor/appsettings.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@
2626
{
2727
"ContainerName": "index_data",
2828
"LeaseContainerName": "audit_data_lease"
29+
},
30+
{
31+
"ContainerName": "recurrence_data",
32+
"LeaseContainerName": "audit_data_lease"
2933
}
3034
],
3135
"SinkExclusions": [

src/jobs/Nhs.Appointments.Jobs.ChangeFeed/ContainerName.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ public static class ContainerName
66
public const string CoreData = "core_data";
77
public const string IndexData = "index_data";
88
public const string AggregatedData = "aggregated_data";
9+
public const string RecurrenceData = "recurrence_data";
910
}

0 commit comments

Comments
 (0)