Skip to main content

Connect

Establishes a connection to Amazon S3 or S3-compatible storage services by creating an authenticated client session.

Common Properties

  • Name - The custom name of the node.
  • Color - The custom color of the node.
  • Delay Before (sec) - Waits in seconds before executing the node.
  • Delay After (sec) - Waits in seconds after executing node.
  • Continue On Error - Automation will continue regardless of any error. The default value is false.
info

If the ContinueOnError property is true, no error is caught when the project is executed, even if a Catch node is used.

Inputs

  • End Point - The S3 endpoint URL. For AWS S3, use the regional endpoint (e.g., s3.amazonaws.com, s3.us-west-2.amazonaws.com). For S3-compatible services like MinIO, use the custom endpoint (e.g., minio.example.com:9000).

Options

  • Access Key Id - The AWS Access Key ID credential used to authenticate with S3. This should be stored as a credential in Robomotion for security.
  • Secret Key Access - The AWS Secret Access Key credential corresponding to the Access Key ID.

Output

  • Client Id - A unique identifier for the established S3 connection that must be used in subsequent S3 operations.

How It Works

The Connect node is the first step in any Amazon S3 automation flow. It establishes an authenticated connection to S3 and returns a client ID for use in subsequent operations.

When executed, the node:

  1. Retrieves the Access Key ID and Secret Access Key from the provided credentials
  2. Validates that both credentials are provided and not empty
  3. Determines the connection security based on the endpoint (HTTPS for AWS, HTTP for local MinIO)
  4. Creates a new S3 client with the provided credentials
  5. Stores the client in a thread-safe client pool
  6. Returns a unique client ID that references the stored connection

Requirements

  • A valid AWS account with S3 access, or access to an S3-compatible storage service
  • AWS Access Key ID and Secret Access Key with appropriate S3 permissions
  • The credentials must be stored as credentials in Robomotion
  • A valid S3 endpoint URL

Error Handling

The node will return specific errors in the following cases:

  • Invalid or missing Access Key ID credential
  • Invalid or missing Secret Access Key credential
  • Empty endpoint URL
  • Invalid endpoint format
  • Failed to create S3 client due to authentication errors

Usage Notes

  • The Connect node should be executed before any other S3 operations
  • The returned Client Id must be passed to subsequent S3 nodes
  • Each Connect node creates a new client session that should be cleaned up with a Disconnect node
  • For AWS S3, use regional endpoints for better performance (e.g., s3.us-east-1.amazonaws.com)
  • For MinIO or other S3-compatible services, provide the full endpoint including port if needed
  • The client connection is stored in memory and automatically removed when the flow stops
  • Connections ending with minio:9000 automatically use insecure HTTP instead of HTTPS

Best Practices

  • Store your AWS credentials securely using Robomotion's credential management system
  • Use a single Connect node at the beginning of your flow to avoid creating multiple connections
  • Always pair Connect with Disconnect nodes to properly clean up resources
  • Use IAM roles and least-privilege access principles for S3 credentials
  • For AWS S3, prefer regional endpoints over the generic s3.amazonaws.com for better performance
  • Handle errors appropriately to prevent credential leaks
  • Consider using temporary credentials (STS) for enhanced security in production environments

Example

To connect to AWS S3 in the us-east-1 region:

Inputs:

  • End Point: s3.us-east-1.amazonaws.com

Options:

  • Access Key Id: (credential containing your AWS Access Key ID)
  • Secret Key Access: (credential containing your AWS Secret Access Key)

Output:

  • Client Id: 550e8400-e29b-41d4-a716-446655440000 (example UUID)

This client ID can then be used in subsequent nodes like Upload Object, Download Object, List Buckets, etc.

S3-Compatible Storage

The Connect node also works with S3-compatible storage services like MinIO, Wasabi, DigitalOcean Spaces, and others. Simply provide the appropriate endpoint URL:

  • MinIO: minio.example.com:9000
  • Wasabi: s3.wasabisys.com
  • DigitalOcean Spaces: nyc3.digitaloceanspaces.com
  • Backblaze B2: s3.us-west-000.backblazeb2.com