我正在处理一些Kaggle项目。使用便携式计算机上的BigQuery的Python库,在环境变量GOOGLE_APPLICATION_CREDENTIALS
传递了authentication credential之后,我可以成功下载数据集。如文档所述,此环境变量指向包含凭证的JSON文件的位置。
现在,我想使用Amazon Lambda在Chalice上运行此代码。我知道Chalice中有一个option for environment variable,但是我不知道如何在Chalice应用程序中包含一个JSON文件并将其位置作为环境变量传递。而且,我不确定在Chalice中将凭据作为JSON文件传递是否安全。
有人在将Google凭据作为Chalice应用程序的环境变量传递方面有经验吗?
答案 0 :(得分:1)
您可以将JSON文件的内容作为环境变量嵌入到Chalice中,然后使用GCP Client.from_service_account_info()
方法从内存而不是文件中加载凭据。我们不建议您这样做,因为您的私人GCP凭据很可能会被提交到源代码管理中。
可能我建议您使用其他方法来传递GCP凭证,而不是环境变量。您可以将此JSON对象存储在AWS System Manager Parameter Store中作为安全参数。然后,您的AWS Lambda函数可以在需要时使用boto3 ssm.get_parameter()
方法。
您也可以考虑将AWS Secrets Manager视为另一个类似的选择。