Python 使用客户端库运行但未引发任何错误时作业未完成

Python 使用客户端库运行但未引发任何错误时作业未完成,python,google-cloud-storage,google-cloud-dataflow,google-client,google-cloud-dataprep,Python,Google Cloud Storage,Google Cloud Dataflow,Google Client,Google Cloud Dataprep,我正试图通过将文件上传到云存储、通过管道运行并下载结果来自动化一些数据清理任务 我已经为我的管道创建了使用Dataprep中的GUI执行的模板,并且正在尝试使用Google客户端库(特别是Python)自动上传和执行模板 但是,我发现在使用Python脚本运行作业时,不会执行完整模板;有时某些步骤没有完成,有时输出文件(应该是兆字节大小)小于500字节。这取决于我使用的模板。每个模板都有自己的问题 我曾尝试将大模板拆分为小模板,以便连续应用,这样我就可以看到问题所在,但我发现每个模板都有自己的问

我正试图通过将文件上传到云存储、通过管道运行并下载结果来自动化一些数据清理任务

我已经为我的管道创建了使用Dataprep中的GUI执行的模板,并且正在尝试使用Google客户端库(特别是Python)自动上传和执行模板

但是,我发现在使用Python脚本运行作业时,不会执行完整模板;有时某些步骤没有完成,有时输出文件(应该是兆字节大小)小于500字节。这取决于我使用的模板。每个模板都有自己的问题

我曾尝试将大模板拆分为小模板,以便连续应用,这样我就可以看到问题所在,但我发现每个模板都有自己的问题。我还尝试过从Dataflow Monitoring接口创建作业,并发现使用该接口创建的任何东西都可以完美运行,这意味着我创建的脚本一定存在一些问题

def runJob(bucket、模板、文件名):
#使用所需的凭据打开连接
credentials=GoogleCredentials.get_application_default()
服务=构建('dataflow','v1b3',凭证=凭证)
#处理文件后命名作业
jobName=fileName.replace('.csv','')
projectId='我的项目'
#查找要在数据集上运行的模板
templatePath=“gs://{bucket}/me@myemail.com/temp/{template}.format(bucket=bucket,template=template)
#构造作业JSON
正文={
“jobName”:“{jobName}”。格式(jobName=jobName),
“参数”:{
“输入位置”:“{\”位置1\:\”gs://“+存储桶+”/me@myemail.com/RawUpload/“+fileName+”\“}”,
“outputLocations”:“{\”location1\:\“gs:/”+bucket+”/me@myemail.com/CleanData/“+fileName.replace('.csv','\u auto\u delete\u 2')+“\”}”,
},
“环境”:{
“模板位置”:“gs://{bucket}/me@myemail.com/临时格式(桶=桶),
“区域”:“us-central1-f”
}
}
#创建并执行HTTPRequest
request=service.projects().templates().launch(projectd=projectd,gcsPath=templatePath,body=body)
response=request.execute()
#通知用户
打印(答复)
使用JSON格式,我对参数的输入与使用监控界面时相同。这告诉我,要么监控界面的后台发生了我不知道的事情,因此没有包括在内,要么我创建的代码有问题

正如我上面所说的,问题因我尝试运行的模板而异,但最常见的是非常小的输出文件。输出文件的大小将小于其应有的大小。这是因为它将只包含CSV标题和数据中第一行的一些随机样本,而且CSV文件的格式也不正确

有没有人知道我错过了什么或认识到我做错了什么