Comando:

gcloud functions deploy python-http-function \
--gen2 \
--runtime=python310 \
--region=REGION \
--source=. \
--entry-point=hello_get \  
--trigger-http \  
--allow-unauthenticated

Preferência para gen2.

Basta rodar no diretório do projeto python raiz. Exemplo de código abaixo em Gcloud Function

Entrypoint

Nesse exemplo foi usado o endpoint hello_http.

Env vars

Para setar variáveis de ambiente usar o parametro --set-env-vars="KEY=VALUE"

Para setar secrets, usar o parametro --set-secrets="KEY=VALUE" (ficará disponível como env var).

Para limpar os valores:

Parametros --clear-env-vars e --clear-secrets.

Memória

Para setar o consumo de memória, usar o parametro --memory=MEMORY, com os possíveis valores correspondendo a cada geração:

Allowed values for v1 are: 128MB, 256MB, 512MB, 1024MB, 2048MB, 4096MB, and 8192MB.

Allowed values for GCF 2nd gen are in the format: <number><unit> with allowed units of “k”, “M”, “G”, “Ki”, “Mi”, “Gi”. Ending ‘b’ or ‘B’ is allowed.

Examples: 100000k, 128M, 10Mb, 1024Mi, 750K, 4Gi.

By default, a new function is limited to 256MB of memory.

Ref. aqui.

O custo vai estar diretamente ligado a esse parametro. Veja sobre o custo em Preços GCloud Functions

Num de instancias

Pode-se deixar em 0 para aplicações não críticas.

Usar os seguintes comandos:

Para determinar o num min e max de instancias: --max-instances=MAX_INSTANCES e --min-instances=MIN_INSTANCES.

Para limpar: --clear-max-instances

Preencher o valor REGION com um dos valores em Regiões GCloud Functions