Repository: kserve/kserve (language: python)

Issue:
Azure storage download single digit DNS zone ID not supported
/kind bug

**What steps did you take and what happened:**
[A clear and concise description of what the bug is.]
Using an azure blob URI with single digit zone ID (eg. `https://test.z1.blob.storage.azure.net"`) will not be matched to download azure blob (similar for azure file share). 
Azure [documentation](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview#azure-dns-zone-endpoints-preview) mentions the schema ranges from `z00` to `z55`. However, provider in our environment has single digit DNS zone IDs.


**What did you expect to happen:**
Storage initializer should match and download if Azure DNS zone ID is single digit.


**What's the InferenceService yaml:**
[To help us debug please run `kubectl get isvc $name -n $namespace -oyaml` and paste the output]

**Anything else you would like to add:**
[Miscellaneous information that will assist in solving the issue.]


**Environment:**

- Istio Version:
- Knative Version:
- KServe Version:
- Kubeflow version:
- Cloud Environment:[k8s_istio/istio_dex/gcp_basic_auth/gcp_iap/aws/aws_cognito/ibm]
- Minikube/Kind version:
- Kubernetes version: (use `kubectl version`):
- OS (e.g. from `/etc/os-release`):



Discussion / hints:

Fix patch:
diff --git a/python/kserve/kserve/storage/storage.py b/python/kserve/kserve/storage/storage.py
index 441b7018a4e..2f19525409f 100644
--- a/python/kserve/kserve/storage/storage.py
+++ b/python/kserve/kserve/storage/storage.py
@@ -39,11 +39,11 @@
 _WEBHDFS_PREFIX = "webhdfs://"
 _AZURE_BLOB_RE = [
     "https://(.+?).blob.core.windows.net/(.+)",
-    "https://(.+?).z[0-9]{2}.blob.storage.azure.net/(.+)",
+    "https://(.+?).z[0-9]{1,2}.blob.storage.azure.net/(.+)",
 ]
 _AZURE_FILE_RE = [
     "https://(.+?).file.core.windows.net/(.+)",
-    "https://(.+?).z[0-9]{2}.file.storage.azure.net/(.+)",
+    "https://(.+?).z[0-9]{1,2}.file.storage.azure.net/(.+)",
 ]
 _LOCAL_PREFIX = "file://"
 _URI_RE = "https?://(.+)/(.+)"


Test patch:
diff --git a/python/kserve/kserve/storage/test/test_storage.py b/python/kserve/kserve/storage/test/test_storage.py
index c8f963f5c23..921ca18ff46 100644
--- a/python/kserve/kserve/storage/test/test_storage.py
+++ b/python/kserve/kserve/storage/test/test_storage.py
@@ -265,6 +265,7 @@ def test_download_azure_blob_called_with_matching_uri(mock_download_azure_blob):
     azure_blob_uris = [
         "https://accountname.blob.core.windows.net/container/some/blob/",
         "https://accountname.z20.blob.storage.azure.net/container/some/blob/",
+        "https://accountname.z2.blob.storage.azure.net/container/some/blob/",
     ]
 
     for uri in azure_blob_uris:
@@ -281,6 +282,7 @@ def test_download_azure_file_share_called_with_matching_uri(
     azure_file_uris = [
         "https://accountname.file.core.windows.net/container/some/blob",
         "https://accountname.z20.file.storage.azure.net/container/some/blob",
+        "https://accountname.z2.file.storage.azure.net/container/some/blob",
     ]
 
     for uri in azure_file_uris: