Udostępnij przez


Żądania interfejsu API REST dla polecenia Uruchom na serwerach z obsługą usługi Azure Arc (wersja zapoznawcza)

Za pomocą interfejsu API REST do uruchamiania polecenia na serwerach z obsługą usługi Azure Arc (wersja zapoznawcza) można zdalnie i bezpiecznie wykonywać skrypty lub polecenia na maszynach wirtualnych z obsługą usługi Arc bez bezpośredniego łączenia się z nimi za pośrednictwem protokołu Remote Desktop Protocol lub SSH.

Ten artykuł zawiera obsługiwane operacje interfejsu API REST i przykładowy scenariusz, który ułatwia zrozumienie sposobu korzystania z interfejsu API REST.

Wymagania wstępne

  • Wersja agenta Connected Machine na serwerze z obsługą usługi Arc musi być 1.33 lub nowsza.
  • Do korzystania z interfejsu API REST potrzebny jest token dostępu. Zobacz Wprowadzenie do usługi REST.

Obsługiwane operacje interfejsu API REST

Następujące operacje interfejsu API REST umożliwiają wykonywanie poleceń Run na serwerze z Azure Arc.

Operacja Opis
Tworzenie lub aktualizowanie Operacja tworzenia lub aktualizowania polecenia Uruchom. Uruchamia polecenie Uruchom.
Usunąć Operacja usuwania polecenia Uruchom. Jeśli jest uruchomione, usunięcie także zatrzymuje polecenie Uruchom.
Pobierz Operacja uzyskiwania polecenia 'Uruchom'.
Lista Operacja pobierania wszystkich poleceń działania serwera obsługującego Azure Arc.
Aktualizacja Operacja aktualizowania polecenia Uruchom. Zatrzymuje poprzednie polecenie Uruchom.

Uwaga

Bloby wyjściowe i błędów są zastępowane za każdym razem, gdy skrypt poleceń uruchamiania jest wykonywany.

Przykładowy scenariusz interfejsu API REST

Poniższe żądania przeprowadzą Cię przez proces korzystania z polecenia Uruchom, aby zdalnie skonfigurować regułę zapory, która umożliwia dostęp do punktu końcowego www.microsoft.com/pkiops/certs. W przykładowym scenariuszu są używane poszczególne dostępne operacje REST.

Przykłady kodu używają następujących informacji:

  • Identyfikator subskrypcji - aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
  • Nazwa serwera z obsługą usługi Arc - 2012DatacenterServer1
  • Grupa zasobów - ContosoRG
  • System operacyjny serwera — serwery z systemem Windows Server 2012/R2

Krok 1. Tworzenie dostępu do punktu końcowego za pomocą polecenia Uruchom

Najpierw utwórz skrypt polecenia "Uruchom", aby zapewnić dostęp do punktu końcowego www.microsoft.com/pkiops/certs na docelowym serwerze z obsługą Arc, korzystając z operacji PUT.

Możesz podać skrypt w tekście lub podlinkować do pliku skryptu.

  • Aby podać skrypt w wierszu:

    PUT https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoRG/providers/Microsoft.HybridCompute/machines/2012DatacenterServer1/runCommands/EndpointAccessCommand?api-version=2024-11-10-preview
    
    {
      "location": "eastus2",
      "properties": {
        "source": {
          "script": "New-NetFirewallRule -DisplayName $ruleName -Direction Outbound -Action Allow -RemoteAddress $endpoint -RemotePort $port -Protocol $protocol"
        },
        "parameters": [
          {
            "name": "ruleName",
            "value": "Allow access to www.microsoft.com/pkiops/certs"
          },
          {
            "name": "endpoint",
            "value": "www.microsoft.com/pkiops/certs"
          },
          {
            "name": "port",
            "value": 433
          },
          {
            "name": "protocol",
            "value": "TCP"
          }
    
        ],
        "asyncExecution": false,
        "runAsUser": "contoso-user1",
        "runAsPassword": "Contoso123!"
        "timeoutInSeconds": 3600,
        "outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
        "errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt"
      }
    }
    
  • Aby połączyć się z plikiem skryptu:

    Uwaga

    W tym przykładzie przyjęto założenie, że został przygotowany plik o nazwie newnetfirewallrule.ps1, zawierający skrypt wewnętrzny, i że ten skrypt został przesłany do magazynu obiektów blob.

    PUT https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoRG/providers/Microsoft.HybridCompute/machines/2012DatacenterServer1/runCommands/EndpointAccessCommand?api-version=2024-11-10-preview
    
    {
      "location": "eastus2",
      "properties": {
        "source": {
          "scriptUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/newnetfirewallrule.ps1"
        },
        "parameters": [
          {
            "name": "ruleName",
            "value": " Allow access to www.microsoft.com/pkiops/certs"
          },
          {
            "name": "endpoint",
            "value": "www.microsoft.com/pkiops/certs"
          },
          {
            "name": "port",
            "value": 433
          },
          {
            "name": "protocol",
            "value": "TCP"
          }
    
        ],
        "asyncExecution": false,
        "runAsUser": "contoso-user1",
        "runAsPassword": "Contoso123!"
        "timeoutInSeconds": 3600,
        "outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
        "errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt"
      }
    }
    
    • scriptUri to wspólny identyfikator URI sygnatury dostępu (SAS) dla obiektu blob magazynu, który musi zapewniać dostęp do odczytu do obiektu blob. Sugerowany jest czas wygaśnięcia 24 godzin dla sygnatury dostępu współdzielonego (SAS) URI. Identyfikator URI sygnatury dostępu współdzielonego można wygenerować na portalu Azure, korzystając z opcji obiektów Blob lub tokenu SAS używając New-AzStorageBlobSASToken. W przypadku generowania tokenu SAS przy użyciu New-AzStorageBlobSASToken polecenia format identyfikatora URI sygnatury dostępu współdzielonego (SAS) ma postać: base blob URL + "?" + token SAS z New-AzStorageBlobSASToken.

    • Bloby danych wyjściowych i błędów muszą być typem AppendBlob, a ich SAS URI muszą zapewniać dostęp do odczytu, dołączania, tworzenia i zapisu. Sugerowany jest czas wygaśnięcia 24 godzin dla identyfikatora URI sygnatury dostępu współdzielonego. Identyfikatory URI SAS można wygenerować na portalu Azure używając opcji blobu lub tokenu SAS przy użyciu New-AzStorageBlobSASToken.

    Aby dowiedzieć się więcej na temat sygnatur dostępu współdzielonego, zobacz Udzielanie ograniczonego dostępu do zasobów usługi Azure Storage przy użyciu sygnatur dostępu współdzielonego (SAS).

Krok 2. Weryfikowanie szczegółów polecenia uruchamiania

Sprawdź, czy poprawnie utworzono polecenie Run przy użyciu operacji GET.

GET https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoRG/providers/Microsoft.HybridCompute/machines/2012DatacenterServer1/runCommands/EndpointAccessCommand?api-version=2024-11-10-preview

Krok 3. Aktualizowanie polecenia uruchamiania

Istniejące polecenie Uruchom można zaktualizować przy użyciu nowych parametrów przy użyciu operacji PATCH. Poniższy przykład otwiera dostęp do innego punktu końcowego w *.waconazure.com, celu uzyskania łączności z centrum administracyjnym systemu Windows.

PATCH https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoRG/providers/Microsoft.HybridCompute/machines/2012DatacenterServer1/runCommands/EndpointAccessCommand?api-version=2024-11-10-preview
{
  "location": "eastus2",
  "properties": {
    "source": {
      "script": "New-NetFirewallRule -DisplayName $ruleName -Direction Outbound -Action Allow -RemoteAddress $endpoint -RemotePort $port -Protocol $protocol"
    },
    "parameters": [
      {
        "name": "ruleName",
        "value": "Allow access to WAC endpoint"
      },
      {
        "name": "endpoint",
        "value": "*.waconazure.com"
      },
      {
        "name": "port",
        "value": 433
      },
      {
        "name": "protocol",
        "value": "TCP"
      }
    ],
    "asyncExecution": false,
    "runAsUser": "contoso-user1",
    "runAsPassword": "Contoso123!",
    "timeoutInSeconds": 3600,
    "outputBlobUri": "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt",
    "errorBlobUri": "https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt"
  }
}

Krok 4. Wyświetlanie listy poleceń uruchamiania

Przed usunięciem polecenia uruchomienia dla dostępu do punktu końcowego upewnij się, że nie ma żadnych innych poleceń uruchomienia dla serwera obsługującego Arc. Możesz użyć operacji LIST, aby pobrać wszystkie polecenia Run na serwerze obsługującym Arc.

LIST https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoRG/providers/Microsoft.HybridCompute/machines/2012DatacenterServer1/runCommands?api-version=2024-11-10-preview

Krok 5. Usuwanie polecenia uruchamiania

Jeśli rozszerzenie Uruchom polecenie nie jest już potrzebne, możesz usunąć je przy użyciu następującej operacji DELETE:

DELETE https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoRG/providers/Microsoft.HybridCompute/machines/2012DatacenterServer1/runCommands/EndpointAccessCommand?api-version=2024-11-10-preview