Как получить значение региона проекта firebase для использования в облачной функции firebase - PullRequest
1 голос
/ 07 ноября 2019

Я создал 2 проекта в двух разных местах. скажем, мы - центральная1 и азия - северо-восточная1. Теперь для этих двух разных проектов я хочу развернуть облачные функции в соответствующих регионах.

const function_location = 'asia-northeast1';// I want a region of the project selected through npm 
exports.AddWebLogs = functions.region(function_location).firestore.document(............

Как я могу получить значение региона проекта либо в переменных среды, либо где-то в process.env, чтобы я мог использоватьчтобы установить этот регион в облачной функции.

REACT_APP_API_KEY             = xyz
REACT_APP_AUTH_DOMAIN         = xyz
REACT_APP_DATABASE_URL        = xyz
REACT_APP_PROJECT_ID          = xyz
REACT_APP_STORAGE_BUCKET      = xyz
REACT_APP_MESSAGING_SENDER_ID = xyz

1 Ответ

0 голосов
/ 07 ноября 2019

Если я правильно понял ваш вопрос, у вас есть два проекта: Project A находится в us-central1 и Project B находится в asia-northeast1. Вы хотели бы знать их соответствующие регионы и сохранить их в переменной среды, которую вы сможете использовать позже при развертывании облачной функции.

Чтобы посмотреть, какие настройки вашего региона и зоны установлены в вашем проекте , вы можете использовать облачный инструмент командной строки:

gcloud compute project-info describe --project [PROJECT_ID]

Чтобы установить переменную с помощью инструмента командной строки gcloud , использовать флаг --set-env-vars во время развертывания:

gcloud functions deploy FUNCTION_NAME --set-env-vars myRegion=region

Вы можете получить доступ к переменной среды во время выполнения . Во время выполнения переменные среды доступны через свойство process.env в Node.js:

gcloud functions deploy envVar --runtime nodejs10 --set-env-vars myRegion=region --trigger-http

Затем вы можете использовать:

exports.envVar = (req, res) => {
  // Sends 'region' as response
  res.send(process.env.myRegion);
};

Надеюсь, это поможет.

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