Saltar al contenido principal

Google Cloud Storage

1. Visión General​

El componente Google Cloud Storage (google-storage) permite subir, descargar, listar y eliminar archivos en un bucket de Google Cloud Storage.

Úsalo cuando el flujo necesita almacenar o recuperar archivos en la nube. Solo funciona como acción de salida.

2. Prerrequisitos​

  • Una cuenta de servicio (service account) de Google Cloud con permiso de acceso al bucket deseado.
  • El JSON de esa cuenta de servicio, convertido a Base64.
  • El nombre del bucket a usar.

3. Autenticación y Conexión​

CampoObligatorioTipoDescripciónEjemplo
serviceAccountBase64SíTextoJSON de la cuenta de servicio de Google Cloud, codificado en Base64.El contenido del archivo de credenciales, en Base64
bucketNameSíTextoNombre del bucket en Google Cloud Storage."mi-bucket-lowflow"

4. Configuración / Operaciones Soportadas​

CampoObligatorioTipoDescripciónEjemplo
operationSíTexto: UPLOAD_FILE, DOWNLOAD_FILE, LIST_BUCKET, DELETE_FILEOperación a ejecutar."UPLOAD_FILE"

UPLOAD_FILE — subir un archivo​

CampoObligatorioTipoDescripciónEjemplo
fileSíTextoNombre de la propiedad del mensaje donde está el archivo a subir."comprobante"
storageObjectNameSíTextoNombre del archivo en el bucket de destino."comprobantes/2026/comprobante-981.pdf"
generateDownloadUrlNoTexto ("true"/"false")Si es true, genera una URL firmada de descarga. Valor por defecto: "false"."true"
urlExpirationHoursNoNúmeroValidez de la URL firmada, en horas. Valor por defecto: 24.48

DOWNLOAD_FILE — descargar un archivo​

CampoObligatorioTipoDescripciónEjemplo
storageObjectNameSíTextoNombre del archivo en el bucket a descargar."comprobantes/2026/comprobante-981.pdf"

LIST_BUCKET — listar archivos​

CampoObligatorioTipoDescripciónEjemplo
folderPrefixNoTextoPrefijo/carpeta usado para filtrar el listado."comprobantes/2026/"

DELETE_FILE — eliminar un archivo​

CampoObligatorioTipoDescripciónEjemplo
storageObjectNameSíTextoNombre del archivo en el bucket a eliminar."comprobantes/2026/comprobante-981.pdf"

5. Ejemplos Prácticos​

Ejemplo simple: subir un comprobante al bucket, generando una URL de descarga válida por 48 horas.

Entrada:

{
"comprobante": "<archivo, provisto por un paso anterior>"
}

Configuración del componente:

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

Respuesta:

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

Ejemplo avanzado: listar todos los archivos de una carpeta específica del bucket.

Configuración del componente:

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

Respuesta:

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

6. Errores Comunes y Troubleshooting​

Error / SíntomaCausa probableCómo resolverlo
"A operation is required but has not been configured."El campo operation no fue completado.Completar operation con uno de los valores soportados.
"A service account is required but has not been configured."El campo serviceAccountBase64 no fue completado.Completar serviceAccountBase64 con la credencial de la cuenta de servicio.
"A bucket name is required but has not been configured."El campo bucketName no fue completado.Completar bucketName con el nombre del bucket.
"A file is required but has not been configured."Se usó la operación UPLOAD_FILE sin el campo file.Completar file con el nombre de la propiedad que contiene el archivo.
"A object name is required but has not been configured."El campo storageObjectName no fue completado.Completar storageObjectName con la ruta/nombre del objeto en el bucket.
"File [nombre] not found inside the execution context."El archivo referenciado en file no está disponible en el mensaje con ese nombre.Confirmar que un paso anterior puso el archivo a disposición con ese nombre exacto.