使用 getResolvedOptions 存取參數 - AWS Glue

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

使用 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']

請注意,每個引數的定義開頭形式為兩個連字號,在指令碼中參考的引數則不含連字號。引數只使用底線,不使用連字號。您的引數需要遵循此慣例才能被解析。