You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何模拟非公有Azure云环境(如Azure政府版等)开展测试?

模拟Azure非公有云环境的测试方案

核心思路:针对非公有云特性适配模拟工具

非公有云(如Azure政府版、中国版)的核心差异在于终结点域名、身份认证机构、服务可用范围,模拟时需针对性覆盖这些关键点:

1. 托管身份认证的模拟

非公有云的身份认证机构域名与公有云不同(例如Azure中国版为login.partner.microsoftonline.cn,政府版为login.microsoftonline.us),可通过以下方式模拟:

  • 使用MSAL相关Mock库,手动指定非公有云的认证终结点,模拟令牌生成流程。
  • 编写单元测试时,直接MockDefaultAzureCredential的调用逻辑,返回预设令牌,并将令牌中的issuer字段设置为对应非公有云的认证机构地址。

2. 存储服务的非公有云适配

Azurite支持自定义终结点配置,可修改启动参数适配非公有云的存储域名格式:

  • 启动Azurite时添加参数(以Azure中国版为例):
    azurite --blobHost 127.0.0.1 --blobPort 10000 --blobEndpointSuffix core.chinacloudapi.cn
    
  • 在应用代码中配置存储客户端时,指向自定义Azurite终结点,同时设置对应云环境标识(如AzureChinaCloud),让SDK自动适配域名规则。

3. 多云环境SDK配置切换

Azure原生SDK支持指定云环境,测试时可直接切换到非公有云模式,配合本地模拟工具使用:

  • .NET环境示例:
    var credential = new DefaultAzureCredential(new DefaultAzureCredentialOptions { AuthorityHost = AzureAuthorityHosts.AzureChinaCloud });
    var blobClient = new BlobServiceClient(new Uri("http://127.0.0.1:10000/devstoreaccount1"), credential);
    
  • Python环境示例:设置AZURE_ENVIRONMENT环境变量为AzureChinaCloud,SDK会自动适配对应终结点与认证地址。

4. 第三方模拟工具

  • LocalStack:支持模拟Azure多数服务,通过配置云环境参数,模拟非公有云的服务终结点。
  • Terraform Local:配合Azure Provider的environment参数,在本地创建模拟资源栈,验证资源配置在非公有云的兼容性。

关键注意事项

  • 重点测试服务终结点拼接、身份认证issuer验证、区域服务可用性这三个非公有云与公有云的核心差异点。
  • 对于仅特定非公有云存在的专有服务,若无对应模拟工具,建议用Mock接口的方式替代。

内容的提问来源于stack exchange,提问作者user2896152

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 23:42:13