LoadTestAdministrationClient.CreateOrUpdateTestAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
新しいテストを作成するか、既存のテストを更新します。
public virtual System.Threading.Tasks.Task<Azure.Response> CreateOrUpdateTestAsync (string testId, Azure.Core.RequestContent content, Azure.RequestContext context = default);
abstract member CreateOrUpdateTestAsync : string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
override this.CreateOrUpdateTestAsync : string * Azure.Core.RequestContent * Azure.RequestContext -> System.Threading.Tasks.Task<Azure.Response>
Public Overridable Function CreateOrUpdateTestAsync (testId As String, content As RequestContent, Optional context As RequestContext = Nothing) As Task(Of Response)
パラメーター
- testId
- String
ロード テストの一意の名前。小文字の英字、数字、アンダースコア、またはハイフン文字のみを含める必要があります。
- content
- RequestContent
要求の本文として送信するコンテンツ。 要求本文スキーマの詳細については、以下の「解説」セクションを参照してください。
- context
- RequestContext
要求コンテキスト。これは、クライアント パイプラインの既定の動作を呼び出しごとにオーバーライドできます。
戻り値
サービスから返された応答。 応答本文スキーマの詳細については、以下の「解説」セクションを参照してください。
例外
testId
または content
が null です。
testId
は空の文字列であり、空でないと予想されていました。
サービスから成功以外の状態コードが返されました。
例
このサンプルでは、必要なパラメーターを使用して CreateOrUpdateTestAsync を呼び出し、結果を解析する方法を示します。
var credential = new DefaultAzureCredential();
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new LoadTestAdministrationClient(endpoint, credential);
var data = new {};
Response response = await client.CreateOrUpdateTestAsync("<testId>", RequestContent.Create(data));
JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.ToString());
このサンプルでは、すべてのパラメーターと要求コンテンツを使用して CreateOrUpdateTestAsync を呼び出す方法と、結果を解析する方法を示します。
var credential = new DefaultAzureCredential();
var endpoint = new Uri("<https://my-service.azure.com>");
var client = new LoadTestAdministrationClient(endpoint, credential);
var data = new {
passFailCriteria = new {
passFailMetrics = new {
key = new {
clientMetric = "response_time_ms",
aggregate = "count",
condition = "<condition>",
requestName = "<requestName>",
value = 123.45d,
action = "continue",
},
},
},
secrets = new {
key = new {
value = "<value>",
type = "AKV_SECRET_URI",
},
},
certificate = new {
value = "<value>",
type = "AKV_CERT_URI",
name = "<name>",
},
environmentVariables = new {
key = "<String>",
},
loadTestConfiguration = new {
engineInstances = 1234,
splitAllCSVs = true,
quickStartTest = true,
optionalLoadTestConfig = new {
endpointUrl = "<endpointUrl>",
virtualUsers = 1234,
rampUpTime = 1234,
duration = 1234,
},
},
description = "<description>",
displayName = "<displayName>",
subnetId = "<subnetId>",
keyvaultReferenceIdentityType = "<keyvaultReferenceIdentityType>",
keyvaultReferenceIdentityId = "<keyvaultReferenceIdentityId>",
};
Response response = await client.CreateOrUpdateTestAsync("<testId>", RequestContent.Create(data));
JsonElement result = JsonDocument.Parse(response.ContentStream).RootElement;
Console.WriteLine(result.GetProperty("passFailCriteria").GetProperty("passFailMetrics").GetProperty("<test>").GetProperty("clientMetric").ToString());
Console.WriteLine(result.GetProperty("passFailCriteria").GetProperty("passFailMetrics").GetProperty("<test>").GetProperty("aggregate").ToString());
Console.WriteLine(result.GetProperty("passFailCriteria").GetProperty("passFailMetrics").GetProperty("<test>").GetProperty("condition").ToString());
Console.WriteLine(result.GetProperty("passFailCriteria").GetProperty("passFailMetrics").GetProperty("<test>").GetProperty("requestName").ToString());
Console.WriteLine(result.GetProperty("passFailCriteria").GetProperty("passFailMetrics").GetProperty("<test>").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("passFailCriteria").GetProperty("passFailMetrics").GetProperty("<test>").GetProperty("action").ToString());
Console.WriteLine(result.GetProperty("passFailCriteria").GetProperty("passFailMetrics").GetProperty("<test>").GetProperty("actualValue").ToString());
Console.WriteLine(result.GetProperty("passFailCriteria").GetProperty("passFailMetrics").GetProperty("<test>").GetProperty("result").ToString());
Console.WriteLine(result.GetProperty("secrets").GetProperty("<test>").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("secrets").GetProperty("<test>").GetProperty("type").ToString());
Console.WriteLine(result.GetProperty("certificate").GetProperty("value").ToString());
Console.WriteLine(result.GetProperty("certificate").GetProperty("type").ToString());
Console.WriteLine(result.GetProperty("certificate").GetProperty("name").ToString());
Console.WriteLine(result.GetProperty("environmentVariables").GetProperty("<test>").ToString());
Console.WriteLine(result.GetProperty("loadTestConfiguration").GetProperty("engineInstances").ToString());
Console.WriteLine(result.GetProperty("loadTestConfiguration").GetProperty("splitAllCSVs").ToString());
Console.WriteLine(result.GetProperty("loadTestConfiguration").GetProperty("quickStartTest").ToString());
Console.WriteLine(result.GetProperty("loadTestConfiguration").GetProperty("optionalLoadTestConfig").GetProperty("endpointUrl").ToString());
Console.WriteLine(result.GetProperty("loadTestConfiguration").GetProperty("optionalLoadTestConfig").GetProperty("virtualUsers").ToString());
Console.WriteLine(result.GetProperty("loadTestConfiguration").GetProperty("optionalLoadTestConfig").GetProperty("rampUpTime").ToString());
Console.WriteLine(result.GetProperty("loadTestConfiguration").GetProperty("optionalLoadTestConfig").GetProperty("duration").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("configFileInfo").GetProperty("url").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("configFileInfo").GetProperty("fileName").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("configFileInfo").GetProperty("fileType").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("configFileInfo").GetProperty("expireDateTime").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("configFileInfo").GetProperty("validationStatus").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("configFileInfo").GetProperty("validationFailureDetails").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("testScriptFileInfo").GetProperty("url").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("testScriptFileInfo").GetProperty("fileName").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("testScriptFileInfo").GetProperty("fileType").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("testScriptFileInfo").GetProperty("expireDateTime").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("testScriptFileInfo").GetProperty("validationStatus").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("testScriptFileInfo").GetProperty("validationFailureDetails").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("userPropFileInfo").GetProperty("url").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("userPropFileInfo").GetProperty("fileName").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("userPropFileInfo").GetProperty("fileType").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("userPropFileInfo").GetProperty("expireDateTime").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("userPropFileInfo").GetProperty("validationStatus").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("userPropFileInfo").GetProperty("validationFailureDetails").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("inputArtifactsZipFileInfo").GetProperty("url").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("inputArtifactsZipFileInfo").GetProperty("fileName").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("inputArtifactsZipFileInfo").GetProperty("fileType").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("inputArtifactsZipFileInfo").GetProperty("expireDateTime").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("inputArtifactsZipFileInfo").GetProperty("validationStatus").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("inputArtifactsZipFileInfo").GetProperty("validationFailureDetails").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("additionalFileInfo")[0].GetProperty("url").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("additionalFileInfo")[0].GetProperty("fileName").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("additionalFileInfo")[0].GetProperty("fileType").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("additionalFileInfo")[0].GetProperty("expireDateTime").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("additionalFileInfo")[0].GetProperty("validationStatus").ToString());
Console.WriteLine(result.GetProperty("inputArtifacts").GetProperty("additionalFileInfo")[0].GetProperty("validationFailureDetails").ToString());
Console.WriteLine(result.GetProperty("testId").ToString());
Console.WriteLine(result.GetProperty("description").ToString());
Console.WriteLine(result.GetProperty("displayName").ToString());
Console.WriteLine(result.GetProperty("subnetId").ToString());
Console.WriteLine(result.GetProperty("keyvaultReferenceIdentityType").ToString());
Console.WriteLine(result.GetProperty("keyvaultReferenceIdentityId").ToString());
Console.WriteLine(result.GetProperty("createdDateTime").ToString());
Console.WriteLine(result.GetProperty("createdBy").ToString());
Console.WriteLine(result.GetProperty("lastModifiedDateTime").ToString());
Console.WriteLine(result.GetProperty("lastModifiedBy").ToString());
注釈
要求と応答のペイロードの JSON スキーマを次に示します。
要求本文:
の Test
スキーマ:
{
passFailCriteria: {
passFailMetrics: Dictionary<string, PassFailMetric>, # Optional. Map of id and pass fail metrics { id : pass fail metrics }.
}, # Optional. Pass fail criteria for a test.
secrets: Dictionary<string, Secret>, # Optional. Secrets can be stored in an Azure Key Vault or any other secret store. If the secret is stored in an Azure Key Vault, the value should be the secret identifier and the type should be AKV_SECRET_URI. If the secret is stored elsewhere, the secret value should be provided directly and the type should be SECRET_VALUE.
certificate: {
value: string, # Optional. The value of the certificate for respective type
type: "AKV_CERT_URI", # Optional. Type of certificate
name: string, # Optional. Name of the certificate.
}, # Optional. Certificates metadata
environmentVariables: Dictionary<string, string>, # Optional. Environment variables which are defined as a set of <name,value> pairs.
loadTestConfiguration: {
engineInstances: number, # Optional. The number of engine instances to execute load test. Supported values are in range of 1-45. Required for creating a new test.
splitAllCSVs: boolean, # Optional. If false, Azure Load Testing copies and processes your input files unmodified across all test engine instances. If true, Azure Load Testing splits the CSV input data evenly across all engine instances. If you provide multiple CSV files, each file will be split evenly.
quickStartTest: boolean, # Optional. If true, optionalLoadTestConfig is required and JMX script for the load test is not required to upload.
optionalLoadTestConfig: {
endpointUrl: string, # Optional. Test URL. Provide the complete HTTP URL. For example, http://contoso-app.azurewebsites.net/login
virtualUsers: number, # Optional. No of concurrent virtual users
rampUpTime: number, # Optional. Ramp up time
duration: number, # Optional. Test run duration
}, # Optional. Optional load test config
}, # Optional. The load test configuration.
inputArtifacts: {
configFileInfo: {
url: string, # Optional. File URL.
fileName: string, # Optional. Name of the file.
fileType: "JMX_FILE" | "USER_PROPERTIES" | "ADDITIONAL_ARTIFACTS", # Optional. File type
expireDateTime: string (ISO 8601 Format), # Optional. Expiry time of the file (ISO 8601 literal format)
validationStatus: "NOT_VALIDATED" | "VALIDATION_SUCCESS" | "VALIDATION_FAILURE" | "VALIDATION_INITIATED" | "VALIDATION_NOT_REQUIRED", # Optional. Validation status of the file
validationFailureDetails: string, # Optional. Validation failure error details
}, # Optional. File info
testScriptFileInfo: FileInfo, # Optional. File info
userPropFileInfo: FileInfo, # Optional. File info
inputArtifactsZipFileInfo: FileInfo, # Optional. File info
additionalFileInfo: [FileInfo], # Optional. Additional supported files for the test run
}, # Optional. The input artifacts for the test.
testId: string, # Optional. Unique test name as identifier.
description: string, # Optional. The test description.
displayName: string, # Optional. Display name of a test.
subnetId: string, # Optional. Subnet ID on which the load test instances should run.
keyvaultReferenceIdentityType: string, # Optional. Type of the managed identity referencing the Key vault.
keyvaultReferenceIdentityId: string, # Optional. Resource Id of the managed identity referencing the Key vault.
createdDateTime: string (ISO 8601 Format), # Optional. The creation datetime(ISO 8601 literal format).
createdBy: string, # Optional. The user that created.
lastModifiedDateTime: string (ISO 8601 Format), # Optional. The last Modified datetime(ISO 8601 literal format).
lastModifiedBy: string, # Optional. The user that last modified.
}
応答本文:
の Test
スキーマ:
{
passFailCriteria: {
passFailMetrics: Dictionary<string, PassFailMetric>, # Optional. Map of id and pass fail metrics { id : pass fail metrics }.
}, # Optional. Pass fail criteria for a test.
secrets: Dictionary<string, Secret>, # Optional. Secrets can be stored in an Azure Key Vault or any other secret store. If the secret is stored in an Azure Key Vault, the value should be the secret identifier and the type should be AKV_SECRET_URI. If the secret is stored elsewhere, the secret value should be provided directly and the type should be SECRET_VALUE.
certificate: {
value: string, # Optional. The value of the certificate for respective type
type: "AKV_CERT_URI", # Optional. Type of certificate
name: string, # Optional. Name of the certificate.
}, # Optional. Certificates metadata
environmentVariables: Dictionary<string, string>, # Optional. Environment variables which are defined as a set of <name,value> pairs.
loadTestConfiguration: {
engineInstances: number, # Optional. The number of engine instances to execute load test. Supported values are in range of 1-45. Required for creating a new test.
splitAllCSVs: boolean, # Optional. If false, Azure Load Testing copies and processes your input files unmodified across all test engine instances. If true, Azure Load Testing splits the CSV input data evenly across all engine instances. If you provide multiple CSV files, each file will be split evenly.
quickStartTest: boolean, # Optional. If true, optionalLoadTestConfig is required and JMX script for the load test is not required to upload.
optionalLoadTestConfig: {
endpointUrl: string, # Optional. Test URL. Provide the complete HTTP URL. For example, http://contoso-app.azurewebsites.net/login
virtualUsers: number, # Optional. No of concurrent virtual users
rampUpTime: number, # Optional. Ramp up time
duration: number, # Optional. Test run duration
}, # Optional. Optional load test config
}, # Optional. The load test configuration.
inputArtifacts: {
configFileInfo: {
url: string, # Optional. File URL.
fileName: string, # Optional. Name of the file.
fileType: "JMX_FILE" | "USER_PROPERTIES" | "ADDITIONAL_ARTIFACTS", # Optional. File type
expireDateTime: string (ISO 8601 Format), # Optional. Expiry time of the file (ISO 8601 literal format)
validationStatus: "NOT_VALIDATED" | "VALIDATION_SUCCESS" | "VALIDATION_FAILURE" | "VALIDATION_INITIATED" | "VALIDATION_NOT_REQUIRED", # Optional. Validation status of the file
validationFailureDetails: string, # Optional. Validation failure error details
}, # Optional. File info
testScriptFileInfo: FileInfo, # Optional. File info
userPropFileInfo: FileInfo, # Optional. File info
inputArtifactsZipFileInfo: FileInfo, # Optional. File info
additionalFileInfo: [FileInfo], # Optional. Additional supported files for the test run
}, # Optional. The input artifacts for the test.
testId: string, # Optional. Unique test name as identifier.
description: string, # Optional. The test description.
displayName: string, # Optional. Display name of a test.
subnetId: string, # Optional. Subnet ID on which the load test instances should run.
keyvaultReferenceIdentityType: string, # Optional. Type of the managed identity referencing the Key vault.
keyvaultReferenceIdentityId: string, # Optional. Resource Id of the managed identity referencing the Key vault.
createdDateTime: string (ISO 8601 Format), # Optional. The creation datetime(ISO 8601 literal format).
createdBy: string, # Optional. The user that created.
lastModifiedDateTime: string (ISO 8601 Format), # Optional. The last Modified datetime(ISO 8601 literal format).
lastModifiedBy: string, # Optional. The user that last modified.
}
適用対象
Azure SDK for .NET