OSS supports batch operations across eight categories: upload, download, copy, delete, storage class change, access control list (ACL) change, restore, and metadata modification. Each category offers multiple tools suited to different scale, automation, and workflow requirements.
The table below maps each operation type to the available tools.
| Operation | ossutil | ossbrowser | OSS console | OSS SDK / API | Automated rules |
|---|---|---|---|---|---|
| Upload | -r flag on cp | Multi-select | Multi-select | — | ZIP package decompression (Function Compute) |
| Download | -r flag on cp | Multi-select | Multi-select | — | Package download (Function Compute) |
| Copy | -r flag on cp | Multi-select | — | — | Cross-region replication (CRR) |
| Delete | -r flag on rm | Multi-select | Multi-select | DeleteMultipleObjects | Lifecycle rules |
| Change storage class | -r flag on set-meta | — | — | — | Lifecycle rules |
| Change ACLs | -r flag on set-acl or set-meta | — | — | — | — |
| Restore | -r flag on restore | Multi-select | — | — | — |
| Modify metadata | -r flag on set-meta | — | Modify HTTP headers | — | — |
Upload multiple objects
ossimport is the recommended tool for large-scale data migration. It migrates data to OSS from local servers, other OSS buckets, Amazon Simple Storage Service (Amazon S3), Azure Blob, and Tencent Cloud Object Storage (COS). For more information, see Overview.
ossutil uploads an entire directory recursively using the -r (--recursive) flag on the cp command. For more information, see Upload objects.
ossbrowser lets you select and upload multiple objects from a GUI. For more information, see Use ossbrowser.
OSS console supports uploading multiple objects in a single operation. For more information, see Simple upload.
ZIP package decompression uses Function Compute (FC) to automate bulk uploads: configure decompression rules, compress multiple local files into a ZIP package, and then upload the ZIP package to OSS. Function Compute is triggered to decompress the ZIP package and upload the decompressed files to OSS. For more information, see ZIP package decompression.
Download multiple objects
To filter objects by attributes such as last modified time before downloading, generate a filtered list using bucket inventory and then download only the matching objects.
ossutil downloads all objects in a directory using the -r (--recursive) flag on the cp command. For more information, see Download objects.
ossbrowser lets you select multiple objects or directories and download them in a single operation. For more information, see Use ossbrowser.
OSS console supports downloading multiple objects at once. For more information, see Simple download.
Package download uses Function Compute with OSS to package selected objects into an archive and download it as a single file. For more information, see Use Function Compute to download multiple objects as a package.
Copy multiple objects
Cross-region replication (CRR) replicates objects matching a specified prefix across regions. Configure whether to include historical data and whether to propagate deletions. For more information, see CRR within the same account.
ossutil copies a directory recursively using the -r (--recursive) flag on the cp command. The destination can be another directory in the same bucket or a different bucket within the same account. For more information, see Copy objects.
ossbrowser lets you select multiple directories or objects and copy them to another directory in the same bucket or to another bucket within the same account. For more information, see Use ossbrowser.
Delete multiple objects
Deleted objects cannot be recovered. Verify the target objects before proceeding.
OSS SDK supports deleting multiple objects in a single API call. SDK examples are available for:
For other languages, see Overview.
OSS API — call the DeleteMultipleObjects operation to delete multiple objects in one request. For more information, see DeleteMultipleObjects.
ossutil deletes all objects matching a specified prefix using the -r (--recursive) flag on the rm command. For more information, see rm.
ossbrowser lets you select multiple objects or directories and delete them in a single operation. For more information, see Use ossbrowser.
OSS console supports two deletion modes:
Delete multiple objects. Deleting a directory removes all objects it contains. For more information, see Delete objects.
Delete multiple parts from incomplete multipart uploads. For more information, see Delete parts.
Lifecycle rules automatically delete multiple objects at a time. For more information, see Lifecycle rules based on the last modified time.
Change the storage class of multiple objects
ossutil changes the storage class of all objects in a directory using the -r (--recursive) flag on the set-meta command. For more information, see set-meta (manage object metadata).
Lifecycle rules automatically change the storage classes of multiple objects at a time. For more information, see Lifecycle rules based on the last modified time.
Change the ACLs of multiple objects
ossutil provides two ways to change ACLs in bulk, both using the -r (--recursive) flag:
set-aclcommand — directly sets the ACL on matching objects. For more information, see set-acl.set-metacommand — modifies object metadata, including ACL settings. For more information, see set-meta (manage object metadata).
Restore multiple objects
The restore operation applies to Archive and Cold Archive objects, transitioning them from the frozen state to the readable (restored) state.
ossutil restores all objects in a directory using the -r (--recursive) flag on the restore command. For more information, see restore.
ossbrowser lets you select multiple Archive or Cold Archive objects and restore them in a single operation.and Cold Archive
Modify the metadata of multiple objects
ossutil modifies object metadata in bulk using the -r (--recursive) flag on the set-meta command. The same command can also update storage classes and ACLs in the same operation. For more information, see set-meta (manage object metadata).
OSS console lets you update object metadata by modifying HTTP headers for multiple objects at once. For more information, see Manage object metadata.