SuperAPI AI Directory

byted-tos-file-process

Deployment & operations

View repository

Updated 10-16 03:42

About this skill

Volcengine TOS File Process

Compress and uncompress file objects stored in Volcengine TOS through the TOS gateway's file_jobs API.

Setup (once per environment)

Install dependencies on first use:

cd {baseDir}
pip install -r {baseDir}/requirements.txt

Then run scripts with Python 3.7+:

python3 {baseDir}/scripts/<script>.py <args>

Environment Variables

This skill relies on the TOS identity declared in the metadata block. Common runtime variables are:

Environment Variable Required Description
TOS_ACCESS_KEY Yes TOS access key ID
TOS_SECRET_KEY Yes TOS secret access key
TOS_ENDPOINT Yes TOS endpoint URL
TOS_REGION Yes TOS region
TOS_BUCKET Yes Source bucket that stores the file objects
TOS_OBJECT_KEY No Source object key. Can be overridden with --key or --keys
TOS_SECURITY_TOKEN No STS session token when using temporary credentials

Quick start

# Compress multiple TOS objects into a zip archive and wait for completion
python3 {baseDir}/scripts/file_compress.py \
  --keys file1.jpg,file2.txt \
  --format zip \
  --output-key output/archive.zip \
  --wait

# Uncompress a zip archive and wait for completion
python3 {baseDir}/scripts/file_uncompress.py \
  --key output/archive.zip \
  --prefix output/unzipped/ \
  --wait

Available scripts

Script Purpose
scripts/file_compress.py Submit an async FileCompress job via the TOS gateway's file_jobs API that compresses TOS objects into an archive (zip/tar/zst). Supports --wait to poll until completion.
scripts/file_uncompress.py Submit an async FileUncompress job via the TOS gateway's file_jobs API that extracts an archive in TOS. Supports --wait to poll until completion.
scripts/tos_jobs_client.py Shared client for TOS gateway file_jobs APIs using pre-signed URL auth.

Rules

  • TOS gateway API: This skill uses the TOS gateway's file_jobs API with job_type=FileCompress or job_type=FileUncompress. Authentication is handled via pre_signed_url from the TOS Python SDK and the TOS identity declared in the metadata block above.
  • Supported archive formats: Compress supports zip, tar, and zst. The output object key suffix must match the chosen format (.zip, .tar, .zst).
  • Async job model: The scripts create async jobs and optionally wait for completion with the --wait flag.
  • Language: Reply in the user's preferred language.

Further reading