如何部署 GOOGLE_APPLICATION_CREDENTIALS 并使用 Elastic Beanstalk 从 Django 应用程序部署中使用

Posted

技术标签:

【中文标题】如何部署 GOOGLE_APPLICATION_CREDENTIALS 并使用 Elastic Beanstalk 从 Django 应用程序部署中使用【英文标题】:How to deploy GOOGLE_APPLICATION_CREDENTIALS and use from Django app deployed using Elasticbeanstalk 【发布时间】:2021-02-21 02:55:58 【问题描述】:

我有一个使用 Elasticbeanstalk 部署到 AWS 的 Django 应用程序。

我实现了与 Django 应用程序的 FCM(Firebase 云消息传递)关系。要从 Django 访问 FCM 功能,需要将 Firebase Admin SDK 安装到 django。 Firebase Admin SDK 需要将 firebase 的私钥作为通过 env var GOOGLE_APPLICATION_CREDENTIALS 访问的 json 文件。

在我的本地 Mac Book 环境中,我将私钥 json 文件的本地路径设置为 .bash_profile 中的 GOOGLE_APPLICATION_CREDENTIALS。

如何将 firebase 的私钥 json 文件部署到 AWS(可能是 S3)上的某个安全位置,并使用 Elasticbeanstalk 从部署到 AWS 的 Django 应用程序进行访问。

【问题讨论】:

【参考方案1】:

    将私钥文件存储在 S3 中,然后使用.ebextensions 将其安全地下载到您的应用程序中。以this answer 和this answer 为例。

    在 Elastic Beanstalk 控制台中设置环境变量 GOOGLE_APPLICATION_CREDENTIALS:进入环境,点击配置,进入修改软件,然后输入环境变量,值为凭证文件的路径。

【讨论】:

以上是关于如何部署 GOOGLE_APPLICATION_CREDENTIALS 并使用 Elastic Beanstalk 从 Django 应用程序部署中使用的主要内容,如果未能解决你的问题,请参考以下文章

如何使用WSGI部署Django

K8S 如何部署SpringBoot项目

如何部署Golang应用

Apache中同一个端口如何部署多个项目

如何使用 Terraform 部署和重新部署应用程序?

如何在CentOS 7部署RabbitMQ服务