Currently we only support adding an endpoint suffix for azure repositories. This is not enough when a custom Azure DNS  zone is used since the URI that's created using an endpoint suffix is incorrect.
```java
primaryUri = new URI(protocol + "://" + accountName + "." + service + "." + endpointSuffix);
``` 

We should add the ability to provide a custom endpoint to cover this situations.
modules/repository-azure/src/main/java/org/elasticsearch/repositories/azure/AzureStorageSettings.java
String setting = settings[i].trim();
            if (setting.length() > 0) {
                final int idx = setting.indexOf("=");
                if (idx == -1 || idx == 0 || idx == settings[i].length() - 1) {
                    new IllegalArgumentException("Invalid connection string: " + getConnectString());
                }
                if (propertyName.equals(setting.substring(0, idx))) {
                    return setting.substring(idx + 1);
                }
            }
        }
        return null;
    }
    private static final String DEFAULT_DNS = "core.windows.net";
    
    private String deriveURIFromSettings(boolean isPrimary) {
        String uriString = new StringBuilder().append("https://")
            .append(account)
            .append(isPrimary ? "" : "-secondary")
            .append(".blob.")
            .append(Strings.isNullOrEmpty(endpointSuffix) ? DEFAULT_DNS : endpointSuffix)
            .toString();
        try {
            return new URI(uriString).toString();  
        } catch (URISyntaxException e) {
            throw new IllegalArgumentException(e);
        }
    }
}