出现“BigQuery转移:Google Ads(以前的AdWords):转移作业成功,但没有数据。”的问题可能有多种原因。以下是一些可能的解决方法:
检查Google Ads(以前的AdWords)账户权限:确保您具有足够的权限来访问和转移数据。您需要具有Google Ads API的访问权限。
检查转移设置:确保您正确设置了转移作业。您可以使用以下代码示例来创建和配置Google Ads转移作业:
from google.cloud import bigquery_datatransfer_v1
client = bigquery_datatransfer_v1.DataTransferServiceClient()
parent = client.location_path('', '')
project_id = ''
service_account_name = ''
dataset_id = ''
transfer_config = {
'destination_dataset_id': dataset_id,
'display_name': 'Google Ads Transfer',
'data_source_id': 'google_ads',
'params': {
'customer_id': '',
'credentials': {
'secret_access_key': '',
'access_token': '',
'project_id': project_id,
'service_account_name': service_account_name,
}
},
'schedule': 'every 24 hours',
}
response = client.create_transfer_config(parent, transfer_config)
print('Created transfer config: {}'.format(response))
确保在params
字典中提供了正确的customer_id
,secret_access_key
,access_token
等参数。这些参数是必需的,以便正确访问Google Ads数据。
from google.cloud import bigquery_datatransfer_v1
client = bigquery_datatransfer_v1.DataTransferServiceClient()
project_id = ''
transfer_config_id = ''
transfer_config_name = 'projects/{}/transferConfigs/{}'.format(project_id, transfer_config_id)
response = client.get_transfer_config(transfer_config_name)
print('Transfer config status: {}'.format(response.schedule))
确保转移作业的状态为“ENABLED”,这将确保作业按计划运行并传输数据。
from google.cloud import bigquery
client = bigquery.Client()
project_id = ''
dataset_id = ''
table_id = ''
table_ref = client.dataset(dataset_id).table(table_id)
table = client.get_table(table_ref)
query = 'SELECT * FROM `{}.{}.{}` LIMIT 10'.format(project_id, dataset_id, table_id)
rows = client.query(query)
for row in rows:
print(row)
确保在project_id
,dataset_id
和table_id
中提供正确的值,并验证您是否能够从BigQuery中检索到数据。
如果您仍然遇到问题,请参阅Google官方文档或联系Google支持以获取进一步的帮助。