在AWS Glue作业定义中指定正确的脚本参数和参数值。
示例代码:
假设我们有一个Python脚本,它需要将一个名为“input.txt”的文件从S3拷贝到Glue的临时目录中,并将拷贝的文件重命名为“output.txt”。
import sys import boto3
s3 = boto3.resource('s3') src_bucket_name = sys.argv[1] src_key_name = sys.argv[2] dst_path = sys.argv[3] dst_file_name = sys.argv[4]
src_bucket = s3.Bucket(src_bucket_name) src_obj = src_bucket.Object(src_key_name) dst_obj = s3.Object(dst_path, dst_file_name) dst_obj.upload_fileobj(src_obj.get()["Body"])
dst_obj.copy_from(CopySource={'Bucket': dst_path, 'Key': dst_file_name}, MetadataDirective='REPLACE', ContentType='text/plain')
在AWS Glue作业定义中,我们需要像这样指定脚本参数和参数值:
参数名:--src_bucket_name
参数值:my-source-bucket-name
参数名:--src_key_name
参数值:input.txt
参数名:--dst_path
参数值:s3://aws-glue-temporary-123456789012-us-east-1/my-job
参数名:--dst_file_name
参数值:output.txt
在AWS Glue作业定义中,可以使用“参数”部分来指定脚本参数和参数值。将参数名称前面加上“--”标记以指定参数的名称。在上面的示例中,我们指定了四个参数:--src_bucket_name、--src_key_name、--dst_path和--dst_file_name。然后,我们在Glue脚本中使用“sys.argv”来获取每个参数的值。
在使用AWS Glue执行该作业时,我们必须确保指定正确的参数和值