使用 getResolvedOptions 存取參數
AWS Glue getResolvedOptions(args, options) 公用程式功能可讓您存取執行任務時傳送到指令碼的引數。若要使用此功能,請先從 AWS Glue utils 模組與 sys 模組一起匯入:
import sys from awsglue.utils import getResolvedOptions
getResolvedOptions(args, options)
-
args-sys.argv所含的引數清單。 -
options- 想要擷取之引數名稱的 Python 陣列。
範例 擷取傳送到 JobRun 的引數
假設您在指令碼內建立 JobRun,或許在 Lambda 函數內:
response = client.start_job_run( JobName = 'my_test_Job', Arguments = { '--day_partition_key': 'partition_0', '--hour_partition_key': 'partition_1', '--day_partition_value': day_partition_value, '--hour_partition_value': hour_partition_value } )
若要擷取傳送的引數,您可以使用 getResolvedOptions 函數,如下所示:
import sys from awsglue.utils import getResolvedOptions args = getResolvedOptions(sys.argv, ['JOB_NAME', 'day_partition_key', 'hour_partition_key', 'day_partition_value', 'hour_partition_value']) print "The day-partition key is: ", args['day_partition_key'] print "and the day-partition value is: ", args['day_partition_value']
請注意,每個引數的定義開頭形式為兩個連字號,在指令碼中參考的引數則不含連字號。引數只使用底線,不使用連字號。您的引數需要遵循此慣例才能被解析。