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

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

使用 getResolvedOptions 访问参数

AWS Glue getResolvedOptions(args, options) 实用程序函数为您提供了访问您在运行作业时传递到脚本的参数的权限。要使用此函数,请先将其从 AWS 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']

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