Virtual Machine Run Commands - Create Or Update

Operacja tworzenia lub aktualizowania polecenia run.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands/{runCommandName}?api-version=2024-03-01

Parametry identyfikatora URI

Nazwa W Wymagane Typ Opis
resourceGroupName
path True

string

Nazwa grupy zasobów.

runCommandName
path True

string

Nazwa polecenia uruchamiania maszyny wirtualnej.

subscriptionId
path True

string

Poświadczenia subskrypcji, które jednoznacznie identyfikują subskrypcję platformy Microsoft Azure. Identyfikator subskrypcji stanowi część identyfikatora URI dla każdego wywołania usługi.

vmName
path True

string

Nazwa maszyny wirtualnej, na której należy utworzyć lub zaktualizować polecenie uruchamiania.

api-version
query True

string

Wersja interfejsu API klienta.

Treść żądania

Media Types: "application/json", "text/json"

Nazwa Wymagane Typ Opis
location True

string

Lokalizacja zasobu

properties.asyncExecution

boolean

Opcjonalny. W przypadku ustawienia wartości true aprowizacja zostanie ukończona zaraz po uruchomieniu skryptu i nie będzie czekać na ukończenie skryptu.

properties.errorBlobManagedIdentity

RunCommandManagedIdentity

Tożsamość zarządzana przypisana przez użytkownika, która ma dostęp do obiektu blob storage errorBlobUri. Użyj pustego obiektu w przypadku tożsamości przypisanej przez system. Upewnij się, że tożsamość zarządzana ma dostęp do kontenera obiektu blob z przypisaniem roli "Współautor danych obiektu blob usługi Storage". W przypadku tożsamości przypisanej przez użytkownika upewnij się, że została dodana w obszarze tożsamość maszyny wirtualnej. Aby uzyskać więcej informacji na temat tożsamości zarządzanej i uruchamiania polecenia, zobacz https://aka.ms/ManagedIdentity i https://aka.ms/RunCommandManaged

properties.errorBlobUri

string

Określa obiekt blob usługi Azure Storage, w którym zostanie przekazany strumień błędów skryptu. Użyj identyfikatora URI sygnatury dostępu współdzielonego z identyfikatorem odczytu, dołączania, tworzenia, zapisu lub używania tożsamości zarządzanej w celu zapewnienia dostępu maszyny wirtualnej do obiektu blob. Zapoznaj się z parametrem errorBlobManagedIdentity.

properties.outputBlobManagedIdentity

RunCommandManagedIdentity

Tożsamość zarządzana przypisana przez użytkownika, która ma dostęp do obiektu blob magazynu outputBlobUri. Użyj pustego obiektu w przypadku tożsamości przypisanej przez system. Upewnij się, że tożsamość zarządzana ma dostęp do kontenera obiektu blob z przypisaniem roli "Współautor danych obiektu blob usługi Storage". W przypadku tożsamości przypisanej przez użytkownika upewnij się, że została dodana w obszarze tożsamość maszyny wirtualnej. Aby uzyskać więcej informacji na temat tożsamości zarządzanej i uruchamiania polecenia, zobacz https://aka.ms/ManagedIdentity i https://aka.ms/RunCommandManaged

properties.outputBlobUri

string

Określa obiekt blob usługi Azure Storage, w którym zostanie przekazany strumień wyjściowy skryptu. Użyj identyfikatora URI sygnatury dostępu współdzielonego z identyfikatorem odczytu, dołączania, tworzenia, zapisu lub używania tożsamości zarządzanej w celu zapewnienia dostępu maszyny wirtualnej do obiektu blob. Zapoznaj się z parametrem outputBlobManagedIdentity.

properties.parameters

RunCommandInputParameter[]

Parametry używane przez skrypt.

properties.protectedParameters

RunCommandInputParameter[]

Parametry używane przez skrypt.

properties.runAsPassword

string

Określa hasło konta użytkownika na maszynie wirtualnej podczas wykonywania polecenia uruchamiania.

properties.runAsUser

string

Określa konto użytkownika na maszynie wirtualnej podczas wykonywania polecenia uruchamiania.

properties.source

VirtualMachineRunCommandScriptSource

Źródło skryptu polecenia uruchamiania.

properties.timeoutInSeconds

integer

Limit czasu w sekundach do wykonania polecenia uruchamiania.

properties.treatFailureAsDeploymentFailure

boolean

Opcjonalny. W przypadku ustawienia wartości true wszystkie błędy w skry skrycie nie powiedzą się, a właściwość ProvisioningState zostanie oznaczona jako Niepowodzenie. Jeśli ustawiono wartość false, parametr ProvisioningState odzwierciedlałby tylko to, czy polecenie uruchamiania zostało uruchomione, czy nie przez platformę rozszerzeń, nie wskazuje, czy skrypt zakończyłby się niepowodzeniem w przypadku błędów skryptu. Zobacz widok wystąpienia polecenia uruchamiania w przypadku niepowodzeń skryptu, aby wyświetlić executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results

tags

object

Tagi zasobów

Odpowiedzi

Nazwa Typ Opis
200 OK

VirtualMachineRunCommand

OK

Media Types: "application/json", "text/json"

201 Created

VirtualMachineRunCommand

Utworzone

Media Types: "application/json", "text/json"

Other Status Codes

CloudError

Odpowiedź na błąd opisująca, dlaczego operacja nie powiodła się.

Media Types: "application/json", "text/json"

Zabezpieczenia

azure_auth

Przepływ OAuth2 usługi Azure Active Directory

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Nazwa Opis
user_impersonation personifikacja konta użytkownika

Przykłady

Create or update a run command.

Sample Request

PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/runCommands/myRunCommand?api-version=2024-03-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"
    }
  }
}

Sample Response

{
  "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"
  }
}

Definicje

Nazwa Opis
ApiError

Błąd interfejsu API.

ApiErrorBase

Baza błędów interfejsu API.

CloudError

Odpowiedź na błąd z usługi Compute.

ExecutionState

Stan wykonywania skryptu.

InnerError

Szczegóły błędu wewnętrznego.

InstanceViewStatus

Stan widoku wystąpienia.

RunCommandInputParameter

Opisuje właściwości parametru polecenia uruchamiania.

RunCommandManagedIdentity

Zawiera identyfikator clientId lub objectId (użyj tylko jednego, a nie obu) tożsamości zarządzanej przypisanej przez użytkownika, która ma dostęp do obiektu blob magazynu używanego w poleceniu uruchamiania. Użyj pustego obiektu RunCommandManagedIdentity w przypadku tożsamości przypisanej przez system. Upewnij się, że obiekt blob usługi Azure Storage istnieje w przypadku identyfikatora scriptUri, a tożsamość zarządzana ma dostęp do kontenera obiektu blob z przypisaniem roli "Czytelnik danych obiektu blob usługi Storage" z przypisaniem roli scriptUri blob i "Współautor danych obiektu blob usługi Storage" dla uzupełnialnych obiektów blob (outputBlobUri, errorBlobUri). W przypadku tożsamości przypisanej przez użytkownika upewnij się, że została dodana w obszarze tożsamości maszyny wirtualnej. Aby uzyskać więcej informacji na temat tożsamości zarządzanej i uruchamiania polecenia, zobacz https://aka.ms/ManagedIdentity i https://aka.ms/RunCommandManaged.

StatusLevelTypes

Kod poziomu.

VirtualMachineRunCommand

Opisuje polecenie uruchamiania maszyny wirtualnej.

VirtualMachineRunCommandInstanceView

Widok wystąpienia polecenia uruchamiania maszyny wirtualnej.

VirtualMachineRunCommandScriptSource

Opisuje źródła skryptów dla polecenia uruchamiania. Użyj tylko jednego skryptu, scriptUri, commandId.

ApiError

Błąd interfejsu API.

Nazwa Typ Opis
code

string

Kod błędu.

details

ApiErrorBase[]

Szczegóły błędu interfejsu API

innererror

InnerError

Wewnętrzny błąd interfejsu API

message

string

Komunikat o błędzie.

target

string

Element docelowy określonego błędu.

ApiErrorBase

Baza błędów interfejsu API.

Nazwa Typ Opis
code

string

Kod błędu.

message

string

Komunikat o błędzie.

target

string

Element docelowy określonego błędu.

CloudError

Odpowiedź na błąd z usługi Compute.

Nazwa Typ Opis
error

ApiError

Błąd interfejsu API.

ExecutionState

Stan wykonywania skryptu.

Nazwa Typ Opis
Canceled

string

Failed

string

Pending

string

Running

string

Succeeded

string

TimedOut

string

Unknown

string

InnerError

Szczegóły błędu wewnętrznego.

Nazwa Typ Opis
errordetail

string

Wewnętrzny komunikat o błędzie lub zrzut wyjątku.

exceptiontype

string

Typ wyjątku.

InstanceViewStatus

Stan widoku wystąpienia.

Nazwa Typ Opis
code

string

Kod stanu.

displayStatus

string

Krótka etykieta lokalizowalna dla stanu.

level

StatusLevelTypes

Kod poziomu.

message

string

Szczegółowy komunikat o stanie, w tym alerty i komunikaty o błędach.

time

string

Czas stanu.

RunCommandInputParameter

Opisuje właściwości parametru polecenia uruchamiania.

Nazwa Typ Opis
name

string

Nazwa parametru polecenia uruchomienia.

value

string

Wartość parametru polecenia uruchomienia.

RunCommandManagedIdentity

Zawiera identyfikator clientId lub objectId (użyj tylko jednego, a nie obu) tożsamości zarządzanej przypisanej przez użytkownika, która ma dostęp do obiektu blob magazynu używanego w poleceniu uruchamiania. Użyj pustego obiektu RunCommandManagedIdentity w przypadku tożsamości przypisanej przez system. Upewnij się, że obiekt blob usługi Azure Storage istnieje w przypadku identyfikatora scriptUri, a tożsamość zarządzana ma dostęp do kontenera obiektu blob z przypisaniem roli "Czytelnik danych obiektu blob usługi Storage" z przypisaniem roli scriptUri blob i "Współautor danych obiektu blob usługi Storage" dla uzupełnialnych obiektów blob (outputBlobUri, errorBlobUri). W przypadku tożsamości przypisanej przez użytkownika upewnij się, że została dodana w obszarze tożsamości maszyny wirtualnej. Aby uzyskać więcej informacji na temat tożsamości zarządzanej i uruchamiania polecenia, zobacz https://aka.ms/ManagedIdentity i https://aka.ms/RunCommandManaged.

Nazwa Typ Opis
clientId

string

Identyfikator klienta (wartość GUID) tożsamości zarządzanej przypisanej przez użytkownika. Nie należy używać identyfikatora ObjectId, jeśli jest to podane.

objectId

string

Identyfikator obiektu (wartość GUID) tożsamości zarządzanej przypisanej przez użytkownika. Parametr ClientId nie powinien być używany, jeśli jest to podane.

StatusLevelTypes

Kod poziomu.

Nazwa Typ Opis
Error

string

Info

string

Warning

string

VirtualMachineRunCommand

Opisuje polecenie uruchamiania maszyny wirtualnej.

Nazwa Typ Wartość domyślna Opis
id

string

Identyfikator zasobu

location

string

Lokalizacja zasobu

name

string

Nazwa zasobu

properties.asyncExecution

boolean

False

Opcjonalny. W przypadku ustawienia wartości true aprowizacja zostanie ukończona zaraz po uruchomieniu skryptu i nie będzie czekać na ukończenie skryptu.

properties.errorBlobManagedIdentity

RunCommandManagedIdentity

Tożsamość zarządzana przypisana przez użytkownika, która ma dostęp do obiektu blob storage errorBlobUri. Użyj pustego obiektu w przypadku tożsamości przypisanej przez system. Upewnij się, że tożsamość zarządzana ma dostęp do kontenera obiektu blob z przypisaniem roli "Współautor danych obiektu blob usługi Storage". W przypadku tożsamości przypisanej przez użytkownika upewnij się, że została dodana w obszarze tożsamość maszyny wirtualnej. Aby uzyskać więcej informacji na temat tożsamości zarządzanej i uruchamiania polecenia, zobacz https://aka.ms/ManagedIdentity i https://aka.ms/RunCommandManaged

properties.errorBlobUri

string

Określa obiekt blob usługi Azure Storage, w którym zostanie przekazany strumień błędów skryptu. Użyj identyfikatora URI sygnatury dostępu współdzielonego z identyfikatorem odczytu, dołączania, tworzenia, zapisu lub używania tożsamości zarządzanej w celu zapewnienia dostępu maszyny wirtualnej do obiektu blob. Zapoznaj się z parametrem errorBlobManagedIdentity.

properties.instanceView

VirtualMachineRunCommandInstanceView

Widok wystąpienia polecenia uruchamiania maszyny wirtualnej.

properties.outputBlobManagedIdentity

RunCommandManagedIdentity

Tożsamość zarządzana przypisana przez użytkownika, która ma dostęp do obiektu blob magazynu outputBlobUri. Użyj pustego obiektu w przypadku tożsamości przypisanej przez system. Upewnij się, że tożsamość zarządzana ma dostęp do kontenera obiektu blob z przypisaniem roli "Współautor danych obiektu blob usługi Storage". W przypadku tożsamości przypisanej przez użytkownika upewnij się, że została dodana w obszarze tożsamość maszyny wirtualnej. Aby uzyskać więcej informacji na temat tożsamości zarządzanej i uruchamiania polecenia, zobacz https://aka.ms/ManagedIdentity i https://aka.ms/RunCommandManaged

properties.outputBlobUri

string

Określa obiekt blob usługi Azure Storage, w którym zostanie przekazany strumień wyjściowy skryptu. Użyj identyfikatora URI sygnatury dostępu współdzielonego z identyfikatorem odczytu, dołączania, tworzenia, zapisu lub używania tożsamości zarządzanej w celu zapewnienia dostępu maszyny wirtualnej do obiektu blob. Zapoznaj się z parametrem outputBlobManagedIdentity.

properties.parameters

RunCommandInputParameter[]

Parametry używane przez skrypt.

properties.protectedParameters

RunCommandInputParameter[]

Parametry używane przez skrypt.

properties.provisioningState

string

Stan aprowizacji, który pojawia się tylko w odpowiedzi. Jeśli parametr treatFailureAsDeploymentFailure ma wartość true, wszystkie błędy w skrypcie nie powiodą się, a właściwość ProvisioningState zostanie oznaczona jako Niepowodzenie. Jeśli parametr treatFailureAsDeploymentFailure ma wartość false, parametr ProvisioningState odzwierciedlałby tylko to, czy uruchomienie polecenia zostało uruchomione, czy nie przez platformę rozszerzeń, nie oznaczałoby to, czy skrypt zakończył się niepowodzeniem w przypadku błędów skryptu. Zobacz widok wystąpienia polecenia uruchamiania w przypadku niepowodzeń skryptu, aby wyświetlić executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results

properties.runAsPassword

string

Określa hasło konta użytkownika na maszynie wirtualnej podczas wykonywania polecenia uruchamiania.

properties.runAsUser

string

Określa konto użytkownika na maszynie wirtualnej podczas wykonywania polecenia uruchamiania.

properties.source

VirtualMachineRunCommandScriptSource

Źródło skryptu polecenia uruchamiania.

properties.timeoutInSeconds

integer

Limit czasu w sekundach do wykonania polecenia uruchamiania.

properties.treatFailureAsDeploymentFailure

boolean

False

Opcjonalny. W przypadku ustawienia wartości true wszystkie błędy w skry skrycie nie powiedzą się, a właściwość ProvisioningState zostanie oznaczona jako Niepowodzenie. Jeśli ustawiono wartość false, parametr ProvisioningState odzwierciedlałby tylko to, czy polecenie uruchamiania zostało uruchomione, czy nie przez platformę rozszerzeń, nie wskazuje, czy skrypt zakończyłby się niepowodzeniem w przypadku błędów skryptu. Zobacz widok wystąpienia polecenia uruchamiania w przypadku niepowodzeń skryptu, aby wyświetlić executionMessage, output, error: https://aka.ms/runcommandmanaged#get-execution-status-and-results

tags

object

Tagi zasobów

type

string

Typ zasobu

VirtualMachineRunCommandInstanceView

Widok wystąpienia polecenia uruchamiania maszyny wirtualnej.

Nazwa Typ Opis
endTime

string

Czas zakończenia skryptu.

error

string

Strumień błędów skryptu.

executionMessage

string

Przekaż błędy konfiguracji skryptu lub komunikaty dotyczące wykonywania.

executionState

ExecutionState

Stan wykonywania skryptu.

exitCode

integer

Kod zakończenia zwrócony z wykonywania skryptu.

output

string

Strumień wyjściowy skryptu.

startTime

string

Godzina rozpoczęcia skryptu.

statuses

InstanceViewStatus[]

Informacje o stanie zasobu.

VirtualMachineRunCommandScriptSource

Opisuje źródła skryptów dla polecenia uruchamiania. Użyj tylko jednego skryptu, scriptUri, commandId.

Nazwa Typ Opis
commandId

string

Określa identyfikator polecenia wstępnie zdefiniowanego wbudowanego skryptu.

script

string

Określa zawartość skryptu do wykonania na maszynie wirtualnej.

scriptUri

string

Określa lokalizację pobierania skryptu. Może to być identyfikator URI sygnatury dostępu współdzielonego obiektu blob usługi Azure Storage z dostępem do odczytu lub publicznym identyfikatorem URI.

scriptUriManagedIdentity

RunCommandManagedIdentity

Tożsamość zarządzana przypisana przez użytkownika, która ma dostęp do identyfikatora scriptUri w przypadku obiektu blob usługi Azure Storage. Użyj pustego obiektu w przypadku tożsamości przypisanej przez system. Upewnij się, że obiekt blob usługi Azure Storage istnieje, a tożsamość zarządzana ma dostęp do kontenera obiektu blob z przypisaniem roli "Czytelnik danych obiektu blob usługi Storage". W przypadku tożsamości przypisanej przez użytkownika upewnij się, że została dodana w obszarze tożsamość maszyny wirtualnej. Aby uzyskać więcej informacji na temat tożsamości zarządzanej i uruchamiania polecenia, zobacz https://aka.ms/ManagedIdentity i https://aka.ms/RunCommandManaged.