Pular para o conteúdo principal

Google Cloud Storage

1. Visão Geral

O componente Google Cloud Storage (google-storage) permite enviar, baixar, listar e remover arquivos em um bucket do Google Cloud Storage.

Use quando o fluxo precisa armazenar ou recuperar arquivos em nuvem. Só funciona como ação de saída.

2. Pré-requisitos

  • Uma conta de serviço (service account) do Google Cloud com permissão de acesso ao bucket desejado.
  • O JSON dessa conta de serviço, convertido para Base64.
  • O nome do bucket a ser usado.

3. Autenticação e Conexão

CampoObrigatórioTipoDescriçãoExemplo
serviceAccountBase64SimTextoJSON da conta de serviço do Google Cloud, codificado em Base64.O conteúdo do arquivo de credenciais, em Base64
bucketNameSimTextoNome do bucket no Google Cloud Storage."meu-bucket-lowflow"

4. Configuração / Operações Suportadas

CampoObrigatórioTipoDescriçãoExemplo
operationSimTexto: UPLOAD_FILE, DOWNLOAD_FILE, LIST_BUCKET, DELETE_FILEOperação a ser executada."UPLOAD_FILE"

UPLOAD_FILE — enviar um arquivo

CampoObrigatórioTipoDescriçãoExemplo
fileSimTextoNome da propriedade da mensagem onde está o arquivo a enviar."comprovante"
storageObjectNameSimTextoNome do arquivo no bucket de destino."comprovantes/2026/comprovante-981.pdf"
generateDownloadUrlNãoTexto ("true"/"false")Se true, gera uma URL assinada de download. Valor padrão: "false"."true"
urlExpirationHoursNãoNúmeroValidade da URL assinada, em horas. Valor padrão: 24.48

DOWNLOAD_FILE — baixar um arquivo

CampoObrigatórioTipoDescriçãoExemplo
storageObjectNameSimTextoNome do arquivo no bucket a baixar."comprovantes/2026/comprovante-981.pdf"

LIST_BUCKET — listar arquivos

CampoObrigatórioTipoDescriçãoExemplo
folderPrefixNãoTextoPrefixo/pasta usado para filtrar a listagem."comprovantes/2026/"

DELETE_FILE — remover um arquivo

CampoObrigatórioTipoDescriçãoExemplo
storageObjectNameSimTextoNome do arquivo no bucket a remover."comprovantes/2026/comprovante-981.pdf"

5. Exemplos Práticos

Exemplo simples: enviar um comprovante para o bucket, gerando uma URL de download válida por 48 horas.

Entrada:

{
"comprovante": "<arquivo, disponibilizado por um passo anterior>"
}

Configuração do componente:

{
"componentName": "google-storage",
"configurations": {
"operation": "UPLOAD_FILE",
"serviceAccountBase64": "{$.secrets.gcpServiceAccountBase64}",
"bucketName": "meu-bucket-lowflow",
"file": "comprovante",
"storageObjectName": "comprovantes/2026/comprovante-981.pdf",
"generateDownloadUrl": "true",
"urlExpirationHours": "48"
}
}

Resposta:

{
"uploaded": true,
"bucketName": "meu-bucket-lowflow",
"objectName": "comprovantes/2026/comprovante-981.pdf",
"downloadUrl": "https://storage.googleapis.com/...",
"urlExpirationHours": 48,
"urlExpiresAt": "2026-07-22T20:00:00Z"
}

Exemplo avançado: listar todos os arquivos de uma pasta específica do bucket.

Configuração do componente:

{
"componentName": "google-storage",
"configurations": {
"operation": "LIST_BUCKET",
"serviceAccountBase64": "{$.secrets.gcpServiceAccountBase64}",
"bucketName": "meu-bucket-lowflow",
"folderPrefix": "comprovantes/2026/"
}
}

Resposta:

{
"files": [
{ "file": "comprovantes/2026/comprovante-981.pdf", "size": 45820, "contentType": "application/pdf" },
{ "file": "comprovantes/2026/comprovante-982.pdf", "size": 38210, "contentType": "application/pdf" }
]
}

6. Erros Comuns e Troubleshooting

Erro / SintomaCausa provávelComo resolver
"A operation is required but has not been configured."O campo operation não foi preenchido.Preencher operation com um dos valores suportados.
"A service account is required but has not been configured."O campo serviceAccountBase64 não foi preenchido.Preencher serviceAccountBase64 com a credencial da conta de serviço.
"A bucket name is required but has not been configured."O campo bucketName não foi preenchido.Preencher bucketName com o nome do bucket.
"A file is required but has not been configured."A operação UPLOAD_FILE foi usada sem o campo file.Preencher file com o nome da propriedade que contém o arquivo.
"A object name is required but has not been configured."O campo storageObjectName não foi preenchido.Preencher storageObjectName com o caminho/nome do objeto no bucket.
"File [nome] not found inside the execution context."O arquivo referenciado em file não está disponível na mensagem com esse nome.Confirmar que um passo anterior disponibilizou o arquivo com esse nome exato.