本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
執行自訂代理程式
您可以隨需執行自訂代理程式,或設定觸發以自動執行代理程式。
隨需執行自訂代理程式
您可以立即從客服人員詳細資訊頁面或透過聊天執行自訂客服人員。
若要從詳細資訊頁面執行自訂代理程式:
導覽至 DevOps Agent Web 應用程式中的客服人員頁面。
選擇您要執行的自訂代理程式。
選擇立即執行,以使用其設定的指示執行代理程式。
若要提供特定執行的其他內容,請選擇立即執行旁的下拉箭頭,輸入描述代理程式在此調用中應關注的提示,然後選擇使用提示執行。提示會與系統提示一起傳遞給客服人員,做為其他內容。
執行開始後,新的調用會出現在歷史記錄索引標籤中,狀態為「待定開始」。選擇調用以即時檢視其軌跡。
若要使用聊天執行自訂代理程式:
要求聊天依名稱執行代理程式。例如:
Run my weekly-investigation-report agent.
Run certificate-checker and focus on certificates expiring in the next 7 days.
當您在聊天訊息中提供其他內容時,聊天會將其傳遞為該執行的提示。如果您未提供其他內容,代理程式只會使用其設定的系統提示來執行 。
自訂代理程式一次只能執行一個調用。如果代理程式已在執行中,您必須等待目前的調用完成、逾時或取消,才能啟動另一個。
設定 觸發條件
觸發條件會根據定義的條件自動執行自訂代理程式。 AWS DevOps 代理程式支援兩種類型的觸發:
排程觸發 – 使用 EventBridge 相容的 Cron 或 Rate 運算式,以週期性間隔執行代理程式。
事件觸發 – 當 Webhook 事件從連線整合抵達時執行代理程式,並將事件承載做為內容傳遞。
這兩種類型的觸發都是從自訂代理程式的觸發標籤建立的。若要開啟它,請導覽至 DevOps Agent Web 應用程式的客服人員頁面,選擇自訂客服人員,然後選擇觸發標籤。
建立排程觸發條件
排程表達式使用 EventBridge 相容的 Cron 或 Rate 語法。表達式必須是下列其中一種格式:
速率表達式 – 以固定間隔執行。格式:
rate(value unit)。範例:rate(1 hour)– 每小時rate(30 minutes)– 每 30 分鐘rate(7 days)– 每 7 天
Cron 表達式 – 依特定排程執行。格式:
cron(minutes hours day-of-month month day-of-week year)。範例:cron(0 9 ? * MON-FRI *)– 每週日上午 9:00 UTCcron(0 0 1 * ? *)– 每月第一天午夜 UTCcron(0 */6 ? * * *)– 每 6 小時
對於 cron 表達式,每月某day-of-month或day-of-week必須是 ?(問號)。如需排程表達式語法的詳細資訊,請參閱《Amazon EventBridge 排程器使用者指南》中的排程類型。
若要建立排程觸發條件:
選擇 + (建立) 按鈕。
針對觸發類型,選擇排程。
輸入排程表達式。當表達式有效時,會出現綠色確認訊息。
(選用) 若要為每個排程執行提供額外的內容,請在使用者提示 (選用) 欄位中輸入提示。提示會與其系統提示一起傳遞給客服人員。
選擇建立。
建立後,觸發條件會出現在清單中,顯示其表達式、建立日期和下一個排定的執行時間。
建立事件觸發程序
事件觸發會在 Webhook 事件從連線整合抵達時執行自訂代理程式。事件承載會傳遞給代理程式,做為該執行的內容。
先決條件:
在建立事件觸發之前,您必須與客服人員空間中的作用中 Webhook 進行連線整合。與作用中 Webhook 的任何整合都可以做為事件來源。如需設定整合的詳細資訊,請參閱透過 Webhook 叫用 DevOps 代理程式。
若要建立事件觸發:
選擇 + (建立) 按鈕。
針對觸發類型,選擇事件。
針對事件來源,選擇其 Webhook 事件應執行代理程式的整合。只會列出與作用中 Webhook 的整合。
(選用) 對於篩選條件表達式,輸入 JMESPath 表達式來篩選和選擇性轉換事件承載。
選擇建立。
如果未列出事件來源,則代理程式空間中沒有已啟用 Webhook 的整合,或者您的角色缺少 ListAssociations和 ListWebhooks許可。
篩選條件表達式:
您可以選擇指定 JMESPath 篩選條件表達式,以控制哪些事件啟動代理程式,以及代理程式接收的內容。篩選條件表達式會根據原始事件承載根進行評估。
語法 – JMESPath 規格
長度上限 – 4,096 個字元
驗證 – 建立觸發時,會拒絕無效的表達式
篩選條件表達式可同時做為條件,也可以做為投影:
當結果不是
null、false、空字串、空陣列或空物件時,觸發會執行。當結果為布林值
true(例如,類似 的述詞severity == 'critical') 時,代理程式會收到原始事件承載做為內容。當結果是任何其他真實值 (例如,類似 的投影
{sev: severity}) 時,代理程式會收到投影結果做為內容。
AWS DevOps 代理程式會將此內容截斷為 10,000 個字元。
如果您將篩選條件表達式保留空白,代理程式會在該來源的每個事件上執行,並接收原始事件承載做為內容。
注意
評估為空物件或空陣列的投影會視為不相符,且代理程式不會執行。若要傳遞可能空白的值,請將它包裝在物件常值中。例如 {payload: details}。
範例篩選條件表達式:
severity == 'critical'– 述詞:只有在嚴重性等於關鍵時才會執行代理程式,並將原始事件承載做為內容傳遞。{sev: severity}– 投影: 在每個事件上執行代理程式,傳遞僅包含嚴重性欄位的物件做為內容。由於多選雜湊一律包含其金鑰,因此結果永遠不會空白,也不會篩選。
由於每個來源的承載形狀不同,可用的欄位取決於整合。當事件到達但未執行觸發時, AWS DevOps 代理程式會發出通知,說明原因。例如,通知可能指出篩選條件表達式不匹配任何內容。該通知也會列出該承載中存在的最上層欄位。如需詳細資訊,請參閱已取代的日誌和指標。
以程式設計方式建立觸發條件
您也可以使用 AWS SDKs。呼叫devops-agent用戶端CreateTrigger的操作,這需要 aidevops:CreateTrigger許可。將觸發類型設定為 ,TIME_BASED並提供包含排程表達式和選用使用者提示的排程條件。
或者,您可以將排程型觸發程序建模為 AWS CloudFormation 中的AWS::DevOpsAgent::Trigger資源。觸發會參考其執行的自訂代理程式,因此請先建立代理程式。如需 AWS::DevOpsAgent::Trigger 資源類型的詳細資訊,請參閱 管理資產。
管理觸發條件
Triggers 索引標籤會顯示為自訂代理程式設定的所有觸發。排程觸發程序會顯示其排程表達式。事件觸發程序會顯示其事件來源,如果已設定,則會顯示其篩選條件表達式。這兩種類型都會顯示建立日期。
如果移除來源整合或其 Webhook,則事件觸發會保持列出,但顯示來源不再可用,而且不會執行。
暫停觸發:
若要暫時停止觸發程序調用代理程式而不將其刪除,請關閉觸發程序旁的切換開關。觸發狀態會變更為已暫停,在重新啟用之前不會再執行。重新開啟切換以繼續。
刪除觸發條件:
若要永久移除觸發條件,請選擇您要移除的觸發條件旁的刪除圖示 (垃圾桶)。在出現的對話方塊中確認刪除。刪除的觸發無法復原。
取消調用
您可以從調用軌跡檢視或透過聊天取消執行中的調用。
若要從軌跡檢視取消執行中的調用:
從歷史記錄索引標籤中,選擇執行中的調用。
選擇軌跡檢視頂端的取消。
若要使用聊天取消執行中的調用:
Cancel the running invocation of weekly-health-report.
呼叫狀態會變更為「已取消」。在取消之前完成的任何工作都會保留在軌跡中。發生取消時正在進行的工具呼叫仍可能完成。
工具呼叫結果
在調用期間,自訂代理程式會叫用 MCP 工具來收集資料、執行動作和產生輸出。每個工具呼叫及其結果都會記錄在調用軌跡中。
工具呼叫結果可提供客服人員在調用期間所做動作的透明度:
成功工具呼叫 – 工具傳回代理程式用來繼續其工作的資料。例如,
query_cloudwatch_logs會傳回日誌項目,或use_aws傳回 API 回應。失敗的工具呼叫 – 工具傳回錯誤。代理程式可能會重試、嘗試替代方法,或在其輸出中報告失敗。
您可以在調用軌跡中檢查個別工具呼叫及其結果,以了解客服人員的行為、驗證其是否存取正確的資源,以及對非預期的結果進行疑難排解。如需檢視軌跡的詳細資訊,請參閱檢視調用軌跡。