Python canary 스크립트 작성 - Amazon CloudWatch

Python canary 스크립트 작성

이 스크립트는 성공적인 실행으로 전달되고 문자열을 반환합니다. 실패한 canary가 어떻게 보이는지 확인하려면 fail = False를 fail = True로 변경합니다.

def basic_custom_script(): # Insert your code here # Perform multi-step pass/fail check # Log decisions made and results to /tmp # Be sure to wait for all your code paths to complete # before returning control back to Synthetics. # In that way, your canary will not finish and report success # before your code has finished executing fail = False if fail: raise Exception("Failed basicCanary check.") return "Successfully completed basicCanary checks." def handler(event, context): return basic_custom_script()

Python canary 파일 패키징

.py 파일이 두 개 이상 있거나 스크립트에 종속 항목이 있는 경우 이들을 모두 단일 ZIP 파일로 번들링할 수 있습니다. syn-python-selenium-1.1 런타임을 사용하는 경우 ZIP 파일은 python 폴더 내에 주요 canary .py 파일을 포함해야 합니다(예: python/my_canary_filename.py). syn-python-selenium-1.1 이상을 사용하는 경우 다른 폴더를 사용할 수 있습니다(예: python/myFolder/my_canary_filename.py).

이 ZIP 파일은 필요한 모든 폴더와 파일을 포함해야 하지만, python 폴더의 다른 파일을 포함하지 않아도 됩니다.

스크립트 진입점의 파일 이름 및 함수 이름과 일치하도록 canary의 스크립트 진입점을 my_canary_filename.functionName으로 설정해야 합니다. syn-python-selenium-1.0 런타임을 사용하는 경우 functionNamehandler여야 합니다. syn-python-selenium-1.1 이상을 사용 중인 경우 이 핸들러 이름 제한은 적용되지 않으며 canary를 별도의 폴더에 저장할 수도 있습니다(예: python/myFolder/my_canary_filename.py). 별도의 폴더에 저장하는 경우 스크립트 진입점에 해당 경로를 지정합니다(예: myFolder/my_canary_filename.functionName).