diff --git a/crates/key-value-azure/src/store.rs b/crates/key-value-azure/src/store.rs index a1321eec56..0b60439caf 100644 --- a/crates/key-value-azure/src/store.rs +++ b/crates/key-value-azure/src/store.rs @@ -154,6 +154,15 @@ impl Store for AzureCosmosStore { } async fn set(&self, key: &str, value: &[u8]) -> Result<(), Error> { + let illegal_chars = ['/', '\\', '?', '#']; + + if key.contains(|c| illegal_chars.contains(&c)) { + return Err(Error::Other(format!( + "Key contains an illegal character. Keys must not include any of: {}", + illegal_chars.iter().collect::() + ))); + } + let pair = Pair { id: key.to_string(), value: value.to_vec(),