撰寫 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 執行時間,則 functionName 必須為 handler。如果您使用的是 syn-python-selenium-1.1 或更高版本,此處理常式名稱限制就不適用,您還可以選擇將 Canary 存放在單獨的資料夾 (例如 python/myFolder/my_canary_filename.py) 中。如果將其存放在單獨的資料夾中,請在指令碼進入點中指定該路徑,例如 myFolder/my_canary_filename.functionName