Maak een voorbeeldscript dat Python gebruikt om de vRealize Automation Project-API aan te roepen.

Voorwaarden

Controleer of u Python 3 en het installatieprogramma van het PIP-pakket heeft geïnstalleerd. Zie de pagina Python-downloads en Python-pakketindex.

Procedure

  1. Open een opdrachtregelshell op uw lokale machine.
  2. Maak een map vro-python-vra.
    mkdir vro-python-vra
  3. Ga naar de map vro-python-vra.
    cd vro-python-vra
  4. Maak een Python-script met de naam handler.py.
    touch handler.py
    Het handler.py-script moet één functie definiëren die twee argumenten accepteert: de context van de vRealize Orchestrator-werkstroomuitvoering en de afhankelijke vRealize Orchestrator-invoer.
    def handler(context, inputs):
        print('Hello, your inputs were ' + inputs)
        return None
    Opmerking: Met behulp van standaardbibliotheken voor logboekregistratie wordt alles wat u vastlegt in de actie die uw script gebruikt, ook weergegeven in het werkstroomlogboek. De invoer en de retour van uw script moeten overeenkomende invoerparameters en retourtypen hebben die zijn geconfigureerd in de vRealize Orchestrator-client. De vRAUrl-invoer in uw script moet bijvoorbeeld een bijbehorende invoerparameter met de naam vRAUrl in de vRealize Orchestrator-client hebben. Op dezelfde wijze moet, als uw script een tekenreekswaarde retourneert, het retourtype dat is geconfigureerd in de vRealize Orchestrator-client ook een tekenreekstype zijn. Als uw actie een complex object retourneert, kunt u retourtype Properties of Composite Type gebruiken.
  5. Installeer de module voor Python-aanvragen.
    Belangrijk: De modules voor afhankelijkheden van derden moeten worden geïnstalleerd in een map op het hoofdniveau in uw primaire vro-python-vra-scriptmap. Voor dit gebruiksscenario maakt u een lib-map voor uw aanvragenmodule.
    1. Maak een lib-map.
      mkdir lib
    2. Installeer de aanvragenmodule.
      pip3 install requests -t lib/
  6. Voeg de aanvragenmodule toe aan het handler.py-script.
    import requests
     
    def handler(context, inputs):
        print('Hello, your inputs were ' + inputs)
        return None
  7. Maak een GET-aanvraag voor de vRealize Automation Project-API.
    token = ''
    vRAUrl = ''
    r = requests.get(vRAUrl + '/iaas/api/projects', headers={'Authorization': 'Bearer ' + token})
     
     
    print('Got response ' + r.text)
  8. Definieer de waarden token en vRAUrl .
    1. Haal het toegangstoken op met behulp van de API van de vRealize Automation-identiteitsservice. Zie Uw toegangstoken voor de vRealize Automation API ophalen
    2. Voor de waarde vRAUrl definieert u het script zodat het een vRealize Orchestrator-invoerparameter met dezelfde naam gebruikt.
      vRAUrl = inputs["vRAUrl"]
    3. Voeg de nieuwe waarden toe aan het handler.py-bestand.
      import requests
       
      def handler(context, inputs):
          token = 'ACCESS_TOKEN'
          vRAUrl = inputs["vRAUrl"]
       
          r = requests.get(vRAUrl + '/iaas/api/projects', headers={'Authorization': 'Bearer ' + token})
       
          print('Got response ' + r.text)
       
          return r.json()
      Opmerking: Omdat het antwoord van de vRealize Automation Project-API wordt geretourneerd in een JSON-indeling, gebruikt u een retourtype Properties of Composite Type voor uw vRealize Orchestrator-actie.
  9. Maak een ZIP-pakket dat het handler.py-bestand en de map lib van uw aanvragenmodule bevat.
    zip -r --exclude=*.zip -X vro-python-vra.zip .

Volgende stappen

Importeer het PowerShell-script in een vRealize Orchestrator-actie. Zie Acties in de vRealize Orchestrator-client maken.