BigQuery: учетные данные запрашиваются в автоматизированной работе - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть приложение / задание на 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()

1 Ответ

0 голосов
/ 22 сентября 2018

Решение: добавьте переменную окружения через os.environ, и она заработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...