Облачные функции GCP - Как импортировать локальные сценарии вне облачной функции? Как структурировать проекты, используюPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Облачные функции GCP - Как импортировать локальные сценарии вне облачной функции? Как структурировать проекты, использую

Сообщение Anonymous »

У меня есть одна гигантская папка Repo, которая содержит гораздо больше подрепо, и каждый подрепо содержит несколько облачных функций, т.е. < /p>

Код: Выделить всё

|-repo_master
|-repo_a
|-cloud_function_a
|-.github/workflows/deploy.yml
|-main.py
|-requirements.txt
|-config.py
|-cloud_function_b
|-.github/workflows/deploy.yml
|-main.py
|-requirements.txt
|-config.py
|-repo_b
|-cloud_function_a
|-.github/workflows/deploy.yml
|-main.py
|-requirements.txt
|-config.py
|-cloud_function_b
|-.github/workflows/deploy.yml
|-main.py
|-requirements.txt
|-config.py
|-repo_c
|-cloud_function_a
|-.github/workflows/deploy.yml
|-main.py
|-requirements.txt
|-config.py
|-cloud_function_b
|-.github/workflows/deploy.yml
|-main.py
|-requirements.txt
|-config.py
etc...
Каждая облачная функция имеет файл config.py , и я хотел бы переместить этот файл config.py в каталог repo_master , и все облачные функции относятся к нему.) Похоже, это.

Код: Выделить всё

# Import config file
import os
import sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
from config import CONFIG_VARIABLE
По сути, добавив repo_master DIR в sys.path Я могу получить доступ к config_variable во всем моем main.py файлах. class = "Lang-Bash PrettyPrint-Override">

Код: Выделить всё

ImportError: cannot import name 'CONFIG_VARIABLE' from 'config' (unknown location)
развертывание моей облачной функции выглядит так (с переменными, определенными в deploy.yml env )

Код: Выделить всё

gcloud functions deploy ${{ matrix.function.name }} \
--gen2 \
--trigger-http \
--source=cloud_functions/${{ matrix.function.name }} \
--runtime=${{ env.RUNTIME }} \
--region=${{ env.REGION }} \
--memory=${{ env.MEMORY }} \
--service-account=${{ env.WORKFLOWS_SA }} \
--timeout=${{ env.TIMEOUT }} \
--no-allow-unauthenticated \
--set-secrets="GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT:latest,GOOGLE_CLOUD_PROJECT_NUMBER=GOOGLE_CLOUD_PROJECT_NUMBER:latest"

Потенциальные решения
Я думал о наличии пользовательского сценария Git push bash, который копирует конфигурацию во все данные облачных функций, однако я бы предпочел избежать этого, и я хотел бы знать, есть ли лучший способ


Подробнее здесь: https://stackoverflow.com/questions/795 ... nction-how
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • GCP — облачные задачи — Grpc.Core.RpcException
    Anonymous » » в форуме C#
    0 Ответы
    61 Просмотры
    Последнее сообщение Anonymous
  • Как получить количество задач в облачной задаче GCP
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Можно ли разрабатывать, используя локальные проекты, вместо того, чтобы публиковать каждое изменение в nuget?
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Интегрируйте устаревшее приложение On-Prem .Net в GCP с помощью Tibco и GCP Pub/Sub.
    Anonymous » » в форуме JAVA
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Не удалось развернуть приложение весенней загрузки с зависимостями GCP pubsub в облаке GCP.
    Anonymous » » в форуме JAVA
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»