I am try to import csv to postgresql using googleapiclient.discovery ,but I receive this error:
WARNING:googleapiclient.http:Encountered 403 Forbidden with reason "notAuthorized"
SERVICE_ACCOUNT_FILE = 'secret.json'
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE)
service = googleapiclient.discovery.build('sqladmin', 'v1beta4', credentials=credentials)
instance_id = 'my_instance_id'
project_id = "my_project_id"
def upload():
processed = False
while processed == False:
try:
instances_import_request_body = {
"importContext": {
"fileType": "CSV",
"kind": "sql#importContext",
"uri": "gs://mybucket/my_file.csv",
"database": "dbmvc",
"csvImportOptions": {
"table": 'my_table'
}
}
}
request = service.instances().import_(project=project_id, instance=instance_id, body=instances_import_request_body)
response = request.execute()
process_status = False
while not process_status:
sleep(1)
resp = service.operations().get(project=project_id, operation=response['name']).execute()
if resp['status'] == "DONE":
process_status = True
processed=True
except Exception as err:
logger.info("Probably an operation is in progress. Retrying after 5 seconds.")
sleep(5)