AWS GlueJob 中 args getResolvedOptions() 方法的替代输入源是什么?
What can be alternate source of input for args getResolvedOptions() method in AWS GlueJob?
我有一个 Glue 作业,我想在其中将参数传递给 getResolvedOptions
。我知道的一种方法是在 Lambda 函数中创建一个 JobRun,我可以传递它。在下面的代码中传递 param1
和 param2
的其他方法是什么:
import sys
from awsglue.utils import getResolvedOptions
args = getResolvedOptions(sys.argv, ['param1',
'param2'])
注意:我不想通过硬编码在代码中传递参数。
提前致谢。
您可以通过 cloudformation (cfn) yaml 模板轻松实现此目的,或者您可以通过 cli/sdk/console 等直接将变量添加到作业中。如果您想使用 cfn路线,你可以定义你的资源如下:
JobNAME:
Type: "AWS::Glue::Job"
Properties:
Name: String
Description: String
Role: String
GlueVersion: 1.0
Command:
Name: "glueetl"
ScriptLocation: String
PythonVersion: 3
DefaultArguments: {
"--job-language": "python",
"--param1" : VALUE,
"--param2" : VALUE,
"--TempDir" : String,
"--job-bookmark-option" : "job-bookmark-enable",
"--enable-continuous-cloudwatch-log" : "false",
"--enable-continuous-log-filter" : "false",
"--enable-metrics" : "false"
}
ExecutionProperty:
MaxConcurrentRuns: 1
MaxCapacity: 5
MaxRetries: 1
Timeout: 60
定义后,您可以通过 getResolvedOptions 调出参数,注意胶水默认值有保留值,例如:
import sys
from awsglue.utils import getResolvedOptions
## @params: [JOB_NAME <--default assigned, param1 <---your value, param2 <---your value]
args = getResolvedOptions(sys.argv, ['JOB_NAME', 'param1','param2'])
我有一个 Glue 作业,我想在其中将参数传递给 getResolvedOptions
。我知道的一种方法是在 Lambda 函数中创建一个 JobRun,我可以传递它。在下面的代码中传递 param1
和 param2
的其他方法是什么:
import sys
from awsglue.utils import getResolvedOptions
args = getResolvedOptions(sys.argv, ['param1',
'param2'])
注意:我不想通过硬编码在代码中传递参数。
提前致谢。
您可以通过 cloudformation (cfn) yaml 模板轻松实现此目的,或者您可以通过 cli/sdk/console 等直接将变量添加到作业中。如果您想使用 cfn路线,你可以定义你的资源如下:
JobNAME:
Type: "AWS::Glue::Job"
Properties:
Name: String
Description: String
Role: String
GlueVersion: 1.0
Command:
Name: "glueetl"
ScriptLocation: String
PythonVersion: 3
DefaultArguments: {
"--job-language": "python",
"--param1" : VALUE,
"--param2" : VALUE,
"--TempDir" : String,
"--job-bookmark-option" : "job-bookmark-enable",
"--enable-continuous-cloudwatch-log" : "false",
"--enable-continuous-log-filter" : "false",
"--enable-metrics" : "false"
}
ExecutionProperty:
MaxConcurrentRuns: 1
MaxCapacity: 5
MaxRetries: 1
Timeout: 60
定义后,您可以通过 getResolvedOptions 调出参数,注意胶水默认值有保留值,例如:
import sys
from awsglue.utils import getResolvedOptions
## @params: [JOB_NAME <--default assigned, param1 <---your value, param2 <---your value]
args = getResolvedOptions(sys.argv, ['JOB_NAME', 'param1','param2'])