Azure Load Testing:如何从存储账户读取支持性CSV文件
从Azure存储账户读取CSV文件用于负载测试
以下是实现从存储账户读取支持性CSV文件、无需将其上传到Azure Load Testing资源的具体步骤:
1. 准备存储账户与CSV文件
- 将
WeatherData.csv上传至Azure存储账户的目标Blob容器中 - 配置访问权限二选一:
- 方式一:为Azure Load Testing资源的系统托管身份分配存储账户的
Storage Blob Data Reader角色,实现无密钥访问 - 方式二:生成具备Blob读取权限的SAS令牌,后续在测试计划中通过该令牌访问文件
- 方式一:为Azure Load Testing资源的系统托管身份分配存储账户的
2. 修改JMeter测试计划(Weather App with CSV.jmx)
更新CSV Data Set Config组件的配置:
- 在
Filename字段填入存储Blob的访问路径:- 使用SAS令牌时:
https://<存储账户名称>.blob.core.windows.net/<容器名称>/WeatherData.csv?<SAS令牌内容> - 使用托管身份时,直接填写Blob的基础URL即可:
https://<存储账户名称>.blob.core.windows.net/<容器名称>/WeatherData.csv
- 使用SAS令牌时:
- 保持
File Encoding、Delimiter等原有配置不变
3. 更新Azure负载测试的CLI命令
不再执行az load test file upload命令,改用修改后的测试计划创建/更新测试:
完整CLI命令(修改版)
# 创建资源组与负载测试资源 az group create --name sample-rg --location westus2 az load create --name sample-resource --resource-group sample-rg --location westus2 # 为负载测试资源启用系统托管身份(使用方式一时执行) az load test identity assign --name sample-resource --resource-group sample-rg --system-assigned # 为托管身份分配存储Blob读取权限(使用方式一时执行) az role assignment create --assignee "<负载测试资源的系统托管身份ID>" --role "Storage Blob Data Reader" --scope "/subscriptions/<订阅ID>/resourceGroups/<存储账户资源组>/providers/Microsoft.Storage/storageAccounts/<存储账户名称>" # 创建测试(无需上传CSV文件) az load test create --test-id weather-multiple-cities --load-test-resource sample-resource --resource-group sample-rg --display-name "Weather-Multiple-Cities" --description "Test description" --test-plan "Weather App with CSV.jmx" --engine-instances 1 --env rps=2 count=1
4. 验证与后续维护
启动测试后,负载测试引擎会直接从存储账户读取CSV文件。后续只需更新存储账户中的WeatherData.csv即可,无需修改Azure Load Testing资源的任何配置。

内容的提问来源于stack exchange,提问作者One Developer
相关产品推荐
相关产品推荐

