Guia de início rápido: implantar uma função do Cloud Run usando a CLI gcloud
Nesta página, mostramos como implantar uma função HTTP do Cloud Run usando a CLI gcloud.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Cloud Build, Cloud Run Admin API, and Cloud Logging APIs:
gcloud services enable artifactregistry.googleapis.com
cloudbuild.googleapis.com run.googleapis.com logging.googleapis.com -
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/run.sourceDeveloper, roles/run.admin, roles/resourcemanager.projectIamAdmin, roles/iam.serviceAccountUser, roles/serviceusage.serviceUsageAdmin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Cloud Build, Cloud Run Admin API, and Cloud Logging APIs:
gcloud services enable artifactregistry.googleapis.com
cloudbuild.googleapis.com run.googleapis.com logging.googleapis.com -
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/run.sourceDeveloper, roles/run.admin, roles/resourcemanager.projectIamAdmin, roles/iam.serviceAccountUser, roles/serviceusage.serviceUsageAdmin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
- Para definir o projeto padrão do serviço do Cloud Run:
Substitua PROJECT_ID pelo nome do projeto que você criou para este guia de início rápido.gcloud config set project PROJECT_ID
Se você precisa seguir uma política da organização de restrição de domínio que restringe invocações não autenticadas para seu projeto, será necessário acessar o serviço implantado, conforme descrito em Como testar serviços particulares.
- Conceda à conta de serviço do Cloud Build o seguinte papel do IAM.
Clique para conferir os papéis necessários para a conta de serviço do Cloud Build
O Cloud Build usa automaticamente a conta de serviço padrão do Compute Engine como a conta de serviço padrão do Cloud Build para criar seu código-fonte e recurso do Cloud Run, a menos que você substitua esse comportamento. Para que o Cloud Build crie suas origens, peça ao administrador para conceder o papel Criador do Cloud Run (
roles/run.builder
) à conta de serviço padrão do Compute Engine no seu projeto:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/run.builder
Substitua
PROJECT_NUMBER
pelo número do projeto Google CloudePROJECT_ID
pelo ID do projeto Google Cloud. Para instruções detalhadas sobre como encontrar o ID e o número do projeto, consulte Criar e gerenciar projetos.A concessão do papel de builder do Cloud Run à conta de serviço padrão do Compute Engine leva alguns minutos para se propagar.
Escrever a função de exemplo
Para escrever um aplicativo, siga estas etapas:
Node.js
Crie um novo diretório com o nome
helloworld
e altere o diretório nele:mkdir helloworld cd helloworld
Crie um arquivo
package.json
no diretóriohelloworld
para especificar as dependências do Node.js:Crie um arquivo
index.js
no diretóriohelloworld
com o seguinte exemplo de Node.js:
Python
Crie um novo diretório com o nome
helloworld
e altere o diretório nele:mkdir helloworld cd helloworld
Crie um arquivo
requirements.txt
no diretóriohelloworld
para especificar dependências do Python:Isso adiciona os pacotes necessários para a amostra.
Crie um arquivo
main.py
no diretóriohelloworld
com o seguinte exemplo em Python:
Go
Crie um novo diretório com o nome
helloworld
e altere o diretório nele:mkdir helloworld cd helloworld
Crie um arquivo
go.mod
para declarar o módulo go:Crie um arquivo
hello_http.go
no diretóriohelloworld
com o exemplo de código Go a seguir:
Java
Crie um novo diretório com o nome
helloworld
e altere o diretório nele:mkdir helloworld cd helloworld
Crie a seguinte estrutura do projeto para conter o diretório de origem e o arquivo de origem.
mkdir -p ~/helloworld/src/main/java/functions touch ~/helloworld/src/main/java/functions/HelloWorld.java
Atualize o arquivo
HelloWorld.java
com o seguinte exemplo de código Java:Crie um arquivo
pom.xml
no diretóriohelloworld
e adicione as seguintes dependências do Java:
Ruby
Crie um novo diretório com o nome
helloworld
e altere o diretório nele:mkdir helloworld cd helloworld
Crie um arquivo chamado
app.rb
e cole o seguinte código nele:Crie um arquivo chamado
Gemfile
e copie o seguinte arquivo nele:Se você não tiver o Bundler 2.0 ou superior instalado, instale o Bundler.
Gere um arquivo
Gemfile.lock
executando:bundle install
PHP
Crie um novo diretório com o nome
helloworld
e altere o diretório nele:mkdir helloworld cd helloworld
Crie um arquivo chamado
index.php
e cole o seguinte código nele:Se você não estiver usando o Cloud Shell, crie um arquivo
composer.json
e cole o seguinte código nele:
.NET
Instale o SDK do.NET.
No console, crie um novo projeto da Web vazio usando o comando dotnet.
dotnet new web -o helloworld-csharp
Altere o diretório para
helloworld-csharp
:Substitua o exemplo de código no arquivo do projeto
helloworld-csharp.csproj
pelo seguinte:Substitua o exemplo de código no arquivo
Program.cs
pelo seguinte:
Implantar a função
Importante: este guia de início rápido pressupõe que você tenha papéis de proprietário ou editor no projeto que está usando para este guia. Caso contrário, consulte o papel de desenvolvedor de origem do Cloud Run para ter acesso às permissões necessárias para implantar um recurso do Cloud Run a partir da origem.
Para implantar a função do Cloud Run, siga estas etapas:
Implante a função executando o seguinte comando no diretório contém o exemplo de código:
Node.js
gcloud run deploy nodejs-http-function \ --source . \ --function helloGET \ --base-image nodejs22 \ --region REGION \ --allow-unauthenticated
Substitua REGION pela Google Cloud região do serviço em que você quer implantar a função. Por exemplo,
europe-west1
.Python
gcloud run deploy python-http-function \ --source . \ --function hello_get \ --base-image python313 \ --region REGION \ --allow-unauthenticated
Substitua REGION pela Google Cloud região do serviço em que você quer implantar a função. Por exemplo,
europe-west1
.Go
gcloud run deploy go-http-function \ --source . \ --function HelloGet \ --base-image go123 \ --region REGION \ --allow-unauthenticated
Substitua REGION pela Google Cloud região do serviço em que você quer implantar a função. Por exemplo,
europe-west1
.Java
Execute o seguinte comando no diretório que contém o arquivo
pom.xml
:gcloud run deploy java-http-function \ --source . \ --function functions.HelloWorld \ --base-image java21 \ --region REGION \ --allow-unauthenticated
Substitua REGION pela Google Cloud região do serviço em que você quer implantar a função. Por exemplo,
europe-west1
.Ruby
gcloud run deploy ruby-http-function \ --source . \ --function hello_get \ --base-image ruby34 \ --region REGION \ --allow-unauthenticated
Substitua REGION pela Google Cloud região do serviço em que você quer implantar a função. Por exemplo,
europe-west1
.PHP
gcloud run deploy php-http-function \ --source . \ --function helloGet \ --base-image php84 \ --region REGION \ --allow-unauthenticated
Substitua REGION pela Google Cloud região do serviço em que você quer implantar a função. Por exemplo,
europe-west1
..NET
gcloud run deploy csharp-http-function \ --source . \ --function HelloWorld.Function \ --base-image dotnet8 \ --region REGION \ --allow-unauthenticated
Substitua REGION pela Google Cloud região do serviço em que você quer implantar a função. Por exemplo,
europe-west1
.Quando a implantação for concluída, a CLI do Google Cloud vai mostrar um URL em que o serviço está em execução. Abra o URL em seu navegador para ver a saída da sua função.
Limpar
Ainda que o Cloud Run não gere custos quando o serviço não estiver em uso, é possível que receba cobranças pelo armazenamento da imagem do contêiner no Artifact Registry. É possível excluir sua imagem de contêiner ou excluir seu projeto do Google Cloud para evitar cobranças. A exclusão do projeto Google Cloud interrompe o faturamento de todos os recursos usados nele.
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
A seguir
Para implantar uma função de exemplo no Cloud Run usando o Google Cloud console, consulte Guia de início rápido: implantar uma função no Cloud Run usando o Google Cloud console.
Para implantar funções e criar gatilhos usando o console Google Cloud e a Google Cloud CLI, consulte Implantar funções.
Para visualizar e excluir funções existentes, consulte Gerenciar revisões de serviço.
Para criar contêineres de funções em seu próprio conjunto de ferramentas e implantá-lo no Cloud Run, consulte Criar funções.
Para criar gatilhos com o Eventarc, consulte Criar gatilhos com o Eventarc.