У меня есть приложение / задание на python, которое отправляет информационный фрейм в BigQuery.Однако это задание не выполняется, поскольку, очевидно, оно запрашивает учетные данные, как показано ниже:
Пожалуйста, посетите этот URL, чтобы авторизовать это приложение:
Поскольку это автоматизированное заданиеЯ не могу нажать на ссылку и отправить код.Есть ли другой способ пройти авторизацию?
Я уже настроил ключ учетной записи службы в переменной среды / bashrc.
Код :
from datetime import timedelta
import pandas as pd
from io import StringIO
from azure.storage.blob import BlockBlobService
class Transmitter:
def __init__(self):
self.blob_service = BlockBlobService(account_name='xxxx',
account_key='xxxxxxxxxxxxx')
self.dataset_id = 'xxxx'
self.jobQuery = "select JobID, EmailName from xxxxx group by JobID, EmailName"
self.keyDf = pd.read_csv('jobKeys.csv')
def toBigQJobs(self):
jDf = pd.read_gbq(self.jobQuery, project_id='xxxx', dialect='standard')
jDf['Type'] = 'C'
jDf['Category'] = 'other'
for index, row in jDf.iterrows():
for indexA, rowA in self.keyDf.iterrows():
if rowA['Key'] in row['EmailName']:
jDf.loc[index, 'Category'] = rowA['Category']
jDf.loc[index, 'Type'] = rowA['Type']
break
jDf.to_gbq(destination_table='xxxx', project_id='xxxx',
if_exists='replace')
if __name__ == '__main__':
objTransmitter = Transmitter()
objTransmitter.toBigQJobs()