All Products
Search
Document Center

Object Storage Service:Overview

Last Updated:Oct 31, 2023

Before you upload data, such as documents, images, and audio or video files, to Object Storage Service (OSS), you must create a bucket in a region that is supported by OSS. OSS does not impose limits on the number of objects that you can upload to a bucket.

Background information

Buckets and objects are OSS resources. OSS supports API operations that you can use to manage these resources. For example, you can call API operations to create a bucket and upload objects to the bucket. You can also perform these operations in the OSS console. When you perform operations in the OSS console, OSS API operations are called to send requests to OSS.

OSS uses a flat structure instead of a hierarchical structure for objects. Each object belongs to a bucket. The name of a bucket is unique within OSS and cannot be changed after the bucket is created. For more information, see Terms.

Operations

The following table describes the operations that you can perform on buckets.

Operation

Description

Create buckets

Before you upload an object to OSS, you must create a bucket to store the object. You can configure various attributes for a bucket, including the region, access control list (ACL), and metadata.

When you create a bucket, we recommend that you select a region based on your business requirements, such as latency, costs, and compliance. For more information about the regions supported by OSS, see Regions and endpoints.

List buckets

You can specify different conditions to list all buckets or specific buckets in a region.

Delete buckets

You can delete a bucket that you no longer need.

Query the region of a bucket

You can call the GetBucketLocation operation to query the region of a bucket. The region indicates the data center in which the bucket is located.

Configure a resource group

You can use resource groups to manage resources. You can group your buckets based on your business requirements and configure different access permissions for different resource groups. This way, you can manage access to your buckets by group.

Pay-by-requester

If you enable pay-by-requester for a bucket, the requester is charged the request and traffic fees when the requester accesses objects in the bucket. The bucket owner is charged only the storage fees of the objects. You can enable pay-by-requester to share your data in OSS without additional fees.

Configure bucket tagging

OSS allows you to configure bucket tags to classify and manage buckets. For example, you can list buckets that have specific tags and configure ACL for buckets that have specific tags.

Bucket ACLs

You can configure the ACL of a bucket when you create the bucket or change the ACL of an existing bucket based on your business requirements. Only the owner of a bucket can configure or modify the ACL of the bucket.

Bucket Policy

You can configure policies for a bucket to grant permissions to other users to access specific OSS resources.

Versioning

OSS allows you to configure versioning for a bucket to protect objects that are stored in the bucket. After you enable versioning for a bucket, existing objects in the bucket are stored as previous versions when they are overwritten or deleted. After you enable versioning for a bucket, you can restore objects in the bucket to a previous version to protect your data from being accidentally overwritten or deleted.

Hotlink protection

You can configure hotlink protection for your OSS bucket to prevent unauthorized access to resources in the bucket.

CORS

Cross-origin resource sharing (CORS) is a standard cross-origin solution provided by HTML5 to allow web application servers to control cross-origin access. This ensures the security of data transmission across origins.

Retention policies

OSS supports the Write Once Read Many (WORM) feature. The feature helps prevent objects from being deleted or overwritten within a specified period of time. Enterprises use this feature to comply with the regulations of the U.S. Securities and Exchange Commission (SEC) and Financial Industry Regulatory Authority (FINRA).

Server-side encryption

OSS encrypts objects uploaded to a bucket for which server-side encryption is enabled and stores the encrypted objects. When you call the GetObject operation to download an object, OSS decrypts and returns the object. The x-oss-server-side-encryption header is contained in the response to indicate that the object is encrypted on the server side.

Client-side encryption

If client-side encryption is performed, objects are encrypted on the on-premises client before they are uploaded to OSS.

ZRS

Zone-redundant storage (ZRS) uses the multi-zone mechanism to distribute user data across multiple zones in the same region. If one zone becomes unavailable, you can access the data that is stored in other zones. ZRS provides 99.9999999999% (twelve 9's) data durability and 99.995% service availability.

OSS DDoS protection

OSS DDoS protection is a proxy-based attack mitigation service that integrates OSS with Anti-DDoS. When a bucket for which OSS DDoS protection is enabled suffers a DDoS attack, OSS DDoS protection diverts incoming traffic to an Anti-DDoS instance for scrubbing and then redirects normal traffic to the bucket. This ensures the continuity of your business in the event of DDoS attacks.

CRR

Cross-region replication (CRR) enables the automatic and asynchronous (near real-time) replication of objects across OSS buckets in different regions. Operations such as the creation, overwriting, and deletion of objects can be replicated from a source bucket to a destination bucket.

RTC

The Replication Time Control (RTC) feature provided by OSS can meet your compliance requirements or business requirements for CRR. After you enable the RTC feature, OSS replicates most of the objects that you upload to OSS within a few seconds and replicates 99.99% of objects within 10 minutes. In addition, the RTC feature provides near real-time monitoring of data replication. After you enable the RTC feature, you can view various metrics of replication tasks.

SRR

Same-region replication (SRR) enables the automatic and asynchronous (near real-time) replication of objects across buckets that are located in the same region. You can replicate operations such as the creation, overwriting, and deletion of objects from a source bucket to a destination bucket.

Configure scheduled Backup

You can use the scheduled backup feature provided by OSS to periodically back up objects in a bucket to Cloud Backup. If an object is lost, you can restore the object from Cloud Backup.

Lifecycle rules based on the last modified time

After you configure lifecycle rules for a bucket, OSS converts the storage class of objects in the bucket to Infrequent Access (IA), Archive, Cold Archive, or Deep Cold Archive, or deletes expired objects and parts on a regular basis to reduce storage costs.

Lifecycle rules based on the last access time

You can configure lifecycle rules for a bucket based on the last access time of the objects in the bucket. After you configure a lifecycle rule for a bucket, OSS monitors the access patterns of the objects in the bucket, identifies cold data, and converts the storage class of cold data. This way, cold data and hot data are stored by using different storage classes, and storage costs are reduced.

Bucket inventory

You can use the bucket inventory feature to export information about specific objects in a bucket, such as the number, size, storage class, and encryption state of the objects. To list a large number of objects, we recommend that you use the bucket inventory feature instead of the GetBucket (ListObjects) operation.

Static website hosting

Static websites are websites in which all web pages consist of only static content, including scripts such as JavaScript code that can be run on a client. You can use the static website hosting feature to host your static website on an OSS bucket and use the domain name of the bucket to access the website.

Mirroring-based back-to-origin

After you configure mirroring-based back-to-origin rules for a bucket, if a requested object does not exist in the bucket, OSS retrieves the object from the origin specified by the back-to-origin rules. OSS returns the object retrieved from the origin to the requester and stores the object in the bucket.

Enable transfer acceleration

OSS uses data centers that are distributed around the globe to perform transfer acceleration. When a request to access your bucket is sent, the request is parsed and routed to the data center where the bucket is located over the optimal network path and protocol. The transfer acceleration feature provides an optimized end-to-end acceleration solution to access OSS over the Internet.

Map custom domain names

After you upload objects to a bucket, OSS automatically generates URLs for the uploaded objects. You can use these URLs to access the objects. If you want to access the objects by using custom domain names, map the custom domain names to the buckets in which the objects are stored and add CNAME records for the custom domain names.

IMG

You can specify Image Processing (IMG) parameters in GetObject requests to process image objects in OSS. For example, you can add image watermarks to images or convert image formats.

Video snapshots

You can configure parameters to capture video snapshots.

ZIP package decompression

You can configure rules for a bucket to automatically decompress ZIP packages uploaded to the bucket. After you configure decompression rules for a bucket, all ZIP packages uploaded to the path specified in the rules are automatically decompressed.

Event notification

You can configure event notification rules for objects that you want to monitor in the OSS console. If the events that you specified in the rules occur on these objects, you are immediately notified.

Monitoring service

The monitoring service of OSS provides metrics to measure the running status and performance of the system. The monitoring service also provides a custom alert service to help you track requests, analyze usage, collect statistics on business trends, and discover and diagnose system problems at the earliest opportunity.

Logging

A large number of logs are generated when OSS resources are accessed. After you enable and configure logging for a bucket, OSS generates log objects every hour based on predefined naming conventions and then stores the log objects in a specific bucket. You can use Simple Log Service or build a Spark cluster to analyze the logs.

Real-time log query

After you enable real-time log query for a bucket, you can track the requests that are sent to access the bucket. This feature allows you to collect access statistics, audit access to OSS, track exceptions, and troubleshoot issues. Real-time log query can improve your efficiency and help you make informed decisions based on real-time data.

OSS-HDFS

OSS-HDFS (JindoFS) is a cloud-native data lake storage service. OSS-HDFS provides centralized metadata management capabilities and is fully compatible with Hadoop Distributed File System (HDFS) API. OSS-HDFS also supports Portable Operating System Interface (POSIX). You can use OSS-HDFS to manage data in data lake-based computing scenarios in the big data and AI fields.