Início rápido: implemente uma função do Cloud Run com a CLI gcloud
Esta página mostra como implementar uma função HTTP do Cloud Run através da 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.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith 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_IDwith your Google Cloud project name.
-
Se estiver a usar um projeto existente para este guia, verifique se tem as autorizações necessárias para concluir este guia. Se criou um novo projeto, já tem as autorizações necessárias.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Cloud Build, Cloud Run Admin API, and Cloud Logging APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable artifactregistry.googleapis.com
cloudbuild.googleapis.com run.googleapis.com logging.googleapis.com -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith 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_IDwith your Google Cloud project name.
-
Se estiver a usar um projeto existente para este guia, verifique se tem as autorizações necessárias para concluir este guia. Se criou um novo projeto, já tem as autorizações necessárias.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Cloud Build, Cloud Run Admin API, and Cloud Logging APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable artifactregistry.googleapis.com
cloudbuild.googleapis.com run.googleapis.com logging.googleapis.com - Para definir o projeto predefinido para o seu serviço do Cloud Run:
Substitua PROJECT_ID pelo nome do projeto que criou para este início rápido.gcloud config set project PROJECT_ID
Se estiver ao abrigo de uma política da organização de restrição de domínio que restringe as invocações não autenticadas para o seu projeto, tem de aceder ao serviço implementado conforme descrito em Testar serviços privados.
- Reveja os preços do Cloud Run ou estime os custos com a calculadora de preços.
-
Administrador do Cloud Run (
roles/run.admin) no projeto -
Programador de origem do Cloud Run (
roles/run.sourceDeveloper) no projeto -
Utilizador da conta de serviço (
roles/iam.serviceAccountUser) na identidade do serviço -
Visualizador de registos (
roles/logging.viewer) no projeto Crie um novo diretório com o nome
helloworlde mude para esse diretório:mkdir helloworld cd helloworldCrie um ficheiro
package.jsonno diretóriohelloworldpara especificar as dependências do Node.js:Crie um ficheiro
index.jsno diretóriohelloworldcom o seguinte exemplo de Node.js:Crie um novo diretório com o nome
helloworlde mude para esse diretório:mkdir helloworld cd helloworldCrie um ficheiro
requirements.txtno diretóriohelloworldpara especificar as dependências do Python:Isto adiciona os pacotes necessários para o exemplo.
Crie um ficheiro
main.pyno diretóriohelloworldcom o seguinte exemplo de Python:Crie um novo diretório com o nome
helloworlde mude para esse diretório:mkdir helloworld cd helloworldCrie um ficheiro
go.modpara declarar o módulo Go:Crie um ficheiro
hello_http.gono diretóriohelloworldcom o seguinte exemplo de código Go:Crie um novo diretório com o nome
helloworlde mude para esse diretório:mkdir helloworld cd helloworldCrie a seguinte estrutura de projeto para conter o diretório de origem e o ficheiro de origem:
mkdir -p ~/helloworld/src/main/java/functions touch ~/helloworld/src/main/java/functions/HelloWorld.javaAtualize o ficheiro
HelloWorld.javacom o seguinte exemplo de código Java:Crie um ficheiro
pom.xmlno diretóriohelloworlde adicione as seguintes dependências Java:
Funções necessárias
Para obter as autorizações de que precisa para concluir este início rápido, peça ao seu administrador que lhe conceda as seguintes funções de IAM:
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Conceda à conta de serviço do Cloud Build acesso ao seu projeto
O Cloud Build usa automaticamente a conta de serviço predefinida do Compute Engine como a conta de serviço predefinida do Cloud Build para compilar o seu código-fonte e recurso do Cloud Run, a menos que substitua este comportamento.
Para que o Cloud Build compile as suas origens, conceda à conta de serviço do Cloud Build a função Cloud Run
Builder
(roles/run.builder) no seu projeto:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_EMAIL_ADDRESS \ --role=roles/run.builder
Substitua PROJECT_ID pelo ID do seu projeto e Google Cloudpelo endereço de email da conta de serviço do Cloud Build.SERVICE_ACCOUNT_EMAIL_ADDRESS Se estiver a usar a conta de serviço predefinida do Compute Engine como conta de serviço do Cloud Build, use o seguinte formato para o endereço de email da conta de serviço:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Substitua PROJECT_NUMBER pelo seu Google Cloud
número do projeto.
Para ver instruções detalhadas sobre como encontrar o ID e o número do projeto, consulte o artigo Criar e gerir projetos.
A atribuição da função de criador do Cloud Run demora alguns minutos a propagar-se.
Escreva a função de exemplo
Para escrever uma candidatura, siga estes passos: