Faça a gestão de APIs e bibliotecas do Google Cloud no Cloud Code para IntelliJ

Pode aceder a Google Cloud produtos e serviços a partir do seu código através das APIs Cloud. Estas APIs Google Cloud expõem uma interface REST JSON simples que pode chamar através de bibliotecas de clientes.

Este documento descreve como procurar APIs disponíveis, ativar APIs Cloud e adicionar bibliotecas cliente do Google Cloud ao seu projeto, bem como configurar a autenticação consoante as suas necessidades de desenvolvimento.

Explorar APIs Cloud

Para explorar todas as APIs Google Cloud disponíveis no seu IDE, siga estes passos:

  1. Selecione Ferramentas > Código na nuvem > Adicionar bibliotecas na nuvem e gerir APIs Google Cloud.
  2. Expanda a árvore do Explorador de APIs Google Cloud para ver todas as APIs disponíveis. O explorador agrupa as APIs Cloud por categoria. Também pode procurar uma API específica através da barra de pesquisa de APIs.
  3. Captura de ecrã que mostra a lista de APIs Cloud apresentadas no explorador de visualização em árvore.
  4. Clique numa API para ver mais detalhes, como o respetivo estado, instruções de instalação específicas do idioma para as bibliotecas de clientes correspondentes e documentação relevante.

Ativar APIs Cloud

Para ativar rapidamente as APIs Cloud para um projeto através dos detalhes da API, siga estes passos:

  1. Na vista de detalhes da API Cloud, escolha um projeto do Google Cloud para o qual quer ativar a API Cloud.
  2. Clique no botão Ativar API.

    Quando a API estiver ativada, é apresentada uma mensagem a confirmar esta alteração.

Adicionar as bibliotecas de cliente da Google Cloud

Para adicionar bibliotecas ao seu projeto no IntelliJ, siga estes passos:

Para projetos Java Maven

  1. Selecione Ferramentas > Cloud Code > APIs Cloud.
  2. A caixa de diálogo Gerir APIs Google Cloud apresenta as bibliotecas suportadas.

    Captura de ecrã que mostra a caixa de diálogo Gerir APIs Cloud. Esta caixa de diálogo
          apresenta um menu pendente para selecionar um módulo ao qual adicionar as bibliotecas,
          apresenta a lista de APIs disponíveis para adicionar e disponibiliza uma área de trabalho
          que apresenta informações sobre a API.
  3. Selecione o tipo de biblioteca preferido entre a biblioteca de cliente do Google Cloud (recomendada) ou a biblioteca Java Spring Google Cloud.
  4. No menu pendente Módulo, selecione o módulo ao qual quer adicionar a biblioteca.
  5. Clique em Adicionar dependência do Maven para adicionar a BOM e a biblioteca de cliente ao seu projeto.

Para todos os outros projetos

  1. Selecione Ferramentas > Código na nuvem > Adicionar bibliotecas na nuvem e gerir APIs Google Cloud.
  2. A caixa de diálogo Adicionar bibliotecas do Google Cloud apresenta as bibliotecas suportadas.

    Captura de ecrã que mostra a caixa de diálogo Adicionar bibliotecas na nuvem. Esta
                      caixa de diálogo apresenta a lista de APIs disponíveis para adicionar e
                      oferece uma área de trabalho que apresenta informações sobre a
                      API.
  3. Instale a API através das instruções de instalação apresentadas na página de detalhes da API para o seu idioma preferido.

Configurar autenticação

Depois de ativar as APIs necessárias e adicionar as bibliotecas de cliente necessárias, tem de configurar a aplicação para que a autenticação seja feita com êxito. A configuração depende do tipo de desenvolvimento e da plataforma em que está a ser executado.

Depois de concluir os passos de autenticação relevantes, a sua aplicação pode autenticar-se e está pronta para ser implementada.

Desenvolvimento local

minikube

  1. Certifique-se de que tem as Credenciais padrão da aplicação (ADC) definidas executando o comando gcloud auth application-default login. Isto permite que o minikube encontre o seu ADC para fazer a autenticação.

minikube

  1. Certifique-se de que tem as Credenciais padrão da aplicação (ADC) definidas executando o comando gcloud auth application-default login. Isto permite que o minikube encontre o seu ADC para fazer a autenticação.
  2. Inicie o minikube com minikube start --addons gcp-auth. Isto monta o seu ADC nos pods. Para um guia de autorização detalhado do minikube para o Google Cloud, consulte os documentos de autenticação da GCP do minikube.

Cluster do Kubernetes local

  1. Certifique-se de que tem as Credenciais padrão da aplicação (ADC) definidas executando o comando gcloud auth application-default login.
  2. Monte o diretório gcloud local nos seus pods do Kubernetes editando os manifestos de implementação, para que as bibliotecas cliente do Google Cloud possam encontrar as suas credenciais. Exemplo de configuração de pod do Kubernetes:
    apiVersion: v1
    kind: Pod
    metadata:
      name: my-app
      labels:
        name: my-app
    spec:
      containers:
      - name: my-app
        image: gcr.io/google-containers/busybox
        ports:
          - containerPort: 8080
        volumeMounts:
          - mountPath: /root/.config/gcloud
            name: gcloud-volume
      volumes:
        - name: gcloud-volume
          hostPath:
            path: /path/to/home/.config/gcloud

Cloud Run

  1. Certifique-se de que tem as Credenciais padrão da aplicação (ADC) definidas executando o comando gcloud auth application-default login. Isto permite que o ambiente simulado local do Cloud Run encontre o ADC para autenticar.

Desenvolvimento remoto

Google Kubernetes Engine

  1. Configure o cluster do GKE e a aplicação com o Workload Identity para autenticar os serviços Google Cloud no GKE. Isto associa a sua conta de serviço do Kubernetes à sua conta de serviço Google.
  2. Se o serviço Google Cloud ao qual está a tentar aceder exigir funções adicionais, conceda-as à conta de serviço Google que está a usar para desenvolver a sua app.
    Para ver uma lista de tipos de funções do IAM e funções predefinidas que pode conceder a identidades, consulte o guia Compreender as funções. Para ver os passos para conceder as funções, consulte o artigo Conceder, alterar e revogar o acesso a recursos.
  3. Configure a sua implementação do Kubernetes para referenciar a conta de serviço do Kubernetes definindo o campo .spec.serviceAccountName no ficheiro YAML de implementação do Kubernetes.
    Se estiver a trabalhar numa app criada a partir de um modelo do Cloud Code, este ficheiro encontra-se na pasta kubernetes-manifests.

Cloud Run

  1. Para criar uma nova conta de serviço exclusiva para implementar a sua aplicação do Cloud Run, na página Contas de serviço, selecione o projeto no qual o seu segredo está armazenado.

    Aceda à página Contas de serviço

  2. Clique em Criar conta de serviço.
  3. Na caixa de diálogo Criar conta de serviço, introduza um nome descritivo para a conta de serviço.
  4. Altere o ID da conta de serviço para um valor único e reconhecível e, de seguida, clique em Criar.
  5. Se o serviço Google Cloud ao qual está a tentar aceder exigir funções adicionais, conceda-as, clique em Continuar e, de seguida, em Concluído.
  6. Para adicionar a sua conta de serviço à configuração de implementação: Navegue até à configuração de execução do Cloud Run: Deploy. Expanda a secção Definições avançadas de revisão e, de seguida, especifique a sua conta de serviço no campo Conta de serviço.
    Secção de definições avançadas de revisão expandida no Cloud Run: campo de implementação e conta de serviço preenchido com o nome da conta de serviço no formato service-account-name@project-name.iam.gserviceaccount.com

Cloud Run

  1. Configure o cluster do GKE e a aplicação com o Workload Identity para autenticar os serviços Google Cloud no GKE. Isto associa a sua conta de serviço do Kubernetes à sua conta de serviço Google.
  2. Se o serviço Google Cloud ao qual está a tentar aceder exigir funções adicionais, conceda-as à conta de serviço Google que está a usar para desenvolver a sua app.
    O guia Compreender as funções descreve os tipos de funções do IAM e apresenta uma lista das funções predefinidas disponíveis que pode conceder a identidades.
  3. Para adicionar a sua conta de serviço do Kubernetes à configuração de implementação: Navegue para a configuração de execução do Cloud Run: Deploy. Expanda a secção Definições avançadas de revisão e, de seguida, especifique a sua conta de serviço do Kubernetes no campo Conta de serviço.
    Secção de definições avançadas da revisão expandida no Cloud Run: campo de implementação e conta de serviço preenchido com o nome da conta de serviço do Kubernetes

Programação remota com o Secret Manager ativado

Se estiver a desenvolver remotamente, a usar uma conta de serviço para autenticação e a sua aplicação usar segredos, tem de concluir mais alguns passos para atribuir à sua conta de serviço Google a função necessária para aceder a um segredo específico do Secret Manager:

  1. Abra o painel Secret Manager e selecione o segredo ao qual quer aceder no seu código.

    O Secret Manager no Cloud Code está realçado na barra lateral direita e o painel do Secret Manager está aberto com três segredos listados e os detalhes da versão do segredo "test" listados no painel inferior

  2. Mude para o separador Autorizações e, de seguida, configure as autorizações do seu segredo clicando em editar Editar autorização. A página de configuração do Secret Manager para o segredo é aberta no navegador de Internet.

    Separador Autorizações selecionado no Secret Manager e ícone Editar autorizações realçado

  3. Na Google Cloud consola, clique em Mostrar painel de informações e, de seguida, em Adicionar principal.

  4. Atribua à sua conta de serviço a função Secret Manager Secret Accessor.

    A sua conta de serviço tem autorização para aceder a este segredo.

Obter apoio técnico

Para enviar feedback ou comunicar um problema no seu IDE IntelliJ, aceda a Tools > Cloud Code > Help / About > Submit feedback or report an issue para comunicar um problema no GitHub.