

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 翻譯 Slurm 任務提交外掛程式指令碼，以在 AWS PCS 中使用 CLI 篩選條件外掛程式
<a name="slurm-cli-filter-plugins-translate"></a>

當您從其他 Slurm 環境遷移時，將現有的任務提交外掛程式 Lua 指令碼轉換為 CLI 篩選條件外掛程式。轉譯程序涉及更新函數名稱和欄位存取模式，以使用 CLI Filter Plugin API。

## 先決條件
<a name="slurm-cli-filter-plugin-translate-prerequisites"></a>

翻譯指令碼之前，請先完成下列任務：
+ 檢閱您現有的任務提交外掛程式 Lua 指令碼
+ 了解任務提交和 CLI 篩選條件外掛程式 APIs 之間的差異
+ 存取 Slurm CLI 篩選條件外掛程式文件

**將任務提交外掛程式指令碼轉譯為 CLI 篩選條件外掛程式**

1. 檢閱您現有的任務提交外掛程式指令碼函數 (`slurm_job_submit`、`slurm_job_modify`)。

1. 識別對等的 CLI 篩選條件外掛程式函數：
   + `slurm_job_submit` 成為 `slurm_cli_pre_submit`
   + 新增`slurm_cli_setup_defaults`預設參數設定
   + 針對提交`slurm_cli_post_submit`後動作新增

1. 將任務驗證邏輯從`job_desc`欄位轉換為`options`陣列存取：
   + `job_desc.account` 成為 `options["account"]`
   + `job_desc.partition` 成為 `options["partition"]`
   + `job_desc.features` 成為 `options["constraint"]`

1. 將記錄呼叫從 更新`slurm.log_user()`為 `slurm.log_error()`。

1. 在開發叢集上測試您的翻譯指令碼。

1. 遵循標準 CLI 篩選條件外掛程式部署程序，部署到您的生產叢集。

## 預期的結果
<a name="slurm-cli-filter-plugin-translate-results"></a>

完成翻譯之後：
+ 您的翻譯指令碼提供對等的任務提交驗證
+ 使用者會看到與原始任務提交外掛程式類似的錯誤訊息和提示
+ 任務提交政策會在遷移至 AWS PCS 期間維護

## 疑難排解
<a name="slurm-cli-filter-plugin-translate-troubleshooting"></a>

**指令碼轉譯錯誤**  
**症狀：**任務提交失敗並出現 Lua 執行錯誤。  
**可能原因：**翻譯指令碼中的欄位存取或函數呼叫不正確。  
**解決方案：**檢閱 CLI 篩選條件外掛程式 API 文件，並比較任務提交和 CLI 篩選條件界面之間的欄位映射。