

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

# 在 Ray 任務中使用任務參數
<a name="author-job-ray-job-parameters"></a>

**重要**  
AWS Glue for Ray 自 2026 年 4 月 30 日起不再向新客戶開放。如果您想要使用 AWS Glue for Ray，請在該日期之前註冊。現有客戶可以繼續正常使用該服務。如需類似 AWS Glue for Ray 的 功能，請探索 Amazon EKS。如需詳細資訊，請參閱 [AWS Glue 的 Ray 終止支援](https://docs.aws.amazon.com/glue/latest/dg/awsglue-ray-jobs-availability-change.html)。

您為 Ray AWS Glue 任務設定引數的方式與 AWS Glue 為 Spark 任務設定引數的方式相同。如需 AWS Glue API 的詳細資訊，請參閱 [任務](aws-glue-api-jobs-job.md)。您可以使用此參考中列出的不同引數來設定 AWS Glue Ray 任務。您也可以提供自己的引數。

您可以透過主控台在 **Job Parameters** (任務參數) 標題下的 **Job details** (任務詳細資訊) 索引標籤中設定任務。您也可以在任務`DefaultArguments`上設定 或在任務執行`Arguments`上設定 ， AWS CLI 透過 設定任務。預設引數和任務參數會在多次執行中留在任務內。

例如，下列是執行使用 `--arguments` 來設定特殊參數之任務的語法。

```
$ aws glue start-job-run --job-name "CSV to CSV" --arguments='--scriptLocation="s3://my_glue/libraries/test_lib.py",--test-environment="true"'
```

設定引數後，您可以透過環境變數從 Ray 任務中存取任務參數。這可為您提供為每個執行設定任務的方法。環境變數的名稱將是不含 `--` 字首的任務引數名稱。

例如，在之前的範例中，變數名稱將是 `scriptLocation` 和 `test-environment`。然後，您需透過標準程式庫中可用的方法擷取引數：`test_environment = os.environ.get('test-environment')`。如需有關使用 Python 存取環境變數的詳細資訊，請參閱 Python 文件中的 [os module](https://docs.python.org/3/library/os.html)。

## 設定 Ray 任務產生日誌的方式
<a name="author-job-ray-logging-configuration"></a>

依預設，Ray 任務產生的日誌和指標會傳送到 CloudWatch 和 Amazon S3。您可以使用 `--logging_configuration` 參數來變更日誌的產生方式，目前您可以使用此參數來讓 Ray 任務停止產生各種類型的日誌。此參數採用 JSON 物件，其金鑰對應至您想要變更的日誌/行為。此參數支援下列金鑰：
+ `CLOUDWATCH_METRICS` – 設定可用於將任務運作狀態視覺化的 CloudWatch 指標系列。如需指標的詳細資訊，請參閱 [使用指標監控 Ray 任務](author-job-ray-monitor.md)。
+ `CLOUDWATCH_LOGS` – 設定 CloudWatch 日誌，以提供有關任務執行狀態的 Ray 應用程式層級詳細資訊。如需日誌的詳細資訊，請參閱 [對日誌 AWS Glue 中的 Ray 錯誤進行故障診斷](troubleshooting-ray.md)。
+ `S3` – 設定 AWS Glue 寫入 Amazon S3 的內容，主要與 CloudWatch 日誌類似，但做為檔案而非日誌串流。

若要停用 Ray 日誌行為，請提供值 `{\"IS_ENABLED\": \"False\"}`。例如，若要停用 CloudWatch 指標和 CloudWatch 日誌，請提供下列設定：

```
"--logging_configuration": "{\"CLOUDWATCH_METRICS\": {\"IS_ENABLED\": \"False\"}, \"CLOUDWATCH_LOGS\": {\"IS_ENABLED\": \"False\"}}"
```

## 參考資料
<a name="author-job-ray-parameters-reference"></a>

 Ray 任務會辨識以下引數名稱，您可以用來為 Ray 任務和任務執行設定指令碼環境：
+ `--logging_configuration` – 用於停止產生 Ray 任務建立的各種日誌。依預設，這些日誌會在所有 Ray 任務上產生。格式：逸出字串 JSON 物件。如需詳細資訊，請參閱[設定 Ray 任務產生日誌的方式](#author-job-ray-logging-configuration)。
+ `--min-workers` – 配置給 Ray 任務的工作節點最小數目。工作節點可以執行多個複本，每個虛擬 CPU 一個複本。格式：整數。下限：0。上限：在任務定義的 `--number-of-workers (NumberOfWorkers)` 中指定的值。如需有關計算工作節點的詳細資訊，請參閱 [計算 Ray 任務中的工作者](ray-jobs-section.md#author-job-ray-worker-accounting)。
+ `--object_spilling_config` – AWS Glue for Ray 支援使用 Amazon S3 作為擴展 Ray 物件存放區可用空間的方式。若要啟用此行為，您可以使用此參數提供 Ray 一個*物件溢出*的 JSON 組態物件。如需有關 Ray 物件溢出組態的詳細資訊，請參閱 Ray 文件中的 [Object Spilling](https://docs.ray.io/en/latest/ray-core/objects/object-spilling.html)。格式：JSON 物件。

  AWS Glue for Ray 僅支援一次溢出到磁碟或溢出到 Amazon S3。您可以提供多個溢出位置，只要它們遵守此限制即可。溢出到 Amazon S3 時，您還需要為此儲存貯體新增 IAM 許可至任務。

  使用 CLI 將 JSON 物件作為組態提供時，您必須將其作為字串提供，並對 JSON 物件進行字串逸出。例如，溢出到一個 Amazon S3 路徑的字串值如下所示：`"{\"type\": \"smart_open\", \"params\": {\"uri\":\"s3path\"}}"`。在 中 AWS Glue Studio，將此參數提供為沒有額外格式的 JSON 物件。
+ `--object_store_memory_head` – 配置給 Ray 前端節點上 Plasma 物件存放區的記憶體。此執行個體會執行叢集管理服務以及工作者複本。此值代表暖啟動後執行個體上可用記憶體的百分比。您使用此參數調整記憶體密集型工作負載，大多數使用案例都可以接受預設值。格式：正整數。下限：1。上限：100。

  如需有關 Plasma 的詳細資訊，請參閱 Ray 文件中的 [The Plasma In-Memory Object Store](https://ray-project.github.io/2017/08/08/plasma-in-memory-object-store.html) (Plasma 記憶體內物件存放區)。
+ `--object_store_memory_worker` – 配置給 Ray 工作節點上 Plasma 物件存放區的記憶體。這些執行個體僅執行工作者複本。此值代表暖啟動後執行個體上可用記憶體的百分比。此參數用於調整記憶體密集型工作負載 – 大多數使用案例都可以接受預設值。格式：正整數。下限：1。上限：100。

  如需有關 Plasma 的詳細資訊，請參閱 Ray 文件中的 [The Plasma In-Memory Object Store](https://ray-project.github.io/2017/08/08/plasma-in-memory-object-store.html) (Plasma 記憶體內物件存放區)。
+ `--pip-install` – 要安裝的一組 Python 套件。您可以使用此引數從 PyPI 安裝套件。格式：以逗號分隔的清單。

  PyPI 套件項目的格式為 `package==version`，其中包含 PyPI 名稱和目標套件的版本。項目使用 Python 版本比對來比對套件和版本。例如 `==`，而非單一等於 `=`。也存在其他的版本比對運算子。如需詳細資訊，請參閱 Python 網站上的 [PEP 440](https://peps.python.org/pep-0440/#version-matching)。您還可以使用 `--s3-py-modules` 提供自訂模組。
+ `--s3-py-modules`：託管 Python 模組分佈的一組 Amazon S3 路徑。格式：以逗號分隔的清單。

  您可以使用它來分發自己的模組到 Ray 任務。您還可以使用 `--pip-install` 提供來自 PyPI 的模組。與 AWS Glue ETL 不同，自訂模組不是透過 pip 設定，而是傳遞給 Ray 進行分發。如需詳細資訊，請參閱[Ray 任務的其他 Python 模組](edit-script-ray-env-dependencies.md#edit-script-ray-python-libraries-additional)。
+ `--working-dir`：Amazon S3 中託管之 .zip 檔案的路徑，其中包含要分發到執行 Ray 任務的所有節點的檔案。格式：字串。如需詳細資訊，請參閱[為 Ray 任務提供檔案](edit-script-ray-env-dependencies.md#edit-script-ray-working-directory)。