我试图通过设置服务器身份验证将本地文件加载到bigquery。我已经完成了以下步骤
>
gcloud auth激活服务帐户命令
使用登录
gcloud身份验证登录
正在尝试执行python脚本以将文件上载到BigQuery
范围=
['https://www.googleapis.com/auth/bigquery',
'https://www.googleapis.com/auth/bigquery.insertdata']
credentials = ServiceAccountCredentials.from_json_keyfile_name(
'/path/privatekey.json', scopes)
# Construct the service object for interacting with the BigQuery API.
service = build('bigquery', 'v2', credentials=credentials)
# Load configuration with the destination specified.
load_config = {
'destinationTable': {
'projectId': "project id",
'datasetId': "data set id",
'tableId': "table name"
}
}
# Setup the job here.
# load[property] = value
load_config['schema'] = {
'fields': [
<several field>
]
}
upload = MediaFileUpload('/path/to/csv/file',
mimetype='application/octet-stream',
# This enables resumable uploads.
resumable=True)
# End of job configuration.
run_load.start_and_wait(service.jobs(),
"my project id",
load_config,
media_body=upload)
结果是
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
但我有足够的权限创建查询作业
query_request = service.jobs()
query_data = {
'query': (
'SELECT COUNT(*) FROM [dmrebg.testDay];')
}
query_response = query_request.query(
projectId=project_id,
body=query_data).execute()
print('Query Results:')
for row in query_response['rows']:
print('\t'.join(field['v'] for field in row['f']))
我错过了什么?我以为我已经登录了。
问题是,任何打电话给https://www.googleapis.com/bigquery/v2/projects/project_id/jobs/*也会导致同样的问题
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
所以我的浏览器auth有问题,python auth很好。
根本原因是我的CSV模式和数据不匹配。
Errors:
Too many errors encountered. (error code: invalid)
我知道很多人都问过类似的问题,但我想知道如何使用python登录gmail(或google帐户)。我已经有了一个代码(见下文),可以使用selenium将用户登录到gmail。然而,我注意到了一些问题。 程序停止/关闭时浏览器关闭。 它无法检测到失败的登录。 这两个问题都需要解决,我才能完成我的项目。我不介意使用像pyautogui这样的selenium以外的东西来打开google。但是,它需要能
假设我有下表: 我需要一个查询,将插入不存在的标签,并返回所有请求的标签ID。考虑以下事项: 此查询的输出是: 我需要的是在输出中有。
我是解析的新手,我对解析UI登录和解析UI小部件有一些问题。 在我的项目中将ParseLoginUI作为一个模块导入后,我单击了run app按钮,错误发生了。 我与Han有完全相同的问题(错误:任务执行失败:app:dexDebug’。将ParseLoginUI作为模块导入时),但是,他提供的解决方案对我不起作用。。 我还可能提到,我不知道说明书中的“克隆项目”是什么意思,我下载了zip并从“我
我正在寻求登录gmail帐户并使用python脚本下载一些电子邮件的帮助。我正在尝试采用这里找到的方法,但我在步骤1中遇到了一个问题,即通过imap访问帐户。 下面是我要开始的代码: 我得到以下错误: 在gmail设置中确实启用了Imap。我已经查看了google支持链接上的说明,以及类似情况下有关此错误的问题,例如这里和这里,但我的情况与第一次不同,因为1)它从一开始就不起作用,2)我没有经常运
null 通常,代码做它应该做的事情。但是,当从API收集一个大数据集(大约500.000个JSON文件)时,bigquery插入作业在使用DataFlow Runner时(它与在我的计算机上执行的DirectRunner一起工作)启动后立即停止(=在一秒钟内),而没有特定的错误消息。当使用较小的数据集时,一切都很好。 数据流日志如下: 按照建议使用bq cli工具来获取有关bq加载作业的更多信息
当然,当我执行这项工作时,它失败了,我被困住了...我真的很感激,如果谁已经与rundeck执行塔伦德乔布斯可以帮助我!