支援終止通知:2025 年 9 月 10 日, AWS 將停止對 AWS RoboMaker 的支援。2025 年 9 月 10 日之後,您將無法再存取 AWS RoboMaker 主控台或 AWS RoboMaker 資源。如需有關轉換至 AWS Batch 以協助執行容器化模擬的詳細資訊,請參閱此部落格文章
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
記錄模擬
若要從模擬任務擷取輸出檔案和其他成品,您可以設定自訂上傳。您可以為機器人應用程式和模擬應用程式設定自訂上傳。當您設定自訂上傳時,您指定的檔案會從模擬任務上傳到您提供的 Amazon S3 模擬輸出位置。當您想要檢閱或分析模擬執行或重複使用成品期間產生的應用程式輸出時,這很有用。
在設定自訂上傳之前,您必須為模擬任務提供 Amazon S3 輸出目的地。使用您指定的名稱將相符的檔案 AWS RoboMaker 上傳到資料夾。當所有模擬任務工具在產生時關閉或上傳,然後移除時,可以上傳相符的檔案。
除非您關閉預設上傳組態,否則預設上傳組態會自動新增至您的自訂上傳組態。預設上傳組態會上傳 ROS 和 Gazebo 預設記錄輸出。這可維持與過去模擬任務輸出組態的相容性。 已上傳 ROS 和 Gazebo 預設記錄輸出。您可以在主控台中設定模擬任務時關閉預設上傳組態。您也可以在 CreateSimulationJob API false
中useDefaultUploadConfigurations
將 設定為 ,將其關閉。
您的模擬應用程式會附加到單一 128gb 分割區,而且您可以寫入分割區。
新增自訂上傳組態
若要建立自訂上傳組態,您需要指定名稱字首,指定檔案在 Amazon S3 中上傳的位置、指定要上傳檔案的 Unix 全域路徑,以及指定檔案上傳時間的上傳行為。
名稱
名稱是指定檔案在 Amazon S3 中上傳方式的字首。它附加到模擬輸出位置,以判斷最終路徑。
例如,如果您的模擬輸出位置是 ,s3://amzn-s3-demo-bucket
而您的上傳組態名稱是 robot-test
,則您的檔案會上傳至 s3://amzn-s3-demo-bucket/<simid>/<runid>/robot-test
。
路徑
路徑指定要上傳哪些檔案。標準 Unix 全域比對規則可接受,但需受下列條件限制:
-
路徑必須以
/home/robomaker/
或 開頭/var/log
。 -
路徑不得包含反向路徑表達式 (
/..
)。 -
未遵循符號連結。
-
您可以在路徑中使用
**
作為超級星號。 例如,指定/var/log/**.log
以收集/var/log
樹狀目錄中的所有.log
檔案。您也可以使用標準星號作為標準萬用字元。例如,
/var/log/system.log*
符合檔案 (如/var/log
中的system.log_1111
、system.log_2222
等等)。
上傳行為
您可以選取下列其中一個上傳行為:
-
終止時上傳 (
UPLOAD_ON_TERMINATE
) 會在模擬任務進入終止狀態時上傳符合路徑的所有檔案。 AWS RoboMaker 嘗試上傳日誌最多 60 分鐘。AWS RoboMaker 在模擬中執行的所有工具停止之前, 不會開始上傳檔案。
-
使用自動移除 () 上傳滾動,上傳所有與路徑相符的檔案,同時產生這些檔案。
UPLOAD_ROLLING_AUTO_REMOVE
每 5 秒檢查一次路徑。上傳檔案時,會刪除來源檔案。刪除檔案後,如果產生具有相同名稱的新檔案,則會取代先前上傳的檔案。 會在模擬中執行的所有應用程式停止後,對檔案 AWS RoboMaker 執行最終檢查。使用自動移除上傳滾動對於上傳滾動日誌很有用。將輸出寫入或串流至路徑 glob 未涵蓋的「作用中」檔案。寫入作用中檔案完成後,請將檔案滾動到路徑 glob 所涵蓋的位置,以上傳和移除。
此設定可協助您節省模擬任務中的空間。它也可以協助您在模擬任務終止之前存取檔案。
模擬任務分割區大小為 128gb。如果您的模擬任務因任何原因結束, 會 AWS RoboMaker 嘗試上傳自訂上傳組態中指定的所有檔案。
由 建立的環境變數 AWS RoboMaker
AWS RoboMaker 定義下列模擬任務環境變數。
-
AWS_ROBOMAKER_SIMULATION_JOB_ID
-
AWS_ROBOMAKER_SIMULATION_JOB_ARN
-
AWS_ROBOMAKER_SIMULATION_RUN_ID
您可以從您的應用程式或從命令列取得這些變數。例如,若要在 Python 中取得目前的模擬任務 Amazon Resource Name (ARN),請使用 os.environ.get("AWS_ROBOMAKER_SIMULATION_JOB_ARN")
。
如果您為模擬任務指定了 Amazon Simple Storage Service 輸出儲存貯體,您可以使用環境變數來尋找輸出路徑。 會將輸出 AWS RoboMaker 寫入 s3://
。使用此選項可從程式碼或命令列管理 Amazon S3 中的物件。bucket-name
/AWS_ROBOMAKER_SIMULATION_JOB_ID/AWS_ROBOMAKER_SIMULATION_RUN_ID
AWS RoboMaker 也會處理 中設定的特定環境變數CreateSimulationJobRequest
,以允許機器人和模擬應用程式容器彼此通訊。如需詳細資訊,請參閱ROS 容器FAQs。