Virtual Machine Run Commands - Create Or Update
실행 명령을 만들거나 업데이트하는 작업입니다.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands/{runCommandName}?api-version=2024-11-01
URI 매개 변수
Name | In(다음 안에) | 필수 | 형식 | Description |
---|---|---|---|---|
resource
|
path | True |
string minLength: 1maxLength: 90 |
리소스 그룹의 이름입니다. 이름은 대소문자를 구분하지 않습니다. |
run
|
path | True |
string |
VirtualMachineRunCommand의 이름입니다 |
subscription
|
path | True |
string minLength: 1 |
대상 구독의 ID입니다. |
vm
|
path | True |
string |
VirtualMachine의 이름입니다 |
api-version
|
query | True |
string minLength: 1 |
이 작업에 사용할 API 버전입니다. |
요청 본문
Name | 필수 | 형식 | Description |
---|---|---|---|
location | True |
string |
리소스가 있는 지리적 위치 |
properties.asyncExecution |
boolean |
선택 사항입니다. true로 설정하면 스크립트가 시작되는 즉시 프로비전이 완료되고 스크립트가 완료될 때까지 기다리지 않습니다. |
|
properties.errorBlobManagedIdentity |
errorBlobUri 스토리지 Blob에 대한 액세스 권한이 있는 사용자 할당 관리 ID입니다. 시스템 할당 ID의 경우 빈 개체를 사용합니다. 관리 ID에 'Storage Blob 데이터 기여자' 역할 할당을 사용하여 Blob의 컨테이너에 대한 액세스 권한이 부여되었는지 확인합니다. 사용자 할당 ID의 경우 VM의 ID 아래에 추가해야 합니다. 관리 ID 및 실행 명령에 대한 자세한 내용은 https://aka.ms/ManagedIdentity 참조하고 https://aka.ms/RunCommandManaged |
||
properties.errorBlobUri |
string |
스크립트 오류 스트림이 업로드될 Azure Storage Blob을 지정합니다. 읽기, 추가, 만들기, 쓰기 액세스가 있는 SAS URI를 사용하거나 관리 ID를 사용하여 Blob에 대한 VM 액세스를 제공합니다. errorBlobManagedIdentity 매개 변수를 참조하세요. |
|
properties.outputBlobManagedIdentity |
outputBlobUri 스토리지 Blob에 대한 액세스 권한이 있는 사용자 할당 관리 ID입니다. 시스템 할당 ID의 경우 빈 개체를 사용합니다. 관리 ID에 'Storage Blob 데이터 기여자' 역할 할당을 사용하여 Blob의 컨테이너에 대한 액세스 권한이 부여되었는지 확인합니다. 사용자 할당 ID의 경우 VM의 ID 아래에 추가해야 합니다. 관리 ID 및 실행 명령에 대한 자세한 내용은 https://aka.ms/ManagedIdentity 참조하고 https://aka.ms/RunCommandManaged |
||
properties.outputBlobUri |
string |
스크립트 출력 스트림이 업로드될 Azure Storage Blob을 지정합니다. 읽기, 추가, 만들기, 쓰기 액세스가 있는 SAS URI를 사용하거나 관리 ID를 사용하여 Blob에 대한 VM 액세스를 제공합니다. outputBlobManagedIdentity 매개 변수를 참조하세요. |
|
properties.parameters |
스크립트에서 사용하는 매개 변수입니다. |
||
properties.protectedParameters |
스크립트에서 사용하는 매개 변수입니다. |
||
properties.runAsPassword |
string |
실행 명령을 실행할 때 VM에서 사용자 계정 암호를 지정합니다. |
|
properties.runAsUser |
string |
실행 명령을 실행할 때 VM의 사용자 계정을 지정합니다. |
|
properties.source |
실행 명령 스크립트의 소스입니다. |
||
properties.timeoutInSeconds |
integer (int32) |
실행 명령을 실행할 시간 제한(초)입니다. |
|
properties.treatFailureAsDeploymentFailure |
boolean |
선택 사항입니다. true로 설정하면 스크립트에서 오류가 발생하면 배포가 실패하고 ProvisioningState가 실패로 표시됩니다. false로 설정하면 ProvisioningState는 실행 명령이 확장 플랫폼에서 실행되었는지 여부만 반영하며 스크립트 실패 시 스크립트가 실패했는지 여부를 나타내지 않습니다. 스크립트 실패 시 실행 명령의 인스턴스 보기를 참조하여 executionMessage, 출력, 오류를 확인합니다. https://aka.ms/runcommandmanaged#get-execution-status-and-results |
|
tags |
object |
리소스 태그. |
응답
Name | 형식 | Description |
---|---|---|
200 OK |
리소스 'VirtualMachineRunCommand' 업데이트 작업이 성공했습니다. |
|
201 Created |
리소스 'VirtualMachineRunCommand' 생성 작업이 성공했습니다. 헤더
|
|
Other Status Codes |
예기치 않은 오류 응답입니다. |
보안
azure_auth
Azure Active Directory OAuth2 흐름.
형식:
oauth2
Flow:
implicit
권한 부여 URL:
https://login.microsoftonline.com/common/oauth2/authorize
범위
Name | Description |
---|---|
user_impersonation | 사용자 계정 가장 |
예제
Create or update a run command.
샘플 요청
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand?api-version=2024-11-01
{
"location": "West US",
"properties": {
"source": {
"scriptUri": "https://mystorageaccount.blob.core.windows.net/scriptcontainer/scriptURI"
},
"parameters": [
{
"name": "param1",
"value": "value1"
},
{
"name": "param2",
"value": "value2"
}
],
"asyncExecution": false,
"treatFailureAsDeploymentFailure": false,
"runAsUser": "user1",
"runAsPassword": "<runAsPassword>",
"timeoutInSeconds": 3600,
"outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
"errorBlobUri": "https://mystorageaccount.blob.core.windows.net/scriptcontainer/scriptURI",
"outputBlobManagedIdentity": {
"clientId": "22d35efb-0c99-4041-8c5b-6d24db33a69a"
}
}
}
샘플 응답
{
"name": "myRunCommand",
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand",
"type": "Microsoft.Compute/virtualMachines/runCommands",
"location": "westus",
"tags": {
"tag1": "value1",
"tag2": "value2"
},
"properties": {
"source": {
"scriptUri": "https://mystorageaccount.blob.core.windows.net/scriptcontainer/MyScript.ps1"
},
"parameters": [
{
"name": "param1",
"value": "value1"
},
{
"name": "param2",
"value": "value2"
}
],
"asyncExecution": false,
"treatFailureAsDeploymentFailure": false,
"runAsUser": "user1",
"timeoutInSeconds": 3600,
"provisioningState": "Succeeded",
"outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
"errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt"
}
}
{
"name": "myRunCommand",
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand",
"type": "Microsoft.Compute/virtualMachines/runCommands",
"location": "westus",
"tags": {
"tag1": "value1",
"tag2": "value2"
},
"properties": {
"source": {
"scriptUri": "https://mystorageaccount.blob.core.windows.net/scriptcontainer/MyScript.ps1"
},
"parameters": [
{
"name": "param1",
"value": "value1"
},
{
"name": "param2",
"value": "value2"
}
],
"asyncExecution": false,
"treatFailureAsDeploymentFailure": false,
"runAsUser": "user1",
"timeoutInSeconds": 3600,
"provisioningState": "Creating",
"outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
"errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt"
}
}
정의
Name | Description |
---|---|
Api |
API 오류입니다. |
Api |
API 오류 기준입니다. |
Cloud |
Compute 서비스의 오류 응답입니다. |
created |
리소스를 만든 ID의 형식입니다. |
Execution |
스크립트 실행 상태입니다. |
Inner |
내부 오류 세부 정보입니다. |
Instance |
인스턴스 보기 상태입니다. |
Run |
실행 명령 매개 변수의 속성을 설명합니다. |
Run |
실행 명령에서 사용되는 스토리지 Blob에 대한 액세스 권한이 있는 사용자 할당 관리 ID의 clientId 또는 objectId(둘 다만 사용)를 포함합니다. 시스템 할당 ID의 경우 빈 RunCommandManagedIdentity 개체를 사용합니다. scriptUri의 경우 Azure Storage Blob이 있는지 확인하고, 관리 ID가 scriptUri Blob을 사용하여 'Storage Blob 데이터 판독기' 역할 할당 및 Append Blob(outputBlobUri, errorBlobUri)에 대한 'Storage Blob 데이터 기여자'를 사용하여 Blob의 컨테이너에 대한 액세스 권한을 부여했는지 확인합니다. 사용자 할당 ID의 경우 VM의 ID 아래에 추가해야 합니다. 관리 ID 및 실행 명령에 대한 자세한 내용은 https://aka.ms/ManagedIdentity 및 https://aka.ms/RunCommandManaged참조하세요. |
Status |
수준 코드입니다. |
system |
리소스의 생성 및 마지막 수정과 관련된 메타데이터입니다. |
Virtual |
Virtual Machine 실행 명령을 설명합니다. |
Virtual |
가상 머신 실행 명령의 인스턴스 뷰입니다. |
Virtual |
실행 명령에 대한 스크립트 원본에 대해 설명합니다. 스크립트, scriptUri, commandId 중 하나만 사용합니다. |
ApiError
API 오류입니다.
Name | 형식 | Description |
---|---|---|
code |
string |
오류 코드입니다. |
details |
API 오류 세부 정보 |
|
innererror |
API 내부 오류 |
|
message |
string |
오류 메시지입니다. |
target |
string |
특정 오류의 대상입니다. |
ApiErrorBase
API 오류 기준입니다.
Name | 형식 | Description |
---|---|---|
code |
string |
오류 코드입니다. |
message |
string |
오류 메시지입니다. |
target |
string |
특정 오류의 대상입니다. |
CloudError
Compute 서비스의 오류 응답입니다.
Name | 형식 | Description |
---|---|---|
error |
API 오류입니다. |
createdByType
리소스를 만든 ID의 형식입니다.
값 | Description |
---|---|
User | |
Application | |
ManagedIdentity | |
Key |
ExecutionState
스크립트 실행 상태입니다.
값 | Description |
---|---|
Unknown | |
Pending | |
Running | |
Failed | |
Succeeded | |
TimedOut | |
Canceled |
InnerError
내부 오류 세부 정보입니다.
Name | 형식 | Description |
---|---|---|
errordetail |
string |
내부 오류 메시지 또는 예외 덤프입니다. |
exceptiontype |
string |
예외 형식입니다. |
InstanceViewStatus
인스턴스 보기 상태입니다.
Name | 형식 | Description |
---|---|---|
code |
string |
상태 코드입니다. |
displayStatus |
string |
상태에 대한 짧은 지역화 가능 레이블입니다. |
level |
수준 코드입니다. |
|
message |
string |
경고 및 오류 메시지를 포함한 자세한 상태 메시지입니다. |
time |
string (date-time) |
상태의 시간입니다. |
RunCommandInputParameter
실행 명령 매개 변수의 속성을 설명합니다.
Name | 형식 | Description |
---|---|---|
name |
string |
실행 명령 매개 변수 이름입니다. |
value |
string |
실행 명령 매개 변수 값입니다. |
RunCommandManagedIdentity
실행 명령에서 사용되는 스토리지 Blob에 대한 액세스 권한이 있는 사용자 할당 관리 ID의 clientId 또는 objectId(둘 다만 사용)를 포함합니다. 시스템 할당 ID의 경우 빈 RunCommandManagedIdentity 개체를 사용합니다. scriptUri의 경우 Azure Storage Blob이 있는지 확인하고, 관리 ID가 scriptUri Blob을 사용하여 'Storage Blob 데이터 판독기' 역할 할당 및 Append Blob(outputBlobUri, errorBlobUri)에 대한 'Storage Blob 데이터 기여자'를 사용하여 Blob의 컨테이너에 대한 액세스 권한을 부여했는지 확인합니다. 사용자 할당 ID의 경우 VM의 ID 아래에 추가해야 합니다. 관리 ID 및 실행 명령에 대한 자세한 내용은 https://aka.ms/ManagedIdentity 및 https://aka.ms/RunCommandManaged참조하세요.
Name | 형식 | Description |
---|---|---|
clientId |
string |
사용자가 할당한 관리 ID의 클라이언트 ID(GUID 값)입니다. ObjectId가 제공되면 사용하지 않아야 합니다. |
objectId |
string |
사용자가 할당한 관리 ID의 개체 ID(GUID 값)입니다. 제공된 경우 ClientId를 사용하면 안 됩니다. |
StatusLevelTypes
수준 코드입니다.
값 | Description |
---|---|
Info | |
Warning | |
Error |
systemData
리소스의 생성 및 마지막 수정과 관련된 메타데이터입니다.
Name | 형식 | Description |
---|---|---|
createdAt |
string (date-time) |
리소스 만들기의 타임스탬프(UTC)입니다. |
createdBy |
string |
리소스를 만든 ID입니다. |
createdByType |
리소스를 만든 ID의 형식입니다. |
|
lastModifiedAt |
string (date-time) |
리소스 마지막 수정의 타임스탬프(UTC) |
lastModifiedBy |
string |
리소스를 마지막으로 수정한 ID입니다. |
lastModifiedByType |
리소스를 마지막으로 수정한 ID의 형식입니다. |
VirtualMachineRunCommand
Virtual Machine 실행 명령을 설명합니다.
Name | 형식 | Description |
---|---|---|
id |
string |
리소스에 대한 정규화된 리소스 ID입니다. 예 - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} |
location |
string |
리소스가 있는 지리적 위치 |
name |
string |
리소스의 이름 |
properties.asyncExecution |
boolean |
선택 사항입니다. true로 설정하면 스크립트가 시작되는 즉시 프로비전이 완료되고 스크립트가 완료될 때까지 기다리지 않습니다. |
properties.errorBlobManagedIdentity |
errorBlobUri 스토리지 Blob에 대한 액세스 권한이 있는 사용자 할당 관리 ID입니다. 시스템 할당 ID의 경우 빈 개체를 사용합니다. 관리 ID에 'Storage Blob 데이터 기여자' 역할 할당을 사용하여 Blob의 컨테이너에 대한 액세스 권한이 부여되었는지 확인합니다. 사용자 할당 ID의 경우 VM의 ID 아래에 추가해야 합니다. 관리 ID 및 실행 명령에 대한 자세한 내용은 https://aka.ms/ManagedIdentity 참조하고 https://aka.ms/RunCommandManaged |
|
properties.errorBlobUri |
string |
스크립트 오류 스트림이 업로드될 Azure Storage Blob을 지정합니다. 읽기, 추가, 만들기, 쓰기 액세스가 있는 SAS URI를 사용하거나 관리 ID를 사용하여 Blob에 대한 VM 액세스를 제공합니다. errorBlobManagedIdentity 매개 변수를 참조하세요. |
properties.instanceView |
가상 머신 실행 명령 인스턴스 보기입니다. |
|
properties.outputBlobManagedIdentity |
outputBlobUri 스토리지 Blob에 대한 액세스 권한이 있는 사용자 할당 관리 ID입니다. 시스템 할당 ID의 경우 빈 개체를 사용합니다. 관리 ID에 'Storage Blob 데이터 기여자' 역할 할당을 사용하여 Blob의 컨테이너에 대한 액세스 권한이 부여되었는지 확인합니다. 사용자 할당 ID의 경우 VM의 ID 아래에 추가해야 합니다. 관리 ID 및 실행 명령에 대한 자세한 내용은 https://aka.ms/ManagedIdentity 참조하고 https://aka.ms/RunCommandManaged |
|
properties.outputBlobUri |
string |
스크립트 출력 스트림이 업로드될 Azure Storage Blob을 지정합니다. 읽기, 추가, 만들기, 쓰기 액세스가 있는 SAS URI를 사용하거나 관리 ID를 사용하여 Blob에 대한 VM 액세스를 제공합니다. outputBlobManagedIdentity 매개 변수를 참조하세요. |
properties.parameters |
스크립트에서 사용하는 매개 변수입니다. |
|
properties.protectedParameters |
스크립트에서 사용하는 매개 변수입니다. |
|
properties.provisioningState |
string |
응답에만 표시되는 프로비전 상태입니다. treatFailureAsDeploymentFailure가 true로 설정된 경우 스크립트의 모든 오류는 배포에 실패하고 ProvisioningState는 실패로 표시됩니다. treatFailureAsDeploymentFailure가 false로 설정된 경우 ProvisioningState는 실행 명령이 확장 플랫폼에서 실행되었는지 여부만 반영하며 스크립트 실패 시 스크립트가 실패했는지 여부를 나타내지 않습니다. 스크립트 실패 시 실행 명령의 인스턴스 보기를 참조하여 executionMessage, 출력, 오류를 확인합니다. https://aka.ms/runcommandmanaged#get-execution-status-and-results |
properties.runAsPassword |
string |
실행 명령을 실행할 때 VM에서 사용자 계정 암호를 지정합니다. |
properties.runAsUser |
string |
실행 명령을 실행할 때 VM의 사용자 계정을 지정합니다. |
properties.source |
실행 명령 스크립트의 소스입니다. |
|
properties.timeoutInSeconds |
integer (int32) |
실행 명령을 실행할 시간 제한(초)입니다. |
properties.treatFailureAsDeploymentFailure |
boolean |
선택 사항입니다. true로 설정하면 스크립트에서 오류가 발생하면 배포가 실패하고 ProvisioningState가 실패로 표시됩니다. false로 설정하면 ProvisioningState는 실행 명령이 확장 플랫폼에서 실행되었는지 여부만 반영하며 스크립트 실패 시 스크립트가 실패했는지 여부를 나타내지 않습니다. 스크립트 실패 시 실행 명령의 인스턴스 보기를 참조하여 executionMessage, 출력, 오류를 확인합니다. https://aka.ms/runcommandmanaged#get-execution-status-and-results |
systemData |
createdBy 및 modifiedBy 정보가 포함된 Azure Resource Manager 메타데이터입니다. |
|
tags |
object |
리소스 태그. |
type |
string |
리소스의 형식입니다. 예: "Microsoft.Compute/virtualMachines" 또는 "Microsoft.Storage/storageAccounts" |
VirtualMachineRunCommandInstanceView
가상 머신 실행 명령의 인스턴스 뷰입니다.
Name | 형식 | Description |
---|---|---|
endTime |
string (date-time) |
스크립트 종료 시간입니다. |
error |
string |
스크립트 오류 스트림입니다. |
executionMessage |
string |
스크립트 구성 오류 또는 실행 메시지를 전달합니다. |
executionState |
스크립트 실행 상태입니다. |
|
exitCode |
integer (int32) |
스크립트 실행에서 반환된 종료 코드입니다. |
output |
string |
출력 스트림을 스크립터합니다. |
startTime |
string (date-time) |
스크립트 시작 시간입니다. |
statuses |
리소스 상태 정보입니다. |
VirtualMachineRunCommandScriptSource
실행 명령에 대한 스크립트 원본에 대해 설명합니다. 스크립트, scriptUri, commandId 중 하나만 사용합니다.
Name | 형식 | Description |
---|---|---|
commandId |
string |
미리 정의된 기본 제공 스크립트의 commandId를 지정합니다. |
script |
string |
VM에서 실행할 스크립트 콘텐츠를 지정합니다. |
scriptUri |
string |
스크립트 다운로드 위치를 지정합니다. 읽기 액세스 권한이 있는 Azure Storage Blob의 SAS URI 또는 공용 URI일 수 있습니다. |
scriptUriManagedIdentity |
Azure Storage Blob의 경우 scriptUri에 액세스할 수 있는 사용자 할당 관리 ID입니다. 시스템 할당 ID의 경우 빈 개체를 사용합니다. Azure Storage Blob이 있는지 확인하고 관리 ID에 'Storage Blob 데이터 판독기' 역할 할당을 사용하여 Blob의 컨테이너에 대한 액세스 권한이 부여되었는지 확인합니다. 사용자 할당 ID의 경우 VM의 ID 아래에 추가해야 합니다. 관리 ID 및 실행 명령에 대한 자세한 내용은 https://aka.ms/ManagedIdentity 및 https://aka.ms/RunCommandManaged참조하세요. |