Skip to content

Save To Bucket

Collects one or more node outputs and uploads them to Salt-managed cloud storage under a specified folder path. The node organizes files by their source and metadata, merges results for the same folder across runs using a unique workflow execution identifier, and returns a signed URL to a zip archive of the uploaded content.
Preview

Usage

Use this node at the end of a workflow to persist results to a cloud bucket. Connect any node outputs (text, JSON, or file-like data with metadata) to the sequential results inputs. Specify a non-empty folder_path to determine where the files are stored in the bucket. Finally, route the produced URL to an Output node to make it clickable for download.

Inputs

FieldRequiredTypeDescriptionExample
results_1TrueWILDCARDFirst result to save. Once connected, results_2 becomes available. Accepts any output type; file-like objects with salt metadata will be saved using their provided names and structure.Any connected output (e.g., a PDB object with salt metadata, or a string/JSON)
results_2 ... results_101FalseWILDCARDAdditional results to save. Each subsequent input is revealed after the previous one is connected, allowing up to 101 total results.Additional outputs from other nodes
folder_pathTrueSTRINGDestination folder path within the cloud bucket. This folder may contain results from other runs; new results are merged with a unique execution identifier to differentiate runs. Supports nested paths using Linux-style separators.biotech/projectA/experiments/run-set-1

Outputs

FieldTypeDescriptionExample
urlSTRINGSigned URL to a zip archive representing the current content saved to the specified bucket folder for this execution.https://storage.example/signed//.zip

Important Notes

  • Folder path required: folder_path must be non-empty; saving to the root is not allowed.
  • Sequential inputs: results_2 becomes available only after results_1 is connected, and so on, up to results_101.
  • Merging behavior: Files are organized by metadata and source; results for the same folder_path are merged and separated by workflow_execution_id.
  • File organization: Inputs with salt metadata (e.g., PDB, A3M) are saved using their provided file names and sub-structure; plain values are saved as text files named by their source and output index.
  • Signed URL: The returned link is a signed URL intended for download; it may be time-limited.
  • Cleanup: Temporary local data used during upload is cleaned up after completion.

Troubleshooting

  • ValueError: Please specify non empty folder path: Provide a non-empty folder_path (avoid '/' or empty string).
  • No output URL produced: Ensure at least results_1 is connected and the workflow executed successfully.
  • Unexpected file naming or folders: Provide proper salt metadata on file-like inputs to control file names and structure; otherwise files are saved using default naming based on source node and output index.
  • Signed URL expired: Re-run the node to generate a fresh URL.
  • Large uploads timing out: If very large result sets fail due to time limits, split outputs across multiple Save To Bucket nodes or reduce the data per run.
  • Permissions/user issues: Make sure salt_user_id is valid for your workspace. Contact your administrator if uploads are blocked.

Example Pipelines

Directory structure
Directory structure
Example
Example
Merged table
Merged table