Load Test Administration - Create Or Update Test
테스트 ID를 제공하여 새 테스트를 만들거나 기존 테스트를 업데이트합니다.
PATCH https://{endpoint}/tests/{testId}?api-version=2022-11-01
URI 매개 변수
Name | In(다음 안에) | 필수 | 형식 | Description |
---|---|---|---|---|
endpoint
|
path | True |
string |
|
test
|
path | True |
string |
부하 테스트의 고유 테스트 식별자는 소문자 알파벳, 숫자, 밑줄 또는 하이픈 문자만 포함해야 합니다. regex 패턴: |
api-version
|
query | True |
string |
이 작업에 사용할 API 버전입니다. |
요청 본문
Media Types: "application/merge-patch+json"
Name | 형식 | Description |
---|---|---|
certificate |
인증서 메타데이터. |
|
description |
string |
테스트 설명입니다. |
displayName |
string |
테스트의 표시 이름입니다. |
environmentVariables |
object |
이름, 값> 쌍의 <집합으로 정의된 환경 변수입니다. |
keyvaultReferenceIdentityId |
string |
Key Vault를 참조하는 관리 ID의 리소스 ID입니다. |
keyvaultReferenceIdentityType |
string |
Key Vault를 참조하는 관리 ID의 유형입니다. |
loadTestConfiguration |
부하 테스트 구성입니다. |
|
passFailCriteria |
테스트에 대한 실패 조건을 통과합니다. |
|
secrets |
<string, Secret> |
비밀은 Azure Key Vault 또는 다른 비밀 저장소에 저장할 수 있습니다. 비밀이 Azure Key Vault 저장된 경우 값은 비밀 식별자여야 하며 형식은 AKV_SECRET_URI 합니다. 비밀이 다른 곳에 저장되면 비밀 값이 직접 제공되어야 하며 형식을 SECRET_VALUE 합니다. |
subnetId |
string |
부하 테스트 인스턴스를 실행해야 하는 서브넷 ID입니다. |
응답
Name | 형식 | Description |
---|---|---|
200 OK |
요청이 성공했습니다. |
|
201 Created |
요청이 성공했고 결과적으로 새 리소스가 생성되었습니다. |
|
Other Status Codes |
예기치 않은 오류 응답입니다. 헤더 x-ms-error-code: string |
보안
Oauth2
OAuth 2.0 Flow와 Microsoft Entra ID.
형식:
oauth2
Flow:
implicit
권한 부여 URL:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
범위
Name | Description |
---|---|
https://cnt-prod.loadtesting.azure.com/.default |
예제
Create or update a load test
샘플 요청
PATCH https://{endpoint}/tests/12345678-1234-1234-1234-123456789012?api-version=2022-11-01
{
"description": "sample description",
"displayName": "Performance_LoadTest",
"loadTestConfiguration": {
"engineInstances": 6,
"splitAllCSVs": true
},
"passFailCriteria": {
"passFailMetrics": {
"fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": {
"clientMetric": "response_time_ms",
"aggregate": "percentage",
"condition": ">",
"value": 20,
"action": "continue"
}
}
},
"secrets": {
"secret1": {
"value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827",
"type": "AKV_SECRET_URI"
}
},
"environmentVariables": {
"envvar1": "sampletext"
},
"subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0",
"keyvaultReferenceIdentityType": "UserAssigned",
"keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/sampleprovider/sampleresourcetype/sampleresourcename"
}
샘플 응답
{
"testId": "12345678-1234-1234-1234-123456789012",
"description": "sample description",
"displayName": "Performance_LoadTest",
"loadTestConfiguration": {
"engineInstances": 6,
"splitAllCSVs": true
},
"passFailCriteria": {
"passFailMetrics": {
"fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": {
"clientMetric": "response_time_ms",
"aggregate": "percentage",
"condition": ">",
"value": 20,
"action": "continue",
"actualValue": 10,
"result": "passed"
}
}
},
"createdDateTime": "2021-12-05T16:43:46.072Z",
"createdBy": "user@contoso.com",
"lastModifiedDateTime": "2021-12-05T16:43:46.072Z",
"lastModifiedBy": "user@contoso.com",
"inputArtifacts": {
"configFileInfo": {
"url": "https://dummyurl.com/configresource",
"fileName": "config.yaml",
"fileType": "ADDITIONAL_ARTIFACTS",
"expireDateTime": "2021-12-05T16:43:46.072Z",
"validationStatus": ""
},
"testScriptFileInfo": {
"url": "https://dummyurl.com/testscriptresource",
"fileName": "sample.jmx",
"fileType": "JMX_FILE",
"expireDateTime": "2021-12-05T16:43:46.072Z",
"validationStatus": "VALIDATION_SUCCESS"
},
"userPropFileInfo": {
"url": "https://dummyurl.com/userpropresource",
"fileName": "user.properties",
"fileType": "USER_PROPERTIES",
"expireDateTime": "2021-12-05T16:43:46.072Z",
"validationStatus": ""
},
"inputArtifactsZipFileInfo": {
"url": "https://dummyurl.com/inputartifactzipresource",
"fileName": "inputartifacts.zip",
"fileType": "ADDITIONAL_ARTIFACTS",
"expireDateTime": "2021-12-05T16:43:46.072Z",
"validationStatus": ""
},
"additionalFileInfo": []
},
"secrets": {
"secret1": {
"value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827",
"type": "AKV_SECRET_URI"
}
},
"environmentVariables": {
"envvar1": "sampletext"
},
"subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0",
"keyvaultReferenceIdentityType": "UserAssigned",
"keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
}
{
"testId": "12345678-1234-1234-1234-123456789012",
"description": "sample description",
"displayName": "Performance_LoadTest",
"loadTestConfiguration": {
"engineInstances": 6,
"splitAllCSVs": true
},
"passFailCriteria": {
"passFailMetrics": {
"fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": {
"clientMetric": "response_time_ms",
"aggregate": "percentage",
"condition": ">",
"value": 20,
"action": "continue",
"actualValue": 10,
"result": "passed"
}
}
},
"createdDateTime": "2021-12-05T16:43:46.072Z",
"createdBy": "user@contoso.com",
"lastModifiedDateTime": "2021-12-05T16:43:46.072Z",
"lastModifiedBy": "user@contoso.com",
"inputArtifacts": {
"configFileInfo": {
"url": "https://dummyurl.com/configresource",
"fileName": "config.yaml",
"fileType": "ADDITIONAL_ARTIFACTS",
"expireDateTime": "2021-12-05T16:43:46.072Z",
"validationStatus": ""
},
"testScriptFileInfo": {
"url": "https://dummyurl.com/testscriptresource",
"fileName": "sample.jmx",
"fileType": "JMX_FILE",
"expireDateTime": "2021-12-05T16:43:46.072Z",
"validationStatus": "VALIDATION_SUCCESS"
},
"userPropFileInfo": {
"url": "https://dummyurl.com/userpropresource",
"fileName": "user.properties",
"fileType": "USER_PROPERTIES",
"expireDateTime": "2021-12-05T16:43:46.072Z",
"validationStatus": ""
},
"inputArtifactsZipFileInfo": {
"url": "https://dummyurl.com/inputartifactzipresource",
"fileName": "inputartifacts.zip",
"fileType": "ADDITIONAL_ARTIFACTS",
"expireDateTime": "2021-12-05T16:43:46.072Z",
"validationStatus": ""
},
"additionalFileInfo": []
},
"secrets": {
"secret1": {
"value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827",
"type": "AKV_SECRET_URI"
}
},
"environmentVariables": {
"envvar1": "sampletext"
},
"subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0",
"keyvaultReferenceIdentityType": "UserAssigned",
"keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1"
}
정의
Name | Description |
---|---|
Azure. |
Error 개체. |
Azure. |
오류 세부 정보가 포함된 응답입니다. |
Azure. |
오류에 대한 보다 구체적인 정보를 포함하는 개체입니다. Microsoft One API 지침에 따라 - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. |
Certificate |
인증서 메타데이터 |
Certificate |
지원되는 인증서 유형입니다. |
File |
파일 상태. |
File |
지원되는 파일 형식입니다. |
Load |
부하 테스트에 대한 구성입니다. |
Optional |
빠른 부하 테스트를 위한 구성 |
Pass |
테스트에 대한 실패 조건을 통과합니다. |
Pass |
통과 실패 메트릭 |
PFAction |
임계값이 충족된 후 수행되는 작업입니다. 기본값은 'continue'입니다. |
PFAg |
통과/실패 조건에 대한 집계 함수입니다. |
PFMetrics |
통과/실패 조건에 대한 메트릭입니다. |
PFResult |
통과/실패 조건 결과입니다. |
Secret |
비밀 |
Secret |
지원되는 비밀 유형입니다. |
Test |
부하 테스트 모델. |
Test |
부하 테스트 모델. |
Test |
파일 정보를 테스트합니다. |
Test |
테스트의 입력 아티팩트입니다. |
Azure.Core.Foundations.Error
Error 개체.
Name | 형식 | Description |
---|---|---|
code |
string |
서버 정의 오류 코드 집합 중 하나입니다. |
details |
이 보고된 오류로 이어진 특정 오류에 대한 세부 정보 배열입니다. |
|
innererror |
오류에 대한 현재 개체보다 더 구체적인 정보를 포함하는 개체입니다. |
|
message |
string |
사람이 읽을 수 있는 오류 표현입니다. |
target |
string |
오류의 대상입니다. |
Azure.Core.Foundations.ErrorResponse
오류 세부 정보가 포함된 응답입니다.
Name | 형식 | Description |
---|---|---|
error |
Error 개체. |
Azure.Core.Foundations.InnerError
오류에 대한 보다 구체적인 정보를 포함하는 개체입니다. Microsoft One API 지침에 따라 - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.
Name | 형식 | Description |
---|---|---|
code |
string |
서버 정의 오류 코드 집합 중 하나입니다. |
innererror |
내부 오류입니다. |
CertificateMetadata
인증서 메타데이터
Name | 형식 | Description |
---|---|---|
name |
string |
인증서의 이름입니다. |
type |
인증서 유형 |
|
value |
string |
각 형식에 대한 인증서 값 |
CertificateType
지원되는 인증서 유형입니다.
Name | 형식 | Description |
---|---|---|
AKV_CERT_URI |
string |
인증서가 Azure Key Vault 저장되는 경우 |
FileStatus
파일 상태.
Name | 형식 | Description |
---|---|---|
NOT_VALIDATED |
string |
파일의 유효성이 검사되지 않습니다. |
VALIDATION_FAILURE |
string |
파일 유효성 검사에 실패했습니다. |
VALIDATION_INITIATED |
string |
파일 유효성 검사가 진행 중입니다. |
VALIDATION_NOT_REQUIRED |
string |
유효성 검사는 필요하지 않습니다. |
VALIDATION_SUCCESS |
string |
파일의 유효성이 검사됩니다. |
FileType
지원되는 파일 형식입니다.
Name | 형식 | Description |
---|---|---|
ADDITIONAL_ARTIFACTS |
string |
파일이 지원되는 다른 파일 형식 중 하나도 아닌 경우 |
JMX_FILE |
string |
파일이 JMX 스크립트인 경우 |
USER_PROPERTIES |
string |
파일이 사용자 속성 파일인 경우. |
LoadTestConfiguration
부하 테스트에 대한 구성입니다.
Name | 형식 | Default value | Description |
---|---|---|---|
engineInstances |
integer |
부하 테스트를 실행할 엔진 인스턴스의 수입니다. 지원되는 값의 범위는 1-400입니다. 새 테스트를 만드는 데 필요합니다. |
|
optionalLoadTestConfig |
빠른 부하 테스트를 위한 구성 |
||
quickStartTest |
boolean |
False |
true이면 optionalLoadTestConfig가 필요하며 부하 테스트에 대한 JMX 스크립트를 업로드할 필요가 없습니다. |
splitAllCSVs |
boolean |
False |
false인 경우 Azure Load Testing은 모든 테스트 엔진 인스턴스에서 수정되지 않은 입력 파일을 복사하고 처리합니다. true인 경우 Azure Load Testing은 CSV 입력 데이터를 모든 엔진 인스턴스에 균등하게 분할합니다. 여러 CSV 파일을 제공하는 경우 각 파일이 균등하게 분할됩니다. |
OptionalLoadTestConfig
빠른 부하 테스트를 위한 구성
Name | 형식 | Description |
---|---|---|
duration |
integer |
실행 기간(초)을 테스트합니다. |
endpointUrl |
string |
URL을 테스트합니다. 전체 HTTP URL을 제공합니다. 예를 들어 https://contoso-app.azurewebsites.net/login |
rampUpTime |
integer |
시간(초)을 증가합니다. |
virtualUsers |
integer |
동시 가상 사용자가 없습니다. |
PassFailCriteria
테스트에 대한 실패 조건을 통과합니다.
Name | 형식 | Description |
---|---|---|
passFailMetrics |
<string,
Pass |
ID의 맵 및 통과 실패 메트릭 { id : pass fail metrics }. |
PassFailMetric
통과 실패 메트릭
Name | 형식 | Default value | Description |
---|---|---|---|
action | continue |
임계값이 충족된 후 수행되는 작업입니다. 기본값은 'continue'입니다. |
|
actualValue |
number |
테스트 실행에 대한 클라이언트 메트릭의 실제 값입니다. |
|
aggregate |
클라이언트 메트릭에 적용할 집계 함수입니다. 허용되는 함수
|
||
clientMetric |
조건을 적용할 클라이언트 메트릭입니다. |
||
condition |
string |
비교 연산자입니다. 지원되는 형식 ''>, '<' |
|
requestName |
string |
통과 실패 조건을 적용해야 하는 요청 이름 |
|
result |
테스트 실행의 결과입니다. |
||
value |
number |
클라이언트 메트릭과 비교할 값입니다. 허용되는 값 - 'error: [0.0 , 100.0] unit- % ', response_time_ms 및 대기 시간 : 모든 정수 값 unit- ms. |
PFAction
임계값이 충족된 후 수행되는 작업입니다. 기본값은 'continue'입니다.
Name | 형식 | Description |
---|---|---|
continue |
string |
통과 실패 메트릭 조건 메트릭이 실패하더라도 테스트는 계속 실행됩니다. |
stop |
string |
통과 실패 조건 메트릭이 전달되지 않으면 테스트 실행이 중지됩니다. |
PFAgFunc
통과/실패 조건에 대한 집계 함수입니다.
Name | 형식 | Description |
---|---|---|
avg |
string |
평균 값에 조건이 적용됩니다. |
count |
string |
개수 값에 조건이 적용됩니다. |
max |
string |
최대값에 대한 조건이 적용됩니다. |
min |
string |
최소값에 대한 조건이 적용됩니다. |
p50 |
string |
기준은 50번째 백분위수 값에 적용됩니다. |
p90 |
string |
조건은 90번째 백분위수 값에 적용됩니다. |
p95 |
string |
조건은 95번째 백분위수 값에 적용됩니다. |
p99 |
string |
조건은 99번째 백분위수 값에 적용됩니다. |
percentage |
string |
기준은 지정된 백분율 값에 적용됩니다. |
PFMetrics
통과/실패 조건에 대한 메트릭입니다.
Name | 형식 | Description |
---|---|---|
error |
string |
오류 메트릭에 대한 실패 조건을 전달합니다. |
latency |
string |
대기 시간 메트릭에 대한 실패 조건을 밀리초 단위로 전달합니다. |
requests |
string |
총 요청에 대한 실패 조건을 전달합니다. |
requests_per_sec |
string |
초당 요청에 대한 실패 조건을 전달합니다. |
response_time_ms |
string |
응답 시간 메트릭에 대한 실패 조건을 밀리초 단위로 전달합니다. |
PFResult
통과/실패 조건 결과입니다.
Name | 형식 | Description |
---|---|---|
failed |
string |
지정된 통과 실패 조건 메트릭이 실패했습니다. |
passed |
string |
지정된 통과 실패 조건 메트릭이 통과했습니다. |
undetermined |
string |
지정된 통과 실패 조건 메트릭을 확인할 수 없습니다. |
Secret
비밀
Name | 형식 | Description |
---|---|---|
type |
비밀 유형 |
|
value |
string |
해당 형식의 비밀 값입니다. |
SecretType
지원되는 비밀 유형입니다.
Name | 형식 | Description |
---|---|---|
AKV_SECRET_URI |
string |
비밀이 Azure Key Vault 저장되는 경우 |
SECRET_VALUE |
string |
일반 텍스트로 제공되는 비밀 값인 경우 |
Test
부하 테스트 모델.
Name | 형식 | Description |
---|---|---|
certificate |
인증서 메타데이터. |
|
createdBy |
string |
만든 사용자입니다. |
createdDateTime |
string |
생성 날짜/시간(RFC 3339 리터럴 형식)입니다. |
description |
string |
테스트 설명입니다. |
displayName |
string |
테스트의 표시 이름입니다. |
environmentVariables |
object |
이름, 값> 쌍 집합<으로 정의된 환경 변수입니다. |
inputArtifacts |
테스트의 입력 아티팩트입니다. |
|
keyvaultReferenceIdentityId |
string |
Key Vault를 참조하는 관리 ID의 리소스 ID입니다. |
keyvaultReferenceIdentityType |
string |
Key Vault를 참조하는 관리 ID의 유형입니다. |
lastModifiedBy |
string |
마지막으로 수정한 사용자입니다. |
lastModifiedDateTime |
string |
마지막으로 수정된 날짜/시간(RFC 3339 리터럴 형식)입니다. |
loadTestConfiguration |
부하 테스트 구성입니다. |
|
passFailCriteria |
테스트에 대한 실패 조건을 통과합니다. |
|
secrets |
<string, Secret> |
비밀은 Azure Key Vault 또는 다른 비밀 저장소에 저장할 수 있습니다. 비밀이 Azure Key Vault 저장된 경우 값은 비밀 식별자여야 하며 형식은 AKV_SECRET_URI 합니다. 비밀이 다른 곳에 저장되면 비밀 값을 직접 제공해야 하며 형식을 SECRET_VALUE 합니다. |
subnetId |
string |
부하 테스트 인스턴스를 실행해야 하는 서브넷 ID입니다. |
testId |
string |
부하 테스트에 대한 고유 테스트 식별자는 소문자 알파벳, 숫자, 밑줄 또는 하이픈 문자만 포함해야 합니다. |
TestCreateOrUpdate
부하 테스트 모델.
Name | 형식 | Description |
---|---|---|
certificate |
인증서 메타데이터. |
|
description |
string |
테스트 설명입니다. |
displayName |
string |
테스트의 표시 이름입니다. |
environmentVariables |
object |
이름, 값> 쌍 집합<으로 정의된 환경 변수입니다. |
keyvaultReferenceIdentityId |
string |
Key Vault를 참조하는 관리 ID의 리소스 ID입니다. |
keyvaultReferenceIdentityType |
string |
Key Vault를 참조하는 관리 ID의 유형입니다. |
loadTestConfiguration |
부하 테스트 구성입니다. |
|
passFailCriteria |
테스트에 대한 실패 조건을 통과합니다. |
|
secrets |
<string, Secret> |
비밀은 Azure Key Vault 또는 다른 비밀 저장소에 저장할 수 있습니다. 비밀이 Azure Key Vault 저장된 경우 값은 비밀 식별자여야 하며 형식은 AKV_SECRET_URI 합니다. 비밀이 다른 곳에 저장되면 비밀 값을 직접 제공해야 하며 형식을 SECRET_VALUE 합니다. |
subnetId |
string |
부하 테스트 인스턴스를 실행해야 하는 서브넷 ID입니다. |
TestFileInfo
파일 정보를 테스트합니다.
Name | 형식 | Description |
---|---|---|
expireDateTime |
string |
파일의 만료 시간(RFC 3339 리터럴 형식) |
fileName |
string |
파일의 이름입니다. |
fileType |
파일 형식 |
|
url |
string |
파일 URL입니다. |
validationFailureDetails |
string |
유효성 검사 실패 오류 세부 정보 |
validationStatus |
파일의 유효성 검사 상태 |
TestInputArtifacts
테스트의 입력 아티팩트입니다.
Name | 형식 | Description |
---|---|---|
additionalFileInfo |
테스트 실행에 지원되는 추가 파일 |
|
configFileInfo |
파일 정보 |
|
inputArtifactsZipFileInfo |
파일 정보 |
|
testScriptFileInfo |
파일 정보 |
|
userPropFileInfo |
파일 정보 |