Да, это возможно.Пожалуйста, обратитесь к этому сообщению в блоге для подробного руководства.Репозиторий GitHub здесь , но вот ключевые выводы.
setup.py
from setuptools import setup
setup(name='trainer',
version='1.0',
description='Showing how to use private key',
url='http://github.com/GoogleCloudPlatform/training-data-analyst',
author='Google',
author_email='nobody@google.com',
license='Apache2',
packages=['trainer'],
package_data={'': ['privatekey.json']},
install_requires=[
'pandas-gbq==0.4.1',
'urllib3',
'google-cloud-bigquery'
],
zip_safe=False)
pkg_query.py
def query_to_dataframe(query):
import pandas as pd
import pkgutil
privatekey = pkgutil.get_data('trainer', 'privatekey.json')
print(privatekey[:200])
return pd.read_gbq(query,
project_id='cloud-training-demos',
dialect='standard',
private_key=privatekey)
query = """
SELECT
year,
COUNT(1) as num_babies
FROM
publicdata.samples.natality
WHERE
year > 2000
GROUP BY
year
"""
df = query_to_dataframe(query)
print(df.head())