使用 getResolvedOptions 访问参数 - Amazon Glue
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 getResolvedOptions 访问参数

Amazon Glue getResolvedOptions(args, options) 实用程序函数为您提供了访问您在运行作业时传递到脚本的参数的权限。要使用此函数,请先将其从 Amazon Glue utils 模块以及 sys 模块导入:

import sys from awsglue.utils import getResolvedOptions
getResolvedOptions(args, options)
  • argssys.argv 中包含的参数的列表。

  • options – 要检索的参数名称的 Python 数组。

例 检索传递到 JobRun 的参数

假设您在某个脚本中(或许是在某个 Lambda 函数内)创建了 JobRun:

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

请注意,每个参数将定义为以两个连字符开头,则将在不带连字符的脚本中引用。参数只使用下划线,而不是连字符。您的参数需要遵循此规则才能得到解决。