Skip to main content

Instructions for automating your file upload in a Linux environment

Learn how to set up your SIS integration by following the steps below.

Shannon Desmond avatar
Written by Shannon Desmond
Updated over a week ago

This guide explains how to upload your Student Information System (SIS) file (a CSV) to uConnect’s secure Amazon S3 bucket — and how to optionally automate uploads on a schedule.

You can upload manually using the AWS Command Line Interface (CLI) or FileZilla Pro, or automate it with a cron job (Linux/macOS) or Task Scheduler (Windows).

Tip: Anything shown in ALL_CAPS (like YOUR_BUCKET_NAME) is a placeholder — replace it with your real value.


Prerequisites

Before uploading, confirm you have:

  • Bucket name: YOUR_BUCKET_NAME (provided by uConnect)

  • AWS Access Key ID and AWS Secret Access Key (provided securely by uConnect)

  • Region: use us-east-1 unless told otherwise

  • Your file: a CSV named student_feed.csv that meets RFC 4180 standards:

    • Comma-separated values

    • One row per line

    • Fields containing commas enclosed in double quotes

Example:

student_id,first_name,last_name,email,major 12345,Alex,Morgan,alex.morgan@example.edu,Biology 67890,"Taylor, Jr.",Lee,taylor.lee@example.edu,Chemistry

Option A — Windows PowerShell (AWS CLI)

Step 1: Install the AWS CLI

  1. Open PowerShell.

  2. Check if the AWS CLI is installed:

    aws --version

Step 2: Configure your credentials

aws configure

Enter:

  • AWS Access Key ID: YOUR_ACCESS_KEY_ID

  • AWS Secret Access Key: YOUR_SECRET_ACCESS_KEY

  • Default region name: us-east-1

  • Default output format: press Enter to skip

Step 3: Upload your file

aws s3 cp "C:\Data\student_feed.csv" "s3://YOUR_BUCKET_NAME/student_feed.csv" --region us-east-1

Success looks like:
PowerShell prints a line beginning with upload: and ends with your S3 path.
Check the exit code:

$LASTEXITCODE # 0 means success

Step 4: Verify your upload

aws s3 ls "s3://YOUR_BUCKET_NAME/" --region us-east-1

Step 5 (Optional): Automate weekly uploads

You can automate uploads with Task Scheduler.
Set up a weekly task running the same command as above.
Confirm a 0x0 result after it runs (indicating success).


Option B — Linux or macOS Terminal (AWS CLI)

Step 1: Install the AWS CLI

  • Using pip (if Python is installed):

    pip install --upgrade --user awscli
  • Using bundled installer:

    curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" unzip awscli-bundle.zip sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws aws --version
  • macOS via Homebrew:

    brew install awscli aws --version

Step 2: Configure your credentials

aws configure # AWS Access Key ID:      YOUR_ACCESS_KEY_ID # AWS Secret Access Key:  YOUR_SECRET_ACCESS_KEY # Default region name:    us-east-1 # Default output format:  (press Enter to skip)

Step 3: Upload your file

aws s3 cp /path/to/student_feed.csv s3://YOUR_BUCKET_NAME/student_feed.csv --region us-east-1

Check for a successful transfer:

echo $? # 0 means success

Step 4: Verify your upload

aws s3 ls s3://YOUR_BUCKET_NAME/ --region us-east-1

Automating uploads (Linux/macOS)

After confirming a successful manual upload, automate future uploads using cron.

  1. Open your crontab:

    crontab -e
  2. Add a schedule line. Example: upload every Saturday at 8:05 AM:

    5 8 * * Sat aws s3 cp /path/to/student_feed.csv s3://YOUR_BUCKET_NAME/student_feed.csv --region us-east-1 >> "$HOME/uconnect_upload.log" 2>&1

    This saves a log of each run at ~/uconnect_upload.log.

Cron format reference:

+---------------- minute (0 - 59) |  +------------- hour (0 - 23) |  |  +---------- day of month (1 - 31) |  |  |  +------- month (1 - 12) |  |  |  |  +---- day of week (0 - 6) (Sunday=0 or 7) |  |  |  |  | *  *  *  *  *  command to be executed

You’re now fully automated! If you’d like, upload a test file and ask your uConnect contact to verify receipt.


Option C — FileZilla Pro (Point-and-Click)

Step 1: Install

Download and install FileZilla Pro (S3 support is only in the Pro version).

Step 2: Connect to your S3 bucket

  1. Open File → Site Manager… → New Site.

  2. Protocol: Amazon S3

  3. Enter your credentials:

    • Access Key ID: YOUR_ACCESS_KEY_ID

    • Secret Access Key: YOUR_SECRET_ACCESS_KEY

    • Region: us-east-1

  4. Click Connect and approve any prompts.

Step 3: Upload

  1. Open your S3 bucket in the right pane.

  2. Locate your local student_feed.csv on the left.

  3. Drag it from left to right.

  4. If asked, choose Overwrite.

Step 4: Verify

Press F5 to refresh and confirm the file appears in your bucket with a current timestamp.


Troubleshooting

Symptom

Likely cause

Fix

aws: command not found

AWS CLI not installed or not on PATH

Reinstall AWS CLI v2 and restart terminal

InvalidAccessKeyId / SignatureDoesNotMatch

Typo in keys or wrong region

Re-run aws configure and confirm values

AccessDenied

Key lacks bucket permission

Confirm with uConnect

NoSuchBucket

Bucket name mistyped

Double-check exact name with uConnect

File uploads but doesn’t appear in platform

File not named student_feed.csv or CSV invalid

Rename and re-upload; check RFC 4180 format


Security Notes

  • Keep your AWS keys private — never email or share them.

  • Rotate credentials if staff changes.

  • Always use the same filename (student_feed.csv) for consistency.


Need Help?

If you’re missing credentials, bucket details, or encounter errors:

  • Contact your uConnect admin contact, or

  • Submit a support request at support.gouconnect.com including:

    • The command you ran or a screenshot,

    • The time of the attempt, and

    • Any error text.


Quick Reference Cheat Sheet

Windows (PowerShell):

aws configure aws s3 cp "C:\Data\student_feed.csv" "s3://YOUR_BUCKET_NAME/student_feed.csv" --region us-east-1 aws s3 ls "s3://YOUR_BUCKET_NAME/" --region us-east-1

Linux/macOS (Terminal):

aws configure aws s3 cp /path/to/student_feed.csv s3://YOUR_BUCKET_NAME/student_feed.csv --region us-east-1 aws s3 ls s3://YOUR_BUCKET_NAME/ --region us-east-1

Automate with cron (Linux/macOS):

5 8 * * Sat aws s3 cp /path/to/student_feed.csv s3://YOUR_BUCKET_NAME/student_feed.csv --region us-east-1

FileZilla Pro:

  • Site Manager → Amazon S3 → enter keys → Connect → drag student_feed.csv into YOUR_BUCKET_NAME.


Now, you're all set! If you have any questions, please submit a support request.

Did this answer your question?