Comments 3
Спасибо. Мне было довольно интересно, так как последние полгода занимаюсь написанием цепочек функций для регулярной загрузки данных из различных источников в BigQuery.
Из отличий (что бросилось в глаза):
1. Из-за слабого знания Питона, я почти не использую его классы. Просто пишу функции. И, конечно, я бы сказал, что мой код значительно более корявый.
2. Все пароли, ключи и тому подобные вещи я храню в KMS. Соответственно cloud function лезет туда и всё распаковывает.
3. Обычно у меня очень много (до дюжины) переменных окружения — параметры, которые говорят — что откуда и куда брать и двигать (для разных environments — разные места).
4. Абсолютно всё хранится в репозитории (значит пароли нельзя хранить с кодом).
5. Абсолютно всё деплоится с помощью terraform (включая datasets, tables, service accounts, roles, permissions, etc.). Terraform workspace используется для dev, prod, test environments.
6. Credentials and accounts для доступа к BigQuery не требуются, так как cloud function исполняется от имени специальной service account, которой даются нужные привилегии.
Из отличий (что бросилось в глаза):
1. Из-за слабого знания Питона, я почти не использую его классы. Просто пишу функции. И, конечно, я бы сказал, что мой код значительно более корявый.
2. Все пароли, ключи и тому подобные вещи я храню в KMS. Соответственно cloud function лезет туда и всё распаковывает.
3. Обычно у меня очень много (до дюжины) переменных окружения — параметры, которые говорят — что откуда и куда брать и двигать (для разных environments — разные места).
4. Абсолютно всё хранится в репозитории (значит пароли нельзя хранить с кодом).
5. Абсолютно всё деплоится с помощью terraform (включая datasets, tables, service accounts, roles, permissions, etc.). Terraform workspace используется для dev, prod, test environments.
6. Credentials and accounts для доступа к BigQuery не требуются, так как cloud function исполняется от имени специальной service account, которой даются нужные привилегии.
0
a-l-e-x, спасибо за комментарий!
Я сам не моу сказать, что хорошо использую Python, прсото классы как-то сами напрашивались.
По п.6. Как раз есть на github представлены 2 версии credentials. Одна для работы с локальной машины, а вторая для деплоя Cloud Function.
Остальные пункты для меня, если честно, почти не знакомы. Было бы очень интеренсо прочитать как вы обращаетесь оргнанизацией кода, паролей и деплоя с помощью terraform.
Я сам не моу сказать, что хорошо использую Python, прсото классы как-то сами напрашивались.
По п.6. Как раз есть на github представлены 2 версии credentials. Одна для работы с локальной машины, а вторая для деплоя Cloud Function.
Остальные пункты для меня, если честно, почти не знакомы. Было бы очень интеренсо прочитать как вы обращаетесь оргнанизацией кода, паролей и деплоя с помощью terraform.
0
Я оставлю пару ссылок, которые мне кажутся интересными.
www.sethvargo.com/secrets-in-serverless
rominirani.com/google-cloud-functions-tutorial-series-f04b2db739cd
я думал что-нибудь написать, но не уверен, что могу что-то интересное добавить.
www.sethvargo.com/secrets-in-serverless
rominirani.com/google-cloud-functions-tutorial-series-f04b2db739cd
я думал что-нибудь написать, но не уверен, что могу что-то интересное добавить.
0
Sign up to leave a comment.
Импорт отчета по звонкам из CoMagic в BigQuery по расписанию с помощью Google Cloud Functions