Google Cloud Storage Enhanced icon

Google Cloud Storage Enhanced

Use the Google Cloud Storage API

Overview

The Google Cloud Storage Enhanced node allows you to interact with Google Cloud Storage, specifically for managing objects (files) within storage buckets.
For the Object → Create operation, this node enables you to upload a new file to a specified bucket. You can provide the file content either from an input binary field or as plain text, and you have fine-grained control over metadata, access controls, encryption, and other object properties.

Common scenarios:

  • Automating file uploads to Google Cloud Storage as part of a workflow.
  • Storing generated reports, images, or backups in the cloud.
  • Setting custom metadata, access permissions, or encryption on uploaded files.

Practical examples:

  • Uploading user-submitted files from a web form to a GCS bucket.
  • Saving processed data exports from n8n workflows directly into cloud storage.
  • Automatically archiving logs or documents with specific retention policies.

Properties

Name Type Meaning
Authentication options Selects the authentication method: Service Account or OAuth2.
Bucket Name string The name of the target Google Cloud Storage bucket where the object will be created.
Object Name string The desired name (key) for the new object (file) in the bucket.
Projection options Determines which set of properties to return in the response: "All Properties" or "No ACL".
Use Input Binary Field boolean Whether to use a binary input field for the file content. If false, plain text content is used instead.
Input Binary Field string The name of the input binary property containing the file to upload (used if "Use Input Binary Field" is true).
File Content string The plain text content to upload as the file (used if "Use Input Binary Field" is false).
Create Fields collection Additional object properties such as ACL, cache control, content type, metadata, storage class, etc.
Additional Parameters collection Extra query parameters for the upload, including generation match, KMS key, predefined ACL, etc.
Encryption Headers collection Optional headers for customer-supplied encryption keys (algorithm, key, key hash).

Output

  • The output is a JSON object representing the newly created object in Google Cloud Storage.
  • Typical fields include:
    • kind: Resource type identifier.
    • id: Unique object ID.
    • selfLink: API URL for the object.
    • name: Object name.
    • bucket: Bucket name.
    • generation, metageneration: Versioning information.
    • contentType, size, md5Hash, crc32c: File metadata.
    • mediaLink: Direct download link.
    • metadata: Custom metadata (if provided).
    • acl: Access control list (if requested).
    • Other fields depending on selected projection and provided properties.

Note:

  • If the upload fails, and "Continue On Fail" is enabled, the output will contain an error field with the error message.

Dependencies

  • Google Cloud Storage API: Requires access to a Google Cloud project with the Storage API enabled.
  • Authentication: Needs either a Service Account credential or OAuth2 setup in n8n.
  • n8n Credentials:
    • googleApi (for Service Account)
    • googleCloudStorageOAuth2Api (for OAuth2)
  • Environment: No special environment variables required beyond n8n's credential management.

Troubleshooting

Common issues:

  • Invalid credentials: Ensure that the correct authentication method and credentials are configured in n8n.
  • Insufficient permissions: The service account or OAuth2 user must have permission to write to the specified bucket.
  • Bucket/Object not found: Double-check the bucket and object names for typos.
  • File size limits: Very large files may require different upload strategies (not supported by this node).
  • Incorrect binary property name: If using binary upload, ensure the property name matches the incoming binary data.

Error messages:

  • "Required parameter: bucketName/objectName": Make sure both are provided.
  • "Could not find binary data": Check the binary property name and upstream nodes.
  • "Permission denied": Verify IAM roles and permissions for the credentials used.
  • "Invalid encryption key": If using encryption headers, ensure the key and hash are correctly base64-encoded.

Links and References

Discussion