Automation Orchestrator에서 사용할 스크립트를 생성하는 경우 스크립트의 구조와 형식이 올바른지 확인해야 합니다.
지원되는 런타임
Automation Orchestrator 작업 및 워크플로를 개발하는 경우 다음 런타임을 사용할 수 있습니다.
- Python 3.7
- Node.js 14
- Node.js 18
- PowerCLI 11/Powershell 6.2
- PowerCLI 12.3.0/Powershell 7.1
참고: PowerCLI 런타임에는 PowerShell을 비롯해 VMware.PowerCLI, PowerNSX 및 PowervRA 모듈이 포함됩니다.
사용자 지정 소스 코드를 새 런타임에 추가할 수 있지만 컨텍스트와 입력을 수락하고 Automation Orchestrator 엔진과 결과를 주고 받으려면 올바른 함수 형식을 따라야 합니다.
스크립팅 권장 사항
보다 간단한 스크립팅 작업을 위해 스크립팅 가능한 작업 요소를 워크플로 스키마에 추가할 수 있습니다. 보다 복잡한 스크립팅 작업의 경우에는 Automation Orchestrator 작업을 사용할 수 있습니다.
작업을 사용하면 다음과 같은 두 가지 이점이 있습니다.
- 동작은 워크플로와 별개로 생성하고, 업데이트하고, 가져오고, 내보낼 수 있습니다.
- 동작은 사용자 환경에서 실행 및 디버깅될 수 있는 독립형 개체이므로 개발 프로세스를 원활하게 진행하는 데 유용합니다. 작업 실행 및 디버깅의 내용을 참조하십시오.
스크립트 함수 요구 사항
스크립트 함수의 기본 이름은 처리기입니다. 이 함수는 컨텍스트와 입력이라는 두 가지 인수를 받아들입니다. 컨텍스트는 시스템 정보를 포함하는 맵 개체입니다. 예를 들어 vroURL은 호출하려는 Automation Orchestrator 인스턴스의 URL을 포함할 수 있고 executionId는 워크플로 실행의 토큰 ID를 포함합니다.
입력은 작업에 제공된 모든 입력을 포함하는 맵 개체입니다. 예를 들어 작업에서 myInput이라는 입력을 정의하면, 런타임에 따라 inputs.myInput 또는 inputs["myInput"]과 같은 입력 인수에서 입력에 액세스 할 수 있습니다. 함수에서 반환하는 모든 항목은 작업의 결과입니다. 따라서 작업의 반환 유형은 스크립트가 Automation Orchestrator에서 반환하는 컨텐츠 유형과 일치해야 합니다. 기본 숫자를 반환하는 경우 작업 반환 유형은 숫자 유형이어야 합니다. 문자열을 반환하는 경우 작업 반환 유형은 문자열 유형이어야 합니다. 복합 개체를 반환하는 경우 반환 유형은 Properties 또는 Composite Type에 매핑되어야 합니다. 이와 동일한 원칙이 어레이에도 적용됩니다.
Python, Node.js 및 PowerShell 런타임에 지원되는 입력 및 출력 매개 변수 유형:
StringNumberBooleanDatePropertiesComposite Type
항목 처리기 정의
기본적으로 항목 처리기의 값은 handler.handler입니다. 이 값은 Automation Orchestrator 엔진이 ZIP 패키지에서 handler라는 함수가 포함된 handler.py, handler.js 또는 handler.ps1이라는 최상위 파일을 찾는다는 의미입니다. 함수와 처리기 파일의 이름에 차이가 있으면 항목 처리기의 값에 반영되어야 합니다. 예를 들어 기본 처리기 이름이 index.js이고 함수 이름이 callMe이면, 항목 처리기의 값을 index.callMe로 설정해야 합니다.
외부 IDE에서 런타임 스크립트 디버그
Automation Orchestrator는 외부 IDE에서 Python 및 Node.js 스크립트의 디버깅을 지원합니다. PowerShell 스크립트는 외부 IDE에서 디버깅할 수 없습니다.