Tal A
Tal A

Reputation: 7

AttributeError: 'DataTransferServiceClient' object has no attribute 'project_transfer_config_path'

Got the following code:

import time
from google.protobuf.timestamp_pb2 import Timestamp
from google.cloud import bigquery_datatransfer_v1

def runQuery (parent, requested_run_time):
    client = bigquery_datatransfer_v1.DataTransferServiceClient()
    projectid = '[enter your projectId here]' # Enter your projectID here
    transferid = '[enter your transferId here]'  # Enter your transferId here
    parent = client.project_transfer_config_path(projectid, transferid)
    start_time = bigquery_datatransfer_v1.types.Timestamp(seconds=int(time.time() + 10))
    response = client.start_manual_transfer_runs(parent, requested_run_time=start_time)
    print(response)

We used it in few different projects and cases and everything works fine. Today I deployed another function using this code and keep getting the following error:

AttributeError: 'DataTransferServiceClient' object has no attribute 'project_transfer_config_path'

What am I missing? Thank you!

Upvotes: 0

Views: 1010

Answers (1)

itroulli
itroulli

Reputation: 2094

You are probably using a newer version (2.0.0 or 2.1.0) of the google-cloud-bigquery-datatransfer client library. In these versions, most utility methods have been removed, one of them being project_transfer_config_path.

You can use the method transfer_config_path of the client to achieve the same result.

I would strongly suggest that you study the Migration Guide to 2.0.0 as there might be other changes that you need to make too.

In case you are using version 2.0.0 and not 2.1.0, I would recommend upgrading to the latest since there are breaking changes between them, for example the import paths that were changed in 2.0.0 have been reverted in 2.1.0.

Upvotes: 1

Related Questions