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
| Campo | Obrigatório | Tipo | Descrição | Exemplo |
|---|---|---|---|---|
serviceAccountBase64 | Sim | Texto | JSON da conta de serviço do Google Cloud, codificado em Base64. | O conteúdo do arquivo de credenciais, em Base64 |
bucketName | Sim | Texto | Nome do bucket no Google Cloud Storage. | "meu-bucket-lowflow" |
4. Configuração / Operações Suportadas
| Campo | Obrigatório | Tipo | Descrição | Exemplo |
|---|---|---|---|---|
operation | Sim | Texto: UPLOAD_FILE, DOWNLOAD_FILE, LIST_BUCKET, DELETE_FILE | Operação a ser executada. | "UPLOAD_FILE" |
UPLOAD_FILE — enviar um arquivo
| Campo | Obrigatório | Tipo | Descrição | Exemplo |
|---|---|---|---|---|
file | Sim | Texto | Nome da propriedade da mensagem onde está o arquivo a enviar. | "comprovante" |
storageObjectName | Sim | Texto | Nome do arquivo no bucket de destino. | "comprovantes/2026/comprovante-981.pdf" |
generateDownloadUrl | Não | Texto ("true"/"false") | Se true, gera uma URL assinada de download. Valor padrão: "false". | "true" |
urlExpirationHours | Não | Número | Validade da URL assinada, em horas. Valor padrão: 24. | 48 |
DOWNLOAD_FILE — baixar um arquivo
| Campo | Obrigatório | Tipo | Descrição | Exemplo |
|---|---|---|---|---|
storageObjectName | Sim | Texto | Nome do arquivo no bucket a baixar. | "comprovantes/2026/comprovante-981.pdf" |
LIST_BUCKET — listar arquivos
| Campo | Obrigatório | Tipo | Descrição | Exemplo |
|---|---|---|---|---|
folderPrefix | Não | Texto | Prefixo/pasta usado para filtrar a listagem. | "comprovantes/2026/" |
DELETE_FILE — remover um arquivo
| Campo | Obrigatório | Tipo | Descrição | Exemplo |
|---|---|---|---|---|
storageObjectName | Sim | Texto | Nome 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 / Sintoma | Causa provável | Como 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. |