- What's New
- Function Overview
- Product Notices
- Service Overview
- Billing
- Getting Started
-
User Guide
- Accessing OBS
- Storage Class
- Bucket Management
- Object Management
- Permissions Control
- Data Security
- Disaster Recovery and Backup
- Domain Name Management
- Data Management
-
Data Processing
-
Image Processing
- Overview
- Notes and Constraints
- Basic Concepts
- Using Image Processing on OBS Console
- Using Image Processing with APIs
- Getting Information About an Image
- Getting the Average RGB Value of an Image
- Setting Image Effects
- Resizing Images
- Rotating Images
- Cropping Images
- Watermarking Images
- Converting Formats and Interlacing Images
- Changing Image Quality
- Slimming Images
- Image Processing Persistency
- Online Decompression
-
Image Processing
- Monitoring and Logging
- Parallel File System
-
Permissions Configuration Guide
- Differences Between OBS Permissions Control Methods
- OBS Access Control at a Glance
- Permission Control Methods
- Access Requests
-
Permission Configuration in Typical Scenarios
- Typical Permissions Scenarios
-
Granting Permissions to an IAM User Under the Current Account
- Granting an IAM User the Permissions to Create and List Buckets
- Granting an IAM User the Read/Write Permission on a Bucket
- Granting an IAM User the Specified Permissions for a Bucket
- Granting an IAM User the Read Permissions on Specific Objects
- Granting an IAM User the Specified Permissions on Specified Objects
-
Granting Permissions to Multiple IAM Users or User Groups Under the Current Account
- Granting IAM User Groups All Permissions for All OBS Resources
- Granting IAM User Groups Basic Permissions for All OBS Resources
- Granting IAM User Groups the Specified Permissions for All OBS Resources
- Granting IAM User Groups the Specified Permissions for Certain OBS Resources
- Granting IAM User Groups the Specified Permissions for a Folder
-
Granting Permissions to Other Accounts
- Granting Other Accounts the Read/Write Permission for a Bucket
- Granting Other Accounts the Specified Permissions for a Bucket
- Granting IAM Users Under an Account the Access to a Bucket and the Resources in It
- Granting Other Accounts the Read Permission for Certain Objects
- Granting Other Accounts the Specified Permissions for Certain Objects
- Granting Permissions to All Accounts
- Granting Temporary Access to OBS
- Allowing IAM Users to View Only Authorized Buckets
- Restricting Access to a Bucket for Specific IP Addresses
- Best Practices for Enterprise Data Access Control
- FAQs
- Appendix
-
Tools Guide
- OBS Tools
-
OBS Browser+
- Introduction
- OBS Browser+ Function Overview
- Downloading OBS Browser+
- Installing OBS Browser+
- Logging In to OBS Browser+
- Basic Bucket Operations
- Advanced Bucket Settings
- Object Operations
- Task Management
- Best Practices
-
FAQs
- Where Can I Obtain Access Keys (AK and SK)?
- Where Can I Obtain an IAM User ID?
- Can I Install Two OBS Browser+ Tools from Different Sites in One System?
- What Are the Differences Between OBS Browser+ and OBS Browser?
- Does OBS Browser+ Support the Migration of Account and Task Information From OBS Browser?
- Why Does the Task Processing Speed Slow After the Number of Tasks Exceeds a Million?
- Why Are the Displayed Number of Objects and Used Storage Capacity Different from the Actual Number of Objects and Storage Capacity?
- Why Is the Deliver Attribute Configured Using an SDK Overwritten to False After I Configure a Bucket ACL on OBS Browser+?
- What If "Login request denied." Is Displayed When I Try to Log In to OBS Browser+ Using an Account?
- What If "Failed to obtain the user token from IAM." Is Displayed When I Try to Log In to OBS Browser+ Using an Account?
- What If Message "Incorrect Account or Password" Is Displayed When I Try to Log In to OBS Browser+ Using an Account?
- Will Incremental Upload Be Used in Auto Upload Tasks?
- How Can I Permanently Share Files or Folders with Other Users?
- How Can I Access a Specific Bucket or Directory?
- Can I Cancel the Directory Sharing After a Directory Has Been Shared with Others?
- Can I Query the Number and Size of Files in a Folder?
- How Do I Troubleshoot a DNS Resolution Failure?
- Can OBS Browser+ List Objects with Special Characters in Their Names?
- Why Are Objects Always in the Restoring State?
- Uninstalling OBS Browser+
- Change History
-
obsutil
- obsutil Introduction
- Downloading and Installing obsutil
- Getting Started
- Bucket Commands
-
Object Commands
- Creating a Folder
- Uploading an Object
- Querying Object Properties
- Setting Object Properties
- Listing Objects
- Copying an Object
- Moving an Object
- Downloading an Object
- Generating the Download Link of an Object
- Deleting an Object
- Synchronously Uploading Incremental Objects
- Synchronously Copying Incremental Objects
- Synchronously Downloading Incremental Objects
- Restoring Objects from the Archive Storage
- Resuming a Failed Upload Task
- Resuming a Failed Copy Task
- Resuming a Failed Download Task
- Listing Multipart Upload Tasks
- Deleting a Multipart Upload Task
- Creating an Authorization Code for Directory Sharing
- Listing Objects by Using an Authorization Code
- Downloading Objects by Using an Authorization Code
- Auxiliary Commands
- Common Examples
- Fault Locating
-
Best Practices
- Using the obsutil help Command to Search for Functions
- Configuring Scheduled Tasks Using the Crontab Command
- Setting obsutil Commands as Built-in Commands
- Configuring Auto Obtaining of Access Keys for obsutil
- Fine-Tuning obsutil Performance
- Using obsutil for Resumable Data Transfer
- Using obsutil to Upload a Symbolic Link
- Configuring an HTTP Proxy for obsutil
- Using obsutil to Share Directories
- Using obsutil to Replicate Data Across Regions on the Client Side
- Limiting the Upload and Download Rate for obsutil
-
FAQs
- After Some Files Are Deleted in My Local Directory, Can obsutil Synchronously Delete Them from the Bucket?
- Can I Use obsutil to Directly Save a Listing Result to a Local File?
- Why Is the Size of Objects Queried by obsutil Inconsistent with That on OBS Console?
- How Can I Find Out Why Some Tasks in a Batch Task Failed?
- How Can I Locate and Rectify I/O Timeout and EOF Errors?
- Why Is a Question Mark Displayed in the Batch Task Progress Bar?
- Can Multiple config Files Be Placed in One Directory?
- Why Is the Number of Objects I Downloaded from OBS to My Local Windows PC Different from That in OBS?
- Can I Rename an Object or a Folder?
- Configuration Parameters
- obsfs
-
obsbrowser (abandoned)
- Introduction to OBS Browser
- Getting Started
- Storage Classes Overview
- Managing Buckets
-
Managing Objects
- Object Management Methods
- Creating a Folder
- Uploading a File or Folder
- Downloading a File or Folder
- MD5 Verification
- Renaming a File
- Copying a File or Folder
- Moving a File or Folder
- Sharing a File
- Sharing a Folder
- Accessing an Object Using Its Object URL
- Searching for a File or Folder
- Deleting a File or Folder
- Restoring an Archive File in OBS
- Server-Side Encryption
- Permission Control
- Lifecycle Management
- CORS
- Logging
- CDN Facilitated Download
-
External Buckets
- External Bucket Overview
- Adding External Buckets
- Application Example 1: Authorizing Access Permissions Required for Adding an External Bucket Through the Bucket ACL
- Application Example 2: Authorizing Access Permissions Required for Adding an External Bucket Through the Standard Bucket Policy
- Application Example 3: Authorizing Access Permissions Required for Adding an External Bucket Through the Custom Bucket Policy
- Task Management
- Related Operations
-
Troubleshooting
- Login Page of OBS Browser Does Not Respond upon User Login
- No Upload Task Is Created After a Large Number of Files Are Selected for Upload On OBS Browser
- Blue or Black Screen of Death Occurs During File Upload on OBS Browser
- Tasks Are Not Displayed in the Task List When Objects Are Managed Using OBS Browser
- Time Difference Is Longer Than 15 Minutes Between the Client and the Server
- An Error Occurs During the Start-up of OBS Browser, Indicating That the Task Management Function Cannot Work Properly Due to Unavailability of the Database
- File Upload or Download Through OBS Browser Is Stuck
- List of OBS Error Codes
- Change History
-
Best Practices
- Overview
- Uploading Data to OBS
- Migrating Data to OBS
- Accessing Data Stored in OBS
- Using a User-Defined Domain Name to Host a Static Website
- Verifying Data Consistency
- Suggestions on OBS Security Configuration
- Suggestions on OBS Performance Optimization
- Using OBS to Decouple Storage from Compute in Big Data Scenarios
- Using s3fs to Mount an OBS Bucket
-
API Reference
- Before You Start
- API Overview
- Calling APIs
- Getting Started
-
APIs
- Operations on Buckets
-
Advanced Bucket Settings
- Configuring a Bucket Policy
- Obtaining Bucket Policy Information
- Deleting a Bucket Policy
- Configuring a Bucket ACL
- Obtaining Bucket ACL Information
- Configuring Logging for a Bucket
- Obtaining a Bucket Logging Configuration
- Configuring Bucket Lifecycle Rules
- Obtaining Bucket Lifecycle Configuration
- Deleting Lifecycle Rules
- Configuring Versioning for a Bucket
- Obtaining Bucket Versioning Status
- Configuring Storage Class for a Bucket
- Obtaining Bucket Storage Class Information
- Configuring Cross-Region Replication for a Bucket
- Obtaining the Cross-Region Replication Configuration of a Bucket
- Deleting the Cross-Region Replication Configuration of a Bucket
- Configuring Tags for a Bucket
- Obtaining Bucket Tags
- Deleting Tags
- Configuring Bucket Storage Quota
- Querying Bucket Storage Quota
- Obtaining Storage Information of a Bucket
- Configuring Bucket Inventories
- Obtaining a Specific Inventory of a Bucket
- Listing All Inventories of a Bucket
- Deleting Bucket Inventories
- Configuring a Custom Domain Name for a Bucket
- Obtaining the Custom Domain Name of a Bucket
- Deleting the Custom Domain Name of a Bucket
- Configuring Bucket Encryption
- Obtaining Bucket Encryption Configuration
- Deleting the Encryption Configuration of a Bucket
- Setting the Direct Reading Policy for Archive Objects in a Bucket
- Obtaining the Direct Reading Policy of Archive Objects in a Bucket
- Deleting the Direct Reading Policy of Archive Objects in a Bucket
- Configuring Mirroring Back-to-Source Rules
- Obtaining Mirroring Back-to-Source Rules
- Deleting Mirroring Back-to-Source Rules
- Setting an Online Decompression Policy
- Obtaining an Online Decompression Policy
- Deleting an Online Decompression Policy
- Configuring a Default WORM Policy for a Bucket
- Obtaining the Default WORM Policy of a Bucket
-
Static Website Hosting
- Configuring Static Website Hosting for a Bucket
- Obtaining the Static Website Hosting Configuration of a Bucket
- Deleting the Static Website Hosting Configuration of a Bucket
- Configuring Bucket CORS
- Obtaining the CORS Configuration of a Bucket
- Deleting the CORS Configuration of a Bucket
- OPTIONS Bucket
- OPTIONS Object
-
Operations on Objects
- Uploading an Object - PUT
- Uploading an Object - POST
- Copying an Object
- Downloading an Object
- Querying Object Metadata
- Deleting an Object
- Deleting Objects
- Restoring Archive or Deep Archive Objects
- Appending an Object
- Configuring an Object ACL
- Obtaining Object ACL Configuration
- Modifying Object Metadata
- Modifying an Object
- Truncating an Object
- Renaming an Object
- Configuring WORM Retention for an Object
- Operations on Multipart Upload
- Server-Side Encryption
- Error Codes
- Permissions and Supported Actions
- Appendixes
-
SDK Reference
- SDK Overview
- SDK Function Matrices
-
Python
- Before You Start (SDK for Python)
- API Overview of OBS SDK for Python
- Preparations (SDK for Python)
- Downloading and Installing OBS SDK for Python
- Getting Started with OBS SDK for Python
- Initialization (SDK for Python)
-
Bucket-Related APIs (SDK for Python)
- Creating a Bucket (SDK for Python)
- Obtaining a Bucket List (SDK for Python)
- Checking Whether a Bucket Exists (SDK for Python)
- Deleting a Bucket (SDK for Python)
- Listing Objects in a Bucket (SDK for Python)
- Listing Object Versions in a Bucket (SDK for Python)
- Obtaining Bucket Metadata (SDK for Python)
- Obtaining the Region of a Bucket (SDK for Python)
- Obtaining Storage Information of a Bucket (SDK for Python)
- Configuring a Storage Quota (SDK for Python)
- Obtaining a Bucket Storage Quota (SDK for Python)
- Configuring a Storage Class for a Bucket (SDK for Python)
- Obtaining the Storage Class of a Bucket (SDK for Python)
- Configuring a Bucket ACL (SDK for Python)
- Obtaining a Bucket ACL (SDK for Python)
- Configuring Logging for a Bucket (SDK for Python)
- Obtaining the Logging Configuration of a Bucket (SDK for Python)
- Configuring a Bucket Policy (SDK for Python)
- Obtaining the Policy of a Bucket (SDK for Python)
- Deleting a Bucket Policy (SDK for Python)
- Configuring Lifecycle Rules for a Bucket (SDK for Python)
- Obtaining the Lifecycle Configuration of a Bucket (SDK for Python)
- Deleting the Lifecycle Configuration of a Bucket (SDK for Python)
- Configuring Static Website Hosting for a Bucket (SDK for Python)
- Obtaining Static Website Hosting for a Bucket (SDK for Python)
- Deleting Static Website Hosting for a Bucket (SDK for Python)
- Configuring Versioning for a Bucket (SDK for Python)
- Obtaining the Versioning Status of a Bucket (SDK for Python)
- Configuring CORS for a Bucket (SDK for Python)
- Obtaining the CORS Configuration of a Bucket (SDK for Python)
- Deleting the CORS Configuration of a Bucket (SDK for Python)
- Configuring Tags for a Bucket (SDK for Python)
- Obtaining Bucket Tags (SDK for Python)
- Deleting Bucket Tags (SDK for Python)
-
Object-Related APIs (SDK for Python)
- Object Upload Overview (SDK for Python)
- Uploading Objects - Text-Based (SDK for Python)
- Uploading an Object - Streaming (SDK for Python)
- Uploading an Object - File-Based (SDK for Python)
- Uploading an Object - Append (SDK for Python)
- Uploading an Object - Resumable (SDK for Python)
- Obtaining the Upload Progress (SDK for Python)
- Uploading an Object - Browser-Based (SDK for Python)
- Object Download Overview (SDK for Python)
- Downloading an Object - Binary (SDK for Python)
- Downloading an Object - Streaming (SDK for Python)
- Downloading an Object - File-Based (SDK for Python)
- Downloading an Object - Range-Based (SDK for Python)
- Downloading an Object - Resumable (SDK for Python)
- Downloading an Object - Obtaining the Download Progress (SDK for Python)
- Uploading an Object - Creating a Folder (SDK for Python)
- Copying an Object (SDK for Python)
- Deleting an Object (SDK for Python)
- Batch Deleting Objects (SDK for Python)
- Obtaining Object Metadata (SDK for Python)
- Modifying Object Metadata (SDK for Python)
- Configuring an Object ACL (SDK for Python)
- Obtaining an Object ACL (SDK for Python)
- Restoring an Archive Object (SDK for Python)
-
APIs Related to Multipart Upload (SDK for Python)
- Multipart Upload Overview (SDK for Python)
- Initiating a Multipart Upload (SDK for Python)
- Uploading a Part (SDK for Python)
- Listing Uploaded Parts (SDK for Python)
- Listing Multipart Uploads (SDK for Python)
- Assembling Parts (SDK for Python)
- Copying a Part (SDK for Python)
- Aborting a Multipart Upload (SDK for Python)
- Client-Side Encryption APIs (SDK for Python)
- Other APIs (SDK for Python)
- Troubleshooting (SDK for Python)
-
FAQs (SDK for Python)
- How Do I Make an Object Accessible to Anonymous Users? (SDK for Python)
- How Can I Obtain the AK and SK? (SDK for Python)
- How Do I Obtain an Object URL? (Python SDK)
- How Do I Improve the Uploading Speed of Large Files over the Public Network? (SDK for Python)
- How Do I Specify Content-SHA256? (SDK for Python)
- Why Does the SDK Source Code Contain acs.amazonaws.com? (SDK for Python)
- Setting an Object Expiration Time (SDK for Python)
- What Is Content-Type (MIME)? (Python SDK)
- How Do I Get My Account ID and IAM User ID? (SDK for Python)
-
Java
- Before You Start (SDK for Java)
- API Overview (SDK for Java)
- Preparations (SDK for Java)
- SDK Download and Installation (SDK for Java)
- Getting Started (SDK for Java)
- Initialization (SDK for Java)
-
Bucket Management (SDK for Java)
- Creating a Bucket (SDK for Java)
- Obtaining a Bucket List (SDK for Java)
- Deleting a Bucket (SDK for Java)
- Checking Whether a Bucket Exists (SDK for Java)
- Obtaining Bucket Metadata (SDK for Java)
- Configuring a Bucket ACL (SDK for Java)
- Obtaining a Bucket ACL (SDK for Java)
- Configuring a Bucket Policy (SDK for Java)
- Obtaining the Policy of a Bucket (SDK for Java)
- Deleting a Bucket Policy (SDK for Java)
- Obtaining the Region of a Bucket (SDK for Java)
- Obtaining Storage Information of a Bucket (SDK for Java)
- Configuring a Storage Quota (SDK for Java)
- Obtaining a Bucket Storage Quota (SDK for Java)
- Configuring a Storage Class for a Bucket (SDK for Java)
- Obtaining the Storage Class of a Bucket (SDK for Java)
- Bucket Inventory (SDK for Java)
- Parallel File System Management (SDK for Java)
-
Object Upload (SDK for Java)
- Overview (SDK for Java)
- Uploading an Object - Streaming (SDK for Java)
- Uploading an Object - File-Based (SDK for Java)
- Obtaining the Upload Progress (SDK for Java)
- Creating a Folder (SDK for Java)
- Configuring Object Metadata (SDK for Java)
-
Multipart Upload (SDK for Java)
- Multipart Upload Overview (SDK for Java)
- Initiating a Multipart Upload (SDK for Java)
- Uploading a Part (SDK for Java)
- Assembling Parts (SDK for Java)
- Code Example of a Multipart Upload (SDK for Java)
- Aborting a Multipart Upload (SDK for Java)
- Listing Uploaded Parts (SDK for Java)
- Listing Multipart Uploads (SDK for Java)
- Configuring Lifecycle Rules (SDK for Java)
- Uploading an Object - Append (SDK for Java)
- Uploading an Object - Resumable (SDK for Java)
- Uploading an Object - Browser-Based (SDK for Java)
-
Object Download (SDK for Java)
- Overview (SDK for Java)
- Downloading an Object - Streaming (SDK for Java)
- Downloading an Object - Range-Based (SDK for Java)
- Obtaining the Download Progress (SDK for Java)
- Downloading an Object - Conditional (SDK for Java)
- Rewriting Response Headers (SDK for Java)
- Obtaining User-defined Metadata (SDK for Java)
- Restoring an Archive Object (SDK for Java)
- Downloading an Object - Resumable (SDK for Java)
- Downloading a Processed Image (SDK for Java)
- Creating a Signed URL for Downloading a Processed Image (SDK for Java)
-
Object Management (SDK for Java)
- Configuring Object Metadata (SDK for Java)
- Obtaining Object Metadata (SDK for Java)
- Configuring an Object ACL (SDK for Java)
- Obtaining an Object ACL (SDK for Java)
- Listing Objects (SDK for Java)
- Deleting an Object (SDK for Java)
- Batch Deleting Objects (SDK for Java)
- Copying an Object (SDK for Java)
- Copying an Object - Multipart (SDK for Java)
- Checking Whether an Object Exists (SDK for Java)
- Temporarily Authorized Access (SDK for Java)
-
Versioning (SDK for Java)
- Overview (SDK for Java)
- Configuring Versioning for a Bucket (SDK for Java)
- Obtaining the Versioning Status of a Bucket (SDK for Java)
- Obtaining an Object Version (SDK for Java)
- Copying an Object Version (SDK for Java)
- Restoring a Specific Archive Object Version (SDK for Java)
- Listing Object Versions (SDK for Java)
- Setting an ACL for an Object Version (SDK for Java)
- Obtaining the ACL of an Object Version (SDK for Java)
- Deleting an Object Version (SDK for Java)
- Batch Deleting Object Versions (SDK for Java)
- Lifecycle Management (SDK for Java)
- Cross-Origin Resource Sharing (SDK for Java)
- Logging (SDK for Java)
- Static Website Hosting (SDK for Java)
- Bucket Tag Management (SDK for Java)
- Server-Side Encryption (SDK for Java)
- Client-Side Encryption (SDK for Java)
- Fault Locating (SDK for Java)
- Troubleshooting (SDK for Java)
-
FAQs (SDK for Java)
- Can I Use This Document for Union SDK?
- How Can I Set an Object to Be Accessible to Anonymous Users? (Java SDK)
- What Is the Retry Mechanism of SDK? (SDK for Java)
- How Do I Obtain the Static Website Access Address of a Bucket? (Java SDK)
- How Do I Obtain an Object URL? (Java SDK)
- How to Improve the Speed of Uploading Large Files over the Public Network? (SDK for Java)
- How Can I Perform a Multipart Upload? (SDK for Java)
- How Can I Perform a Download in Multipart Mode? (Java SDK)
- How Do I Confirm that an Upload is Successful If I Upload an Object to Overwrite an Existing Object with the Same Name in a Bucket? (SDK for Java)
- How Do I Download an Encrypted Object Using a URL? (SDK for Java)
- How Do I Generate an SSE-C Encryption Key?
- How Do I Obtain the Security Token? (Java SDK)
- Does the SDK Support Uploading, Downloading, or Copying Objects in a Batch? (Java SDK)
- How Do I Specify Content-SHA256?
- Why Does the SDK Source Code Contain acs.amazonaws.com? (Java SDK)
- What Is Content-Type (MIME)? (Java SDK)
- How Do I Get My Account ID and User ID?
-
Go
- Before You Start (SDK for Go)
- API Overview of OBS SDK for Go
- Preparations (SDK for Go)
- Downloading and Installing OBS SDK for Go
- Getting Started with OBS SDK for Go
- Initializing OBS SDK for Go
-
Buckets (SDK for Go)
- Bucket API Overview (SDK for Go)
- Creating a Bucket (SDK for Go)
- Obtaining a Bucket List (SDK for Go)
- Checking Whether a Bucket Exists (SDK for Go)
- Deleting a Bucket (SDK for Go)
- Listing Objects in a Bucket (SDK for Go)
- Listing Object Versions in a Bucket (SDK for Go)
- Obtaining Bucket Metadata (SDK for Go)
- Obtaining the Region of a Bucket (SDK for Go)
- Obtaining Storage Information of a Bucket (SDK for Go)
- Configuring a Storage Quota (SDK for Go)
- Obtaining a Bucket Storage Quota (SDK for Go)
- Configuring Storage Class for a Bucket (SDK for Go)
- Obtaining the Storage Class of a Bucket (SDK for Go)
- Configuring a Bucket ACL (SDK for Go)
- Obtaining the Bucket ACL (SDK for Go)
- Configuring Logging for a Bucket (SDK for Go)
- Obtaining the Logging Configuration of a Bucket (SDK for Go)
- Configuring a Bucket Policy (SDK for Go)
- Obtaining the Policy of a Bucket (SDK for Go)
- Deleting a Bucket Policy (SDK for Go)
- Configuring Lifecycle Rules for a Bucket (SDK for Go)
- Obtaining the Lifecycle Configuration of a Bucket (SDK for Go)
- Deleting the Lifecycle Configuration of a Bucket (SDK for Go)
- Configuring Static Website Hosting for a Bucket (SDK for Go)
- Obtaining the Static Website Hosting Configuration of a Bucket (SDK for Go)
- Deleting the Static Website Hosting Configuration of a Bucket (SDK for Go)
- Configuring Versioning for a Bucket (SDK for Go)
- Obtaining the Versioning Status of a Bucket (SDK for Go)
- Configuring CORS for a Bucket (SDK for Go)
- Obtaining the CORS Configuration of a Bucket (SDK for Go)
- Deleting the CORS Configuration of a Bucket (SDK for Go)
- Configuring Tags for a Bucket (SDK for Go)
- Obtaining Bucket Tags (SDK for Go)
- Deleting Bucket Tags (SDK for Go)
- Configuring Bucket Encryption (SDK for Go)
- Obtaining the Bucket Encryption Configuration (SDK for Go)
- Deleting the Bucket Encryption Configuration (SDK for Go)
- Configuring a Custom Domain Name for a Bucket (SDK for Go)
- Obtaining the Custom Domain Name of a Bucket (SDK for Go)
- Deleting the Custom Domain Name of a Bucket (SDK for Go)
- Parallel File System APIs (SDK for Go)
-
Objects (SDK for Go)
- Object API Overview (SDK for Go)
- Object Upload Overview (SDK for Go)
- Object Download Overview (SDK for Go)
- Creating a Folder (SDK for Go)
- Copying an Object (SDK for Go)
- Deleting an Object (SDK for Go)
- Batch Deleting Objects (SDK for Go)
- Configuring Object Metadata (SDK for Go)
- Obtaining Object Metadata (SDK for Go)
- Configuring an Object ACL (SDK for Go)
- Obtaining Object ACL Information (SDK for Go)
- Rewriting Response Headers (SDK for Go)
- Processing an Image (SDK for Go)
- Restoring an Archive Object (SDK for Go)
- Modifying an Object (SDK for Go)
- Multipart Uploads (SDK for Go)
- Other APIs (SDK for Go)
- Single-Connection Bandwidth Throttling (SDK for Go)
- Troubleshooting (SDK for Go)
- FAQ (SDK for Go)
-
Android
- Installing the SDK
- Example Programs
- Quick Start
- Initialization
- Bucket Management
-
Object Upload
- Object Upload Overview
- Performing a Streaming Upload
- Performing a File-Based Upload
- Obtaining Upload Progresses
- Creating a Folder
- Setting Object Properties
- Performing a Multipart Upload
- Configuring Lifecycle Management
- Performing an Appendable Upload
- Performing a Multipart Copy
- Performing a Resumable Upload
- Performing a Browser-Based Upload
- Object Download
- Object Management
- Temporarily Authorized Access
- Versioning Management
- Lifecycle Management
- CORS
- Access Logging
- Static Website Hosting
- Tag Management
- Server-Side Encryption
- Troubleshooting
- FAQ
- API Reference
-
C
- Before You Start
- SDK Download
- Quick Start
- Initialization
- Bucket Management
- Uploading an Object
- Downloading an Object
- Object Management
- Temporarily Authorized Request
- Accessing OBS Through a User-Defined Domain Name
- Versioning Management
- Lifecycle Management
- Cross-Origin Resource Sharing (CORS)
- Setting Access Logging
- Static Website Hosting
- Tag Management
- Server-Side Encryption
- Troubleshooting
- FAQs
-
BrowserJS
- Before You Start
- SDK Download Links
- Example Programs
- Quick Start
- Initialization
- Fault Locating
- Bucket Management
-
Object Upload
- Object Upload Overview
- Performing a Text-Based Upload
- Performing a File-Based Upload
- Obtaining Upload Progresses
- Creating a Folder
- Setting Object Properties
- Performing a Multipart Upload
- Configuring Lifecycle Management
- Performing an Appendable Upload
- Performing a Multipart Copy
- Performing a Resumable Upload
- Performing a Browser-Based Upload
-
Object Download
- Object Download Overview
- Performing a Text-Based Download
- Performing a Binary Download
- Performing a File-Based Download
- Performing a Partial Download
- Obtaining Download Progresses
- Performing a Conditioned Download
- Rewriting Response Headers
- Obtaining Customized Metadata
- Downloading an Archive Object
- Processing an Image
- Object Management
- Temporarily Authorized Access
- Versioning Management
- Lifecycle Management
- Access Logging
- Static Website Hosting
- Tag Management
- Server-Side Encryption
- Troubleshooting
-
FAQs
- How Do I Upload Files Using a Browser that Does Not Support window.File?
- How Can I Set an Object to Be Accessible to Anonymous Users?
- How Do I Obtain the Static Website Access Address of a Bucket?
- How Do I Obtain an Object URL?
- How to Improve the Speed of Uploading Large Files over the Public Network?
- How Do I Suspend a Resumable Upload Task?
- How Do I Interact with OBS Without Exposing My AK and SK?
- How Do I Upload a Base64-Encoded Image?
- What Do I Do If the Resumable Upload API Reports a "400 InvalidPart" Error?
-
iOS
- SDK Download Links
- Compatibility
- Quick Start
- Initialization
- Bucket Management
-
Object Upload
- Object Upload Overview
- Performing a Streaming Upload
- Performing a File-Based Upload
- Creating a Folder
- Setting Object Properties
- Performing a Multipart Upload
- Configuring Lifecycle Management
- Appendable Upload
- Performing a Multipart Copy
- Performing a Resumable Upload
- Pausing and Resuming/Aborting a Resumable Upload
- Object Download
- Object Management
- Temporarily Authorized Access
- Versioning Management
- Lifecycle Management
- CORS
- Access Logging
- Static Website Hosting
- Tag Management
- Server-Side Encryption
- Troubleshooting
- FAQ
- API Reference
-
PHP
- SDK Download Links
- Example Programs
-
Quick Start
- Before You Start
- Setting Up an OBS Environment
- Preparing a Development Environment
- Installing the SDK
- Obtaining Endpoints
- Initializing an Instance of ObsClient
- Creating a Bucket
- Uploading an Object
- Downloading an Object
- Listing Objects
- Deleting an Object
- General Examples of ObsClient
- Pre-defined Constants
- Initialization
- Bucket Management
- Object Upload
- Object Download
- Object Management
- Temporarily Authorized Access
- Versioning Management
- Lifecycle Management
- CORS
- Access Logging
- Static Website Hosting
- Tag Management
- Server-Side Encryption
- Troubleshooting
- FAQs
-
Node.js
- Downloading an SDK (SDK for Node.js)
- Example Programs (SDK for Node.js)
-
Getting Started (SDK for Node.js)
- Before You Start (SDK for Node.js)
- Setting Up an OBS Environment (SDK for Node.js)
- Preparing a Development Environment (SDK for Node.js)
- Installing the SDK (SDK for Node.js)
- Obtaining Endpoints (SDK for Node.js)
- Initializing an Instance of ObsClient (SDK for Node.js)
- Creating a Bucket (SDK for Node.js)
- Uploading an Object (SDK for Node.js)
- Downloading an Object (SDK for Node.js)
- Listing Objects (SDK for Node.js)
- Deleting an Object (SDK for Node.js)
- General Ways to Use ObsClient (SDK for Node.js)
- Initialization (SDK for Node.js)
-
Bucket Management (SDK for Node.js)
- Creating a Bucket (SDK for Node.js)
- Listing Buckets (SDK for Node.js)
- Checking Whether a Bucket Exists (SDK for Node.js)
- Deleting a Bucket (SDK for Node.js)
- Obtaining Bucket Metadata (SDK for Node.js)
- Configuring a Bucket ACL (SDK for Node.js)
- Obtaining a Bucket ACL (SDK for Node.js)
- Configuring a Bucket Policy (SDK for Node.js)
- Obtaining the Policy of a Bucket (SDK for Node.js)
- Deleting a Bucket Policy (SDK for Node.js)
- Obtaining the Region of a Bucket (SDK for Node.js)
- Obtaining Storage Information of a Bucket (SDK for Node.js)
- Configuring a Storage Quota for a Bucket (SDK for Node.js)
- Obtaining the Storage Quota of a Bucket (SDK for Node.js)
- Configuring a Storage Class for a Bucket (SDK for Node.js)
- Obtaining the Storage Class of a Bucket (SDK for Node.js)
-
Object Upload (SDK for Node.js)
- Object Upload Overview (SDK for Node.js)
- Uploading an Object - Text-Based (SDK for Node.js)
- Uploading an Object - Streaming (SDK for Node.js)
- Uploading an Object - File-Based (SDK for Node.js)
- Creating a Folder (SDK for Node.js)
- Configuring Object Metadata (SDK for Node.js)
- Configuring a Lifecycle Rule When Uploading an Object (SDK for Node.js)
- Uploading an Object - Append (SDK for Node.js)
- Uploading an Object - Resumable (SDK for Node.js)
- Uploading an Object - Browser-Based (SDK for Node.js)
-
Object Download (SDK for Node.js)
- Overview (SDK for Node.js)
- Downloading an Object - Text-Based (SDK for Node.js)
- Downloading an Object - Streaming (SDK for Node.js)
- Downloading an Object - File-Based (SDK for Node.js)
- Downloading an Object - Range-Based (SDK for Node.js)
- Downloading an Object - Conditional (SDK for Node.js)
- Rewriting Response Headers (SDK for Node.js)
- Downloading an Archive Object (SDK for Node.js)
- Downloading an Object - Resumable (SDK for Node.js)
- Processing an Image (SDK for Node.js)
-
Object Management (SDK for Node.js)
- Configuring Object Metadata (SDK for Node.js)
- Obtaining Object Metadata (SDK for Node.js)
- Configuring an Object ACL (SDK for Node.js)
- Obtaining the ACL of an Object (SDK for Node.js)
- Listing Objects in a Bucket (SDK for Node.js)
- Deleting an Object (SDK for Node.js)
- Batch Deleting Objects (SDK for Node.js)
- Copying an Object (SDK for Node.js)
-
Multipart Upload (SDK for Node.js)
- Multipart Upload APIs (SDK for Node.js)
- Initiating a Multipart Upload (SDK for Node.js)
- Uploading a Part (SDK for Node.js)
- Assembling Parts (SDK for Node.js)
- Listing Uploaded Parts (SDK for Node.js)
- Listing Multipart Uploads (SDK for Node.js)
- Copying a Part (SDK for Node.js)
- Aborting a Multipart Upload (SDK for Node.js)
- Temporarily Authorized Access (SDK for Node.js)
-
Versioning (SDK for Node.js)
- Versioning Overview (SDK for Node.js)
- Configuring Versioning for a Bucket (SDK for Node.js)
- Viewing the Versioning Status of a Bucket (SDK for Node.js)
- Obtaining an Object Version (SDK for Node.js)
- Copying an Object Version (SDK for Node.js)
- Restoring an Archive Object Version (SDK for Node.js)
- Listing Object Versions in a Bucket (SDK for Node.js)
- Setting an ACL for an Object Version (SDK for Node.js)
- Obtaining the ACL of an Object Version (SDK for Node.js)
- Deleting an Object Version (SDK for Node.js)
- Lifecycle (SDK for Node.js)
- Bucket CORS (SDK for Node.js)
- Logging (SDK for Node.js)
- Static Website Hosting (SDK for Node.js)
- Tagging (SDK for Node.js)
- Server-Side Encryption (SDK for Node.js)
- Troubleshooting (SDK for Node.js)
- FAQs (SDK for Node.js)
-
.NET
- Before You Start
- SDK Download Links
- Example Programs
- Quick Start
- Initialization
-
Bucket Management
- Creating a Bucket
- Listing Buckets
- Deleting a Bucket
- Identifying Whether a Bucket Exists
- Obtaining Bucket Metadata
- Managing Bucket ACLs
- Management Bucket Policies
- Obtaining a Bucket Location
- Obtaining Storage Information About a Bucket
- Setting or Obtaining a Bucket Quota
- Setting or Obtaining the Storage Class of a Bucket
-
Object Upload
- Object Upload Overview
- Performing a Streaming Upload
- Performing a File-Based Upload
- Performing an Asynchronous Upload
- Obtaining Upload Progress
- Creating a Folder
- Setting Object Properties
- Performing a Multipart Upload
- Configuring Lifecycle Management
- Performing an Appendable Upload
- Performing a Multipart Copy
- Performing a Resumable Upload
-
Object Download
- Object Download Overview
- Performing a Streaming Download
- Performing a Partial Download
- Performing an Asynchronous Download
- Obtaining Download Progress
- Performing a Conditioned Download
- Rewriting Response Headers
- Obtaining Custom Metadata
- Downloading an Archive Object
- Performing a Resumable Download
- Processing an Image
- Object Management
- Temporarily Authorized Access
- Versioning Management
- Lifecycle Management
- CORS
- Access Logging
- Static Website Hosting
- Tag Management
- Server-Side Encryption
- Troubleshooting
- FAQ
-
FAQs
-
OBS Basics
- How Do I Obtain an OBS Endpoint?
- How Much Data Can I Store in OBS?
- How Can I Determine Which Region to Store My Data In?
- Does OBS Support Access over HTTPS?
- Can Other Users Access My Data Stored in OBS?
- Why Is an Alarm Reported When I Access OBS and What Can I Do?
- Can Deleted Data Be Recovered?
- What Can I Do If My Access to the OBS Domain Name Failed Due to a CA Certificate Connection Failure?
- Why Did Some of My Data Stored on OBS Get Lost?
- Does OBS Support Traffic Monitoring?
- What Are the Factors That Affect Upload and Download Speeds of OBS?
- What Are the Advantages of Object Storage over SAN and NAS Storage?
- Can Folders in OBS Be Used the Same Way as in a File System?
- What Are the Differences Between OBS, EVS, and SFS?
- How Do I Determine Whether I Am Accessing OBS over an Intranet?
- Will My Bucket Performance Be Affected by Other Users' Services?
- Why Is My Data on the OBS Bucket Overview Page Inconsistent?
- What Can I Do If There Are Packet Loss and Network Instability Problems In Cross-Border Data Transfer Scenarios?
-
Billing
- Why Does My Bucket Generate Storage Costs Even Though There Are No Objects in It?
- Why Does My Bucket Generate Traffic When There Are No Objects in It?
- Why Am I Still Being Billed After I Purchased a Resource Package?
- Why Am I Still Being Billed for Pull Traffic Used by CDN Acceleration When I Already Have a Pull Traffic Package?
- Why Are OBS Resources Still Unavailable Even Though My Account Has a Valid Payment Method and There Are No Outstanding Bills?
- Do I Have to Purchase a Resource Package? Can I Apply a Package to a Specific Bucket?
- Can I Unsubscribe from or Modify a Resource Package?
- What Can I Do If My Resource Package Expires?
- Do Parallel File Systems Support Resource Packages?
- How Are Requests Counted?
- Can I Purchase Requests?
- Will My Data Write Be Restricted When My OBS Package Has Been Used Up?
- Will the Remaining Package Quota in a Given Month Be Carried over to the Following Month?
- Which Types of Resource Packages Will Reset Their Quota by Month and Which Types Will Not?
- Do I Need to Purchase an Outbound Internet Traffic Package If I Already Have a Pull Traffic Package?
- Why Is There a Charge of $0.01 USD on My OBS Bill?
- Why Is There a Large Amount of Outbound Internet Traffic in My Bill?
-
Access Control
- Why Is the Message "Access denied" Still Appearing After OBS System Permissions or Bucket Read and Write Permissions Are Allowed?
- Why Can't I Access OBS (403 AccessDenied) After Being Granted with the OBS Access Permission?
- What Is the Relationship Between a Bucket Policy and an Object Policy?
- How Do I Control Access to Folders in an OBS Bucket?
- Why Was the Value of the delivered Parameter Changed to false After I Configured the Bucket ACL for Anonymous Users on the OBS Console?
-
Buckets and Objects
- Why Am I Unable to Create a Bucket?
- Why Am I Unable to Upload an Object?
- Why Am I Unable to Download an Object?
- Why Can't I Delete a Bucket?
- Why Can't I Delete an Object?
- Why Can't I Access an Object Through Its URL?
- How Do I Preview OBS Objects in My Web Browser?
- Can I Rename an Object?
- Can I Edit Objects in OBS Online?
- How Do I Obtain the Access Path to an Object?
- Can I Modify the Region of a Bucket?
- How Do I Change the Enterprise Project Where My Bucket Belongs?
- Can I Copy a File Between Buckets?
- Can I Move a File Between Buckets?
- Can I Upload Objects with the Same Name to the Same Folder?
- Does OBS Support Resumable Transfer?
- Does OBS Support Batch Upload?
- Does OBS Support Batch Download?
- Does OBS Support Batch Deletion of Objectsor Emptying a Bucket?
- What If an Object Can't Be Found in a Bucket or a 403 Error Is Returned?
- What Should I Do If an Error Message Is Displayed When I Use Internet Explorer to Access an Object URL That Contains Chinese Characters?
- Why Is an Error Reported Even If OBS CORS Has Been Configured?
- How Do I Query the Size of a Folder in a Bucket?
- How Do I Upload Objects Larger Than 5 GB?
-
Data Security, Migration, and Backup
- How Is Data Security Ensured in OBS?
- Can I Recover OBS Data After It Is Deleted or Overwritten?
- Can I Change the AK and SK or Share Them with Others for Accessing OBS?
- How Do I Migrate Data to OBS?
- How Does OBS Implement Backup and Disaster Recovery?
- How Can I Migrate Data Between SFS and OBS?
- Does OBS Scan My Data for Other Purposes?
- Can Engineers Export My Data from the Background of OBS?
- How Does OBS Protect My Data from Being Stolen?
- How Durable and Available Is OBS?
- What Are the Differences Between Single-AZ and Multi-AZ Storage in OBS?
- What Redundancy Techniques Does OBS Use?
- Versioning
-
Server-Side Encryption
- How Do I Access or Download an Encrypted Object?
- Why Cannot an Authorized Account or User Upload or Download KMS Encrypted Objects?
- Are Additional Permissions Required When I Share an Object with SSE-OBS Encrypted?
- Does OBS Support Encrypted Upload?
- What Techniques Can I Use to Encrypt Data on OBS?
- Will OBS Server-Side Encryption Encrypt My Existing Objects That Are Unencrypted?
- Will I Be Billed for the Encryption Provided by OBS Server-Side Encryption?
- Does OBS SSE-KMS Allow Anonymous Access?
- How Do I Use Cross-Region Replication?
-
Domain Name Management
- Why Is the Message "NoSuchBucket" Displayed When I Use a User-Defined Domain Name to Access a Bucket That Can Be Accessed by the OBS Domain Name?
- With CDN Acceleration Enabled, Why Are the Objects in My OBS Bucket Directly Downloaded When I Access Them?
- What Is the Relationship Between OBS Bucket Names and Domain Names?
- Why Is the CNAME Resolution Status Unknown?
- Why Can Only the Domain Names I Bought on Huawei Cloud Be Automatically Resolved In One Click?
- How Do I Use Static Website Hosting?
-
Image Processing
- How Do I Access Image Processing with a URL?
- After CDN Acceleration Is Enabled, Where Are Processed Images Stored?
- After I Performed Image Processing in My Logging-enabled Bucket, Why Was My Bucket Accessed by IP Addresses Starting with 100?
- How Is Image Processing Billed?
- How Many Image Styles Can I Create in a Bucket?
- Parallel File System
- Monitoring
-
OBS Console
- Web Browser Compatibility
- Time Difference Is Longer Than 15 Minutes Between the Client and Server
- The Object Name Changes After an Object with a Long Name Is Downloaded to a Local Computer
- An Object Fails to Be Downloaded Using Internet Explorer 11
- OBS Console Couldn't Be Opened in Internet Explorer 9
- Error Code List
-
OBS Browser+, obsutil, and Other OBS Tools
- When Downloading a Folder Using obsutil, the Download Speed Slows After the Folder Download Progress Reaches 90%
- With obsutil, Downloading a File Fails After the Download Progress Reaches 99%
- Slow Upload and Download Through obsutil
- How Do I Use the obsutil cp Command to Enable Incremental Upload, Download, or Replication?
- Can I Mount My Parallel File System to a Windows Server?
-
APIs and SDKs
- Failure with OBS SDK in Uploading a File Greater than 5 GB
- What Can I Do When Error Message "okhttp3.RequestBody.create(java.lang.String,okhttp3.MediaType)" Is Displayed for Java SDK?
- What Are the Differences Between PUT and POST Upload Methods?
- Does an Append Upload Support the Lock Mechanism for Concurrent Operations?
- Why Don't the Signatures Match?
-
OBS Basics
- Videos
- Glossary
-
More Documents
-
User Guide (ME-Abu Dhabi Region)
- Service Overview
- Billing
-
OBS Console Operation Guide
- Console Function Overview
- Restrictions
- Getting Started
- Storage Classes Overview
- Managing Buckets
- Managing Objects
- Server-Side Encryption
- Object Metadata
-
Permission Control
- Overview
- Permission Control Mechanisms
- Bucket Policy Parameters
- Configuring IAM Policies
- Configuring a Bucket Policy
- Configuring an Object Policy
- Configuring a Bucket ACL
- Configuring an Object ACL
-
Application Cases
- Granting an IAM User with the Operation Permissions for a Specified Bucket
- Granting Other Accounts with the Operation Permissions for a Specified Bucket
- Restricting Bucket Access to a Specified Address
- Configuring the Start Time and End Time of Access to Objects in a Bucket
- Authorizing Access Permissions to Anonymous Users
- Authorizing Folder Access Permissions to Anonymous Users
- Versioning
- Logging
- Tags
- Event Notification
- Lifecycle Management
- User-Defined Domain Name Binding
- Static Website Hosting
- CORS
- URL Validation
- Monitoring
- Related Operations
-
Troubleshooting
- An Object Fails to Be Downloaded Using Internet Explorer 11
- OBS Console Cannot Be Opened in Internet Explorer 9
- The Object Name Changes After an Object with a Long Name Is Downloaded to a Local Computer
- Failed to Configure Event Notification
- Time Difference Is Longer Than 15 Minutes Between the Client and Server
- Error Code List
-
FAQs
-
OBS Basics
- How Can I Get Started Using OBS?
- What Are the Advantages of Object Storage over SAN and NAS Storage?
- Which Types of Data Can Be Stored in OBS?
- How Much Data Can I Store in OBS?
- Does OBS Support Traffic Monitoring?
- Can Folders in OBS Be Used the Same Way as in a File System?
- Where Is Data Stored in OBS?
- What Is the Relationship Between OBS Bucket Names and OBS Domain Names?
- Does OBS Support Access over HTTPS?
- Can Other Users Access My Data Stored in OBS?
- Does OBS Support Resumable Data Transfer?
- Does OBS Support Batch Upload?
- Does OBS Support Batch Download?
- Does OBS Support Batch Deletion of Objects?
- What Are Factors that Affect the Upload and Download Speed of OBS?
- Why Did Some of My Data Stored on OBS Get Lost?
- Can Deleted Data Be Recovered?
- Will There Be Data Left Over in OBS After I Delete an Object?
- Access Control
-
Buckets and Objects
- Why Am I Unable to Create a Bucket?
- Why Am I Unable to Upload an Object?
- Why Am I Unable to Download an Object?
- Why Can't I Delete a Bucket?
- What Is the Relationship Between Bucket Storage Classes and Object Storage Classes?
- Can I Modify the Region of a Bucket?
- How Do I Obtain the Access Path to an Object?
- Why Can't I Find Certain Objects in a Bucket When I Searched for Them?
-
Security
- How Is Data Security Ensured in OBS?
- Does OBS Scan My Data for Other Purposes?
- Can Background Engineers Export My Data from OBS?
- How Does OBS Prevent My Data from Being Stolen?
- Can a Pair of AK and SK Be Replaced When They Are Being Used to Access OBS?
- Can a Pair of AK and SK Be Used by Multiple Users to Access OBS?
- Which Encryption Technologies Are Supported by OBS?
- How Do I Use Fragment Management?
- How Do I Use Versioning?
- How Do I Use Tags?
- Event Notification
- How Do I Use Lifecycle Management?
- How Do I Use Static Website Hosting?
-
OBS Basics
- Change History
-
API Reference (ME-Abu Dhabi Region)
- Before You Start
- API Overview
- Calling APIs
- Getting Started
-
APIs
- Operations on Buckets
-
Advanced Bucket Settings
- Configuring a Bucket Policy
- Obtaining Bucket Policy Information
- Deleting a Bucket Policy
- Configuring a Bucket ACL
- Obtaining Bucket ACL Information
- Configuring Logging for a Bucket
- Obtaining a Bucket Logging Configuration
- Configuring Bucket Lifecycle Rules
- Obtaining Bucket Lifecycle Configuration
- Deleting Lifecycle Rules
- Configuring Versioning for a Bucket
- Obtaining Bucket Versioning Status
- Configuring Event Notification for a Bucket
- Obtaining the Event Notification Configuration of a Bucket
- Configuring Storage Class for a Bucket
- Obtaining Bucket Storage Class Information
- Configuring Tags for a Bucket
- Obtaining Bucket Tags
- Deleting Tags
- Configuring Bucket Storage Quota
- Querying Bucket Storage Quota
- Obtaining Storage Information of a Bucket
- Configuring a Custom Domain Name for a Bucket
- Obtaining the Custom Domain Name of a Bucket
- Deleting the Custom Domain Name of a Bucket
- Configuring Bucket Encryption
- Obtaining Bucket Encryption Configuration
- Deleting the Encryption Configuration of a Bucket
- Configuring a DIS-Enabled Notification Policy
- Obtaining a DIS-Enabled Notification Policy
- Deleting a DIS-Enabled Notification Policy
- Configuring a Default WORM Policy for a Bucket
- Obtaining the Default WORM Policy of a Bucket
-
Static Website Hosting
- Configuring Static Website Hosting for a Bucket
- Obtaining the Static Website Hosting Configuration of a Bucket
- Deleting the Static Website Hosting Configuration of a Bucket
- Configuring Bucket CORS
- Obtaining the CORS Configuration of a Bucket
- Deleting the CORS Configuration of a Bucket
- OPTIONS Bucket
- OPTIONS Object
-
Operations on Objects
- Uploading Objects - PUT
- Uploading Objects - POST
- Copying Objects
- Downloading an Object
- Querying Object Metadata
- Deleting an Object
- Deleting Objects
- Restoring Cold Objects
- Appending an Object
- Configuring an Object ACL
- Obtaining Object ACL Configuration
- Modifying Object Metadata
- Modifying an Object
- Truncating an Object
- Renaming an Object
- Configuring WORM Retention for an Object
- Operations on Multipart Upload
- Server-Side Encryption
- Error Codes
- IAM Policies and Supported Actions
- Appendixes
- Change History
-
Tool Guide (OBS Browser+) (ME-Abu Dhabi Region)
- Introduction
- OBS Browser+ Function Overview
- Downloading OBS Browser+
- Installing OBS Browser+
- Logging In to OBS Browser+
-
FAQs
- Where Can I Obtain Access Keys (AK and SK)?
- Can I Install Two OBS Browser+ Tools from Different Sites in One System?
- Why Does the Task Processing Speed Slow After the Number of Tasks Exceeds a Million?
- Why Are the Displayed Number of Objects and Used Storage Capacity Different from the Actual Number of Objects and Storage Capacity?
- How Can I Locate Common Network Errors?
- How Can I Permanently Share Files or Folders with Other Users?
- How Can I Access a Specific Bucket or Directory?
- Can I Cancel the Directory Sharing After a Directory Has Been Shared with Others?
- Can I Query the Number and Size of Files in a Folder on OBS Browser+?
- Uninstalling OBS Browser+
- Change History
- Tool Guide (obsfs) (ME-Abu Dhabi Region)
-
Tool Guide (obsutil) (ME-Abu Dhabi Region)
- Introduction to obsutil
- Download and Installation
- Getting Started
- Bucket Commands
-
Object Commands
- Creating a Folder
- Uploading an Object
- Querying Object Properties
- Setting Object Properties
- Listing Objects
- Copying an Object
- Moving an Object
- Downloading an Object
- Generating the Download Link of an Object
- Deleting an Object
- Synchronously Uploading Incremental Objects
- Synchronously Copying Incremental Objects
- Synchronously Downloading Incremental Objects
- Restoring Objects from
- Resuming a Failed Upload Task
- Resuming a Failed Copy Task
- Resuming a Failed Download Task
- Listing Multipart Upload Tasks
- Deleting a Multipart Upload Task
- Auxiliary Commands
- Common Examples
- Fault Locating
-
Best Practices
- Using the obsutil help Command to Search for Functions
- Configuring Scheduled Tasks Using the Crontab Command
- Setting obsutil Commands as Built-in Commands
- Fine-Tuning obsutil Performance
- Using obsutil for Resumable Data Transfer
- Using obsutil to Upload a Symbolic Link
- Configuring an HTTP Proxy for obsutil
- Using obsutil to Replicate Data Across Regions on the Client Side
- Limiting the Upload and Download Rate for obsutil
-
FAQs
- After Some Files Are Deleted in My Local Directory, Can obsutil Synchronously Delete Them from the Bucket?
- Can I Use obsutil to Directly Save a Listing Result to a Local File?
- Why Is the Size of Objects Queried by obsutil Inconsistent with That on OBS Console?
- How Can I Find Out Why Some Tasks in a Batch Task Failed?
- How Can I Locate and Rectify I/O Timeout and EOF Errors?
- Why Is a Question Mark Displayed in the Batch Task Progress Bar?
- Can Multiple config Files Be Placed in One Directory?
- Parameter Description
- Change History
- Parallel File System Feature Guide(ME-Abu Dhabi Region)
-
User Guide (Paris Region)
- Service Overview
-
OBS Console Operation Guide
- Console Function Overview
- Restrictions
- Getting Started
- Storage Classes Overview
- Managing Buckets
- Managing Objects
- Server-Side Encryption
- Object Metadata
-
Permissions Control
- Overview
- Permission Control Mechanisms
- Bucket Policy Parameters
- Configuring IAM Policies
- Configuring a Bucket Policy
- Configuring an Object Policy
- Configuring a Bucket ACL
- Configuring an Object ACL
-
Application Cases
- Granting an IAM User Permissions to Operate a Specific Bucket
- Granting Other Accounts Permissions to Operate a Specific Bucket
- Restricting Access to a Bucket for Specific Addresses
- Limiting the Time When Objects in a Bucket Are Accessible
- Granting Anonymous Users Permission to Access Objects
- Granting Anonymous Users Permission to Access Folders
- Versioning
- Logging
- Event Notifications
- Cross-Region Replication
- Lifecycle Management
- Configuring User-Defined Domain Names
- Static Website Hosting
- Cross-Origin Resource Sharing
- URL Validation
- Monitoring
- Related Operations
-
Troubleshooting
- An Object Fails to Be Downloaded Using Internet Explorer 11
- OBS Console Cannot Be Opened in Internet Explorer 9
- The Object Name Changes After an Object with a Long Name Is Downloaded to a Local Computer
- Failed to Configure Event Notifications
- Time Difference Is Longer Than 15 Minutes Between the Client and Server
- Error Code List
-
FAQ
-
OBS Basics
- How Can I Get Started with OBS?
- How Do I Obtain an OBS Endpoint?
- What Are the Advantages of Object Storage over SAN and NAS Storage?
- Which Types of Data Can Be Stored in OBS?
- How Much Data Can I Store in OBS?
- Does OBS Support Traffic Monitoring?
- Can Folders in OBS Be Used the Same Way as in a File System?
- Where Is Data Stored in OBS?
- Does OBS Support Access over HTTPS?
- Can Other Users Access My Data Stored in OBS?
- Does OBS Support Resumable Transfer?
- Does OBS Support Batch Upload?
- Does OBS Support Batch Download?
- Does OBS Support Batch Deletion of Objects?
- What Are the Factors That Affect Upload and Download Speed of OBS?
- Why Did Some of My Data Stored on OBS Get Lost?
- Can Deleted Data Be Recovered?
- Will There Be Data Left Over in OBS After I Delete an Object?
- Will My Bucket Performance Be Affected by Other Users' Services?
- Access Control
-
Buckets and Objects
- Why Am I Unable to Create a Bucket?
- Why Am I Unable to Upload an Object?
- Why Am I Unable to Download an Object?
- Why Can't I Delete a Bucket?
- What Is the Relationship Between Bucket Storage Classes and Object Storage Classes?
- Can I Modify the Region of a Bucket?
- How Do I Obtain the Access Path to an Object?
- Why Can't I Search for Certain Objects in My Bucket?
- What Should I Do If an Error Message Is Displayed When I Use Internet Explorer to Access an Object URL That Contains Chinese Characters?
- Tools
- APIs and SDKs
-
Security
- How Is Data Security Ensured in OBS?
- Does OBS Scan My Data for Other Purposes?
- Can Engineers Export My Data from the Background of OBS?
- How Does OBS Protect My Data from Being Stolen?
- Can a Pair of AK and SK Be Replaced When It Is Being Used to Access OBS?
- Can Multiple Users Share One Pair of AK and SK to Access OBS?
- How Do I Use Fragment Management?
- How Do I Use Versioning?
- Event Notification
- How Do I Use Lifecycle Management?
- How Do I Use Static Website Hosting?
- How Do I Use Cross-Region Replication?
- Server-Side Encryption
-
OBS Basics
- Change History
-
Tool Guide (OBS Browser+) (Paris Region)
- Introduction
- OBS Browser+ Function Overview
- Downloading OBS Browser+
- Installing OBS Browser+
- Logging In to OBS Browser+
-
FAQs
- Where Can I Obtain Access Keys (AK and SK)?
- Can I Install Two OBS Browser+ Tools from Different Sites in One System?
- What Are the Differences Between OBS Browser+ and OBS Browser?
- Does OBS Browser+ Support the Migration of Account and Task Information From OBS Browser?
- Why Does the Task Processing Speed Slow After the Number of Tasks Exceeds a Million?
- Why Are the Displayed Number of Objects and Used Storage Capacity Different from the Actual Number of Objects and Storage Capacity?
- How Can I Locate Common Network Errors?
- How Can I Permanently Share Files or Folders with Other Users?
- How Can I Access a Specific Bucket or Directory?
- Can I Cancel the Directory Sharing After a Directory Has Been Shared with Others?
- Can OBS Browser+ List Objects with Special Characters in Their Names?
- Uninstalling OBS Browser+
- Change History
- Tool Guide (obsfs) (Paris Region)
-
Tool Guide (obsutil) (Paris Region)
- Introduction to obsutil
- Downloading and Installing obsutil
- Getting Started
- Bucket Commands
-
Object Commands
- Creating a Folder
- Uploading an Object
- Querying Object Properties
- Setting Object Properties
- Listing Objects
- Copying an Object
- Moving an Object
- Downloading an Object
- Generating the Download Link of an Object
- Deleting an Object
- Synchronously Uploading Incremental Objects
- Synchronously Copying Incremental Objects
- Synchronously Downloading Incremental Objects
- Restoring Objects from the Cold Storage
- Resuming a Failed Upload Task
- Resuming a Failed Copy Task
- Resuming a Failed Download Task
- Listing Multipart Upload Tasks
- Deleting a Multipart Upload Task
- Creating an Authorization Code for Directory Sharing
- Listing Objects by Using an Authorization Code
- Downloading Objects by Using an Authorization Code
- Auxiliary Commands
- Common Examples
- Fault Locating
-
Best Practices
- Using the obsutil help Command to Search for Functions
- Configuring Scheduled Tasks Using the Crontab Command
- Setting obsutil Commands as Built-in Commands
- Fine-Tuning obsutil Performance
- Using obsutil for Resumable Data Transfer
- Using obsutil to Upload a Symbolic Link
- Configuring an HTTP Proxy for obsutil
- Using obsutil to Share Directories
- Using obsutil to Replicate Data Across Regions on the Client Side
- Limiting the Upload and Download Rate for obsutil
-
FAQs
- After Some Files Are Deleted in My Local Directory, Can obsutil Synchronously Delete Them from the Bucket?
- Can I Use obsutil to Directly Save a Listing Result to a Local File?
- Why Is the Size of Objects Queried by obsutil Inconsistent with That on OBS Console?
- How Can I Find Out Why Some Tasks in a Batch Task Failed?
- How Can I Locate and Rectify I/O Timeout and EOF Errors?
- Why Is a Question Mark Displayed in the Batch Task Progress Bar?
- Can Multiple config Files Be Placed in One Directory?
- Can obsutil List Objects with Special Characters in Their Names?
- Parameter Description
- Change History
- Parallel File System Feature Guide(Paris Region)
-
Image Processing (Paris Region)
- Introduction
- Start to Process (Using OBS Console)
- Start to Process (Using APIs)
- Typical Cases
- Obtaining Image Information
- Obtaining Average RGB Value of an Image
- Setting Image Effects
- Resizing Images
- Rotating Images
- Cropping Images
- Watermarking Images
- Converting Formats
- Changing Quality
- Slimming Images
- Image Persistency
- FAQ
- Change History
-
Permissions Configuration Guide (Paris Region)
- Introduction to OBS Access Control
- Permission Control Mechanisms
- Access Requests
- Typical Permission Control Scenarios
-
Configuration Cases in Typical Permission Control Scenarios
-
Granting Permissions to an IAM User Under the Current Account
- Granting an IAM User the Permissions Required to List and Create Buckets
- Granting an IAM User the Read/Write Permission for a Bucket
- Granting an IAM User the Specified Permissions for a Bucket
- Granting an IAM User the Read Permission for Specific Objects
- Granting an IAM User the Specified Permissions for Certain Objects
-
Granting Permissions to Multiple IAM Users or User Groups Under the Current Account
- Granting IAM User Groups All Permissions for All OBS Resources
- Granting IAM User Groups Basic Permissions for All OBS Resources
- Granting IAM User Groups the Specified Permissions for All OBS Resources
- Granting IAM User Groups the Specified Permissions for Certain OBS Resources
- Granting IAM User Groups the Specified Permissions for a Folder
-
Granting Permissions to Other Accounts
- Granting Other Accounts the Read/Write Permission for a Bucket
- Granting Other Accounts the Specified Permissions for a Bucket
- Granting IAM Users Under an Account the Access to a Bucket and the Resources in It
- Granting Other Accounts the Read Permission for Certain Objects
- Granting Other Accounts the Specified Permissions for Certain Objects
- Granting Permissions to Anonymous Users
- Granting Temporary Access to OBS
- Restricting Access to a Bucket for Specific IP Addresses
-
Granting Permissions to an IAM User Under the Current Account
- Appendix
- Change History
-
User Guide (Kuala Lumpur Region)
- Service Overview
-
OBS Console Operation Guide
- Console Function Overview
- Restrictions
- Getting Started
- Storage Classes Overview
- Managing Buckets
- Managing Objects
- Server-Side Encryption
- Object Metadata
-
Permission Control
- Overview
- Permission Control Mechanisms
- Bucket Policy Parameters
- Configuring IAM Policies
- Configuring a Bucket Policy
- Configuring an Object Policy
- Configuring a Bucket ACL
- Configuring an Object ACL
-
Application Cases
- Granting an IAM User with the Operation Permissions for a Specified Bucket
- Granting Other Accounts with the Operation Permissions for a Specified Bucket
- Restricting Bucket Access to a Specified Address
- Configuring the Start Time and End Time of Access to Objects in a Bucket
- Authorizing Access Permissions to Anonymous Users
- Authorizing Folder Access Permissions to Anonymous Users
- Versioning
- Logging
- Tags
- Event Notification
- Lifecycle Management
- User-Defined Domain Name Binding
- Static Website Hosting
- Cross-Origin Resource Sharing
- URL Validation
- Monitoring
- Related Operations
-
Troubleshooting
- An Object Fails to Be Downloaded Using Internet Explorer 11
- OBS Console Cannot Be Opened in Internet Explorer 9
- The Object Name Changes After an Object with a Long Name Is Downloaded to a Local Computer
- Failed to Configure Event Notification
- Time Difference Is Longer Than 15 Minutes Between the Client and Server
- Error Code List
-
FAQs
-
OBS Basics
- How Can I Get Started Using OBS?
- What Are the Advantages of Object Storage over SAN and NAS Storage?
- Which Types of Data Can Be Stored in OBS?
- How Much Data Can I Store in OBS?
- Does OBS Support Traffic Monitoring?
- Can Folders in OBS Be Used the Same Way as in a File System?
- Where Is Data Stored in OBS?
- What Is the Relationship Between OBS Bucket Names and OBS Domain Names?
- Does OBS Support Access over HTTPS?
- Can Other Users Access My Data Stored in OBS?
- Does OBS Support Resumable Data Transfer?
- Does OBS Support Batch Upload?
- Does OBS Support Batch Download?
- Does OBS Support Batch Deletion of Objects?
- What Are Factors that Affect the Upload and Download Speed of OBS?
- Why Did Some of My Data Stored on OBS Get Lost?
- Can Deleted Data Be Recovered?
- Will There Be Data Left Over in OBS After I Delete an Object?
- Access Control
-
Buckets and Objects
- Why Am I Unable to Create a Bucket?
- Why Am I Unable to Upload an Object?
- Why Am I Unable to Download an Object?
- Why Can't I Delete a Bucket?
- What Is the Relationship Between Bucket Storage Classes and Object Storage Classes?
- Can I Modify the Region of a Bucket?
- How Do I Obtain the Access Path to an Object?
- Why Can't I Find Certain Objects in a Bucket When I Searched for Them?
-
Security
- How Is Data Security Ensured in OBS?
- Does OBS Scan My Data for Other Purposes?
- Can Background Engineers Export My Data from OBS?
- How Does OBS Prevent My Data from Being Stolen?
- Can a Pair of AK and SK Be Replaced When They Are Being Used to Access OBS?
- Can a Pair of AK and SK Be Used by Multiple Users to Access OBS?
- Which Encryption Technologies Are Supported by OBS?
- How Do I Use Fragment Management?
- How Do I Use Versioning?
- How Do I Use Tags?
- Event Notification
- How Do I Use Lifecycle Management?
- How Do I Use Static Website Hosting?
-
OBS Basics
- Change History
-
API Reference (Kuala Lumpur Region)
- Before You Start
- API Overview
- Calling APIs
- Getting Started
-
APIs
- Operations on Buckets
-
Advanced Bucket Settings
- Configuring a Bucket Policy
- Obtaining Bucket Policy Information
- Deleting a Bucket Policy
- Configuring a Bucket ACL
- Obtaining Bucket ACL Information
- Configuring Logging for a Bucket
- Obtaining a Bucket Logging Configuration
- Configuring Bucket Lifecycle Rules
- Obtaining Bucket Lifecycle Configuration
- Deleting Lifecycle Rules
- Configuring Versioning for a Bucket
- Obtaining Bucket Versioning Status
- Configuring Event Notification for a Bucket
- Obtaining the Event Notification Configuration of a Bucket
- Configuring Storage Class for a Bucket
- Obtaining Bucket Storage Class Information
- Configuring Tags for a Bucket
- Obtaining Bucket Tags
- Deleting Tags
- Configuring Bucket Storage Quota
- Querying Bucket Storage Quota
- Obtaining Storage Information of a Bucket
- Configuring a Custom Domain Name for a Bucket
- Obtaining the Custom Domain Name of a Bucket
- Deleting the Custom Domain Name of a Bucket
- Configuring Bucket Encryption
- Obtaining Bucket Encryption Configuration
- Deleting the Encryption Configuration of a Bucket
-
Static Website Hosting
- Configuring Static Website Hosting for a Bucket
- Obtaining the Static Website Hosting Configuration of a Bucket
- Deleting the Static Website Hosting Configuration of a Bucket
- Configuring Bucket CORS
- Obtaining the CORS Configuration of a Bucket
- Deleting the CORS Configuration of a Bucket
- OPTIONS Bucket
- OPTIONS Object
-
Operations on Objects
- Uploading an Object - PUT
- Uploading an Object - POST
- Copying an Object
- Downloading an Object
- Querying Object Metadata
- Deleting an Object
- Deleting Objects
- Restoring Cold Objects
- Appending an Object
- Configuring an Object ACL
- Obtaining Object ACL Configuration
- Modifying Object Metadata
- Modifying an Object
- Truncating an Object
- Renaming an Object
- Operations on Multipart Upload
- Server-Side Encryption
- Error Codes
- IAM Policies and Supported Actions
- Appendixes
- Change History
-
Tool Guide (OBS Browser+) (Kuala Lumpur Region)
- Introduction
- OBS Browser+ Function Overview
- Downloading OBS Browser+
- Installing OBS Browser+
- Logging In to OBS Browser+
-
FAQs
- Where Can I Obtain Access Keys (AK and SK)?
- Can I Install Two OBS Browser+ Tools from Different Sites in One System?
- Why Does the Task Processing Speed Slow After the Number of Tasks Exceeds a Million?
- Why Are the Displayed Number of Objects and Used Storage Capacity Different from the Actual Number of Objects and Storage Capacity?
- How Can I Locate Common Network Errors?
- How Can I Permanently Share Files or Folders with Other Users?
- How Can I Access a Specific Bucket or Directory?
- Can I Cancel the Directory Sharing After a Directory Has Been Shared with Others?
- Can I Query the Number and Size of Files in a Folder on OBS Browser+?
- Uninstalling OBS Browser+
- Change History
- Tool Guide (obsfs) (Kuala Lumpur Region)
- Parallel File System Feature Guide (Kuala Lumpur Region)
- Best Practices (Kuala Lumpur Region)
-
User Guide (Ankara Region)
- Service Overview
- Configuration Before Use
-
OBS Console Operation Guide
- Console Function Overview
- Restrictions
- Getting Started
- Managing Buckets
- Managing Objects
- Object Metadata
- Bucket Inventories
-
Permissions Control
- Overview
- Permission Control Mechanisms
- Bucket Policy Parameters
- Configuring IAM Policies
- Configuring a Bucket Policy
- Configuring an Object Policy
- Configuring a Bucket ACL
- Configuring an Object ACL
-
Application Cases
- Granting an IAM User Permissions to Operate a Specific Bucket
- Granting Other Accounts Permissions to Operate a Specific Bucket
- Restricting Access to a Bucket for Specific Addresses
- Limiting the Time When Objects in a Bucket Are Accessible
- Granting Anonymous Users Permission to Access Objects
- Granting Anonymous Users Permission to Access Folders
- Versioning
- Logging
- Event Notifications
- Cross-Region Replication
- Cross-Cluster Replication
- Lifecycle Management
- Configuring User-Defined Domain Names
- Static Website Hosting
- Cross-Origin Resource Sharing
- URL Validation
- Task Center
- Two-AZ DR
- Related Operations
-
Troubleshooting
- An Object Fails to Be Downloaded Using Internet Explorer 11
- OBS Console Couldn't Be Opened in Internet Explorer 9
- The Object Name Changes After an Object with a Long Name Is Downloaded to a Local Computer
- Failed to Configure Event Notifications
- Time Difference Is Longer Than 15 Minutes Between the Client and Server
- Error Code 500 Is Returned When a Bucket with the Name of the Bucket Failing to Be Created in AZ 2 Is Created in AZ 1
- Object Upload or Download Errors
- Error Code List
-
FAQ
-
OBS Basics
- How Can I Get Started with OBS?
- What Are the Advantages of Object Storage over SAN and NAS Storage?
- Which Types of Data Can Be Stored in OBS?
- How Much Data Can I Store in OBS?
- Can Folders in OBS Be Used the Same Way as in a File System?
- Where Is Data Stored in OBS?
- Does OBS Support Access over HTTPS?
- Can Other Users Access My Data Stored in OBS?
- Does OBS Support Resumable Transfer?
- Does OBS Support Batch Upload?
- Does OBS Support Batch Download?
- Does OBS Support Batch Deletion of Objects?
- What Are the Factors That Affect Upload and Download Speeds of OBS?
- Why Did Some of My Data Stored on OBS Get Lost?
- Can Deleted Data Be Recovered?
- Will There Be Data Left Over in OBS After I Delete an Object?
- Will My Bucket Performance Be Affected by Other Users' Services?
- Access Control
-
Buckets and Objects
- Why Am I Unable to Create a Bucket?
- Why Am I Unable to Upload an Object?
- Why Am I Unable to Download an Object?
- Why Can't I Delete a Bucket?
- Can I Rename an Object?
- Can I Modify the Region of a Bucket?
- How Do I Obtain the Access Path to an Object?
- Why Can't I Search for Certain Objects in My Bucket?
- Does OBS Support Storage Quota Management?
-
Security
- How Is Data Security Ensured in OBS?
- Does OBS Scan My Data for Other Purposes?
- Can Engineers Export My Data from the Background of OBS?
- How Does OBS Protect My Data from Being Stolen?
- Can a Pair of AK and SK Be Replaced When It Is Being Used to Access OBS?
- Can Multiple Users Share One Pair of AK and SK to Access OBS?
- Durability and Availability
- Fragment Management
- Versioning
- Event Notifications
- How Do I Use Lifecycle Management?
- How Do I Use Static Website Hosting?
- How Do I Use Cross-Region Replication?
-
OBS Basics
- Change History
-
API Reference (Ankara Region)
- Before You Start
- API Overview
- Calling APIs
- Getting Started
-
APIs
- Operations on Buckets
-
Advanced Bucket Settings
- Configuring a Bucket Policy
- Obtaining Bucket Policy Information
- Deleting a Bucket Policy
- Configuring a Bucket ACL
- Obtaining Bucket ACL Information
- Configuring Logging for a Bucket
- Obtaining a Bucket Logging Configuration
- Configuring Bucket Lifecycle Rules
- Obtaining Bucket Lifecycle Configuration
- Deleting Lifecycle Rules
- Configuring Versioning for a Bucket
- Obtaining Bucket Versioning Status
- Configuring Event Notification for a Bucket
- Obtaining the Event Notification Configuration of a Bucket
- Configuring Cross-Region Replication for a Bucket
- Obtaining the Cross-Region Replication Configuration of a Bucket
- Deleting the Cross-Region Replication Configuration of a Bucket
- Configuring Tags for a Bucket
- Obtaining Bucket Tags
- Deleting Tags
- Configuring Bucket Storage Quota
- Querying Bucket Storage Quota
- Obtaining Storage Information of a Bucket
- Configuring Bucket Inventories
- Obtaining a Specific Inventory of a Bucket
- Listing All Inventories of a Bucket
- Deleting Bucket Inventories
- Configuring a Custom Domain Name for a Bucket
- Obtaining the Custom Domain Name of a Bucket
- Deleting the Custom Domain Name of a Bucket
- Configuring Cross-Cluster Replication for a Bucket
- Obtaining the Cross-Cluster Replication Configuration of a Bucket
- Deleting the Cross-Cluster Replication Configuration of a Bucket
-
Static Website Hosting
- Configuring Static Website Hosting for a Bucket
- Obtaining the Static Website Hosting Configuration of a Bucket
- Deleting the Static Website Hosting Configuration of a Bucket
- Configuring Bucket CORS
- Obtaining the CORS Configuration of a Bucket
- Deleting the CORS Configuration of a Bucket
- OPTIONS Bucket
- OPTIONS Object
-
Operations on Objects
- Uploading an Object - PUT
- Uploading an Object - POST
- Copying an Object
- Downloading an Object
- Querying Object Metadata
- Deleting an Object
- Deleting Objects
- Appending an Object
- Configuring an Object ACL
- Obtaining Object ACL Configuration
- Modifying Object Metadata
- Modifying an Object
- Truncating an Object
- Renaming an Object
- Operations on Multipart Upload
- Error Codes
- IAM Policies and Supported Actions
- Appendixes
- Change History
- Parallel File System Feature Guide(Ankara Region)
-
Tool Guide (OBS Browser+) (Ankara Region)
- Introduction
- OBS Browser+ Function Overview
- Downloading OBS Browser+
- Installing OBS Browser+
- Logging In to OBS Browser+
-
FAQs
- Where Can I Obtain Access Keys (AK and SK)?
- Can I Install Two OBS Browser+ Tools from Different Sites in One System?
- Why Does the Task Processing Speed Slow After the Number of Tasks Exceeds a Million?
- Why Are the Displayed Number of Objects and Used Storage Capacity Different from the Actual Number of Objects and Storage Capacity?
- How Can I Access a Specific Bucket or Directory?
- Can OBS Browser+ List Objects with Special Characters in Their Names?
- Uninstalling OBS Browser+
- Change History
-
Tool Guide (obsutil) (Ankara Region)
- Introduction to obsutil
- Downloading and Installing obsutil
- Getting Started
- Bucket Commands
-
Object Commands
- Creating a Folder
- Uploading an Object
- Querying Object Properties
- Setting Object Properties
- Listing Objects
- Copying an Object
- Moving an Object
- Downloading an Object
- Generating the Download Link of an Object
- Deleting an Object
- Synchronously Uploading Incremental Objects
- Synchronously Copying Incremental Objects
- Synchronously Downloading Incremental Objects
- Resuming a Failed Upload Task
- Resuming a Failed Copy Task
- Resuming a Failed Download Task
- Listing Multipart Upload Tasks
- Deleting a Multipart Upload Task
- Auxiliary Commands
- Common Examples
- Fault Locating
-
Best Practices
- Using the obsutil help Command to Search for Functions
- Configuring Scheduled Tasks Using the Crontab Command
- Setting obsutil Commands as Built-in Commands
- Fine-Tuning obsutil Performance
- Using obsutil for Resumable Data Transfer
- Using obsutil to Upload a Symbolic Link
- Configuring an HTTP Proxy for obsutil
- Using obsutil to Replicate Data Across Regions on the Client Side
- Limiting the Upload and Download Rate for obsutil
-
FAQs
- After Some Files Are Deleted in My Local Directory, Can obsutil Synchronously Delete Them from the Bucket?
- Can I Use obsutil to Directly Save a Listing Result to a Local File?
- Why Is the Size of Objects Queried by obsutil Inconsistent with That on OBS Console?
- How Can I Find Out Why Some Tasks in a Batch Task Failed?
- How Can I Locate and Rectify I/O Timeout and EOF Errors?
- Why Is a Question Mark Displayed in the Batch Task Progress Bar?
- Can Multiple config Files Be Placed in One Directory?
- Can obsutil List Objects with Special Characters in Their Names?
- Parameter Description
- Change History
-
Operation Guide (Leaving soon. Moving to User Guide.)
- Before You Start
- Storage Classes
- Bucket Management
- Object Management
- Permissions Control
- Data Management
- Data Access
- Data Security
- Data Processing
- Monitoring and Logging
- Parallel File System
-
Image Processing (Leaving soon. Moving to User Guide.)
- Introduction
- Using Image Processing on OBS Console
- Using Image Processing with APIs
- Typical Cases
- Getting Information About an Image
- Getting the Average RGB Value of an Image
- Setting Image Effects
- Resizing Images
- Rotating Images
- Cropping Images
- Watermarking Images
- Converting Image Formats
- Changing Image Quality
- Slimming Images
- Image Processing Persistency
-
FAQ
- What Is Image Processing?
- How Do I Access Image Processing?
- How Is Image Processing Billed?
- How Many Image Styles Can I Create in a Bucket?
- What Formats Does Image Processing Support?
- How Do I Access Image Processing with a URL?
- Where Are Processed Images Stored After CDN Acceleration Is Enabled?
- Why Was My Bucket Accessed by IP Addresses Starting with 100 After I Performed Image Processing in My Logging-enabled Bucket?
- Parallel File System (Leaving soon. Moving to User Guide.)
-
User Guide (ME-Abu Dhabi Region)
- General Reference
Copied.
Bucket Policy Parameters
A policy in JSON format is described as follows:
{ "Statement" : [{ statement1 }, { statement2 }, ...... ] }
{ "Statement" : [{ "Sid": "ExampleStatementID1", "Principal": "*", "Effect": "Allow", "Action": ["ListBucket"], "Resource": "examplebucket", "Condition": "some conditions" }, { "Sid": "ExampleStatementID2", "Principal": "*", "Effect": "Allow", "Action": ["PutObject"], "Resource": "examplebucket", "Condition": "some conditions" }, ...... ] }
A policy is comprised of one or more statements. Each statement contains the following elements:
Element |
Description |
Mandatory/Optional |
---|---|---|
Sid |
ID of a statement. The value is a string that describes the statement. |
Optional |
Principal |
Domains and users to which a statement applies. The wildcard (*) is supported, indicating all users. When permissions are authorized to all users under a domain, the format of Principal is domain/domainid:user/*. When permissions are authorized to a specific user under a domain, the format of Principal is domain/domainid:user/userId or domain/domainid:user/userName. If you configure a bucket inventory on OBS Console, a policy is automatically generated for the destination bucket. In the generated bucket policy, the value of Principal is {"Service": "obs"}. For details about bucket inventories, see Bucket Inventory. |
Optional. Select either Principal or NotPrincipal. |
NotPrincipal |
An exception to a list of principals in the statement. You can deny access to all principals except the ones named in the NotPrincipal element. This parameter has the same value format as Principal. |
Optional. Select either NotPrincipal or Principal. |
Action |
Actions which a statement applies to. This parameter specifies a set of all the operations supported by OBS. Its values are case insensitive. The value supports a wildcard character (*) that indicates all actions, for example, "Action":["List*", "Get*"]. |
Optional. Select either Action or NotAction. |
NotAction |
An exception to a list of actions in the statement. All actions are performed except the ones specified in NotAction. This parameter has the same value format as Action. |
Optional. Select either Action or NotAction. |
Effect |
Whether the permission in a statement is allowed or denied. The value is Allow or Deny. |
Mandatory |
Resource |
Resources on which the statement takes effect. The wildcard (*) is supported, indicating all resources. |
Optional. Select either Resource or NotResource. |
NotResource |
An exception to a list of resources in a statement. A policy is not applied to the resources specified in NotResource. This parameter has the same value format as Resource. |
Optional. Select either Resource or NotResource. |
Condition |
Conditions for a statement to take effect. |
Optional |
A statement must contain either Action or NotAction, either Resource or NotResource, and either Principal or NotPrincipal.
Principal/NotPrincipal
Principal or NotPrincipal supported by OBS includes all accounts, specific tenants, specific users, federated users, and agencies.
- All (all accounts)
"Principal": {"ID": "*"}
In the example, the wildcard (*) is used as a placeholder for Everyone/Anonymous. We strongly recommend that you do not use wildcards in the Principal element of the role's trust policy unless you have restricted access by using the Condition element in the policy.
- Specific tenants
If the tenant identifier is used as the authorizer in the policy, permissions in the policy statement can be granted to all roles, including all the users, contained in this tenant. The following example demonstrates how to specify a tenant as an authorizer.
"Principal": { "ID": " domain/domainIdxxxx:user/*" }
You can grant permissions to multiple tenants, as described in the following example:
"Principal": { "ID": [ "domain/domainIDxx1:user/useridxxxx", "domain/domainIDxx2:user/*" ] }
- Specific users
In the Principal element, user names are case sensitive.
"Principal": {"ID": "domain/domainIDxxx:user/user-name" } "Principal": { "ID": [ "domain/domainIDxxx:user/UserID1", "domain/domainIDxxx:user/UserID2" ] }
- Federated users (using SAML identity provider)
"Principal": { "Federated": "domain/domainIDxxx:identity-provider/provider-name" } "Principal": { "Federated": "domain/domainIDxxx:group/groupname" }
- Agencies
If you configure a bucket inventory on OBS Console, a policy is automatically generated for the destination bucket. In the generated bucket policy, the Principal is configured as follows:
"Principal":{"Service": "obs"}
For details about bucket inventories, see Bucket Inventory.
The principals on OBS Console refer to the users which the bucket policies apply to. These users can be accounts and IAM users. The Exclude settings can determine whether a bucket policy applies to the specified principals:
Specified principals: By selecting this option (optional), the bucket policy applies to users except the specified ones.
- Exclude not selected: The bucket policy applies to the specified users.
- Exclude selected: The bucket policy applies to users except the specified ones.
Specifying IAM users under the current account
With Principal set to Current account, you can select one or more users for IAM user, so the bucket policy applies to the selected IAM users under this account.
Specifying another account
With Principals set to Other accounts, you can enter one or more account IDs. If you want to apply the bucket policy to only the IAM users under that account, enter one or more IAM user IDs.
To obtain the account ID and IAM user ID, log in to the console as an IAM user and go to the My Credentials page.
Specifying a delegated account
With Principals set to Delegated accounts, you can specify one or more delegated accounts. After the bucket policy is created, the accounts you delegate your resource operation permissions to can perform O&M on your behalf.
Delegated accounts can be added only after Other accounts is selected.
Specifying all accounts
To grant the bucket access to anyone, set Principals to All accounts.
Exercise caution when granting bucket access permissions to all accounts. If you grant the access permissions to all accounts, anyone can access your bucket. You are advised to set restrictions on access requests. For example, you can allow the access requests from only one IP address.
Action/NotAction
If a policy applies to a bucket, configure bucket-related actions; if the policy applies to the objects in a bucket, configure object-related actions.
The Exclude setting can be used to determine whether the bucket policy applies to the specified actions.
Specified actions: By selecting this option (optional), the bucket policy applies to actions except the specified ones.
- Exclude not selected: The bucket policy applies to the specified actions.
- Exclude selected: The bucket policy applies to actions except the specified ones.
- By default, Specified actions is selected for Exclude in the bucket read/write template only. The action exclusion setting in bucket policy templates cannot be modified.
Bucket Actions
Type |
Value |
Description |
---|---|---|
General |
* |
Indicates that all operations can be performed on a resource. |
Get* |
Indicates that all GET operations can be performed on a resource. |
|
Put* |
Indicates that all PUT operations can be performed on a resource. |
|
List* |
Indicates that all LIST operations can be performed on a resource. |
|
Bucket |
HeadBucket |
Checks whether a bucket exists and obtains the bucket metadata. |
CreateBucket |
Creates a bucket. |
|
DeleteBucket |
Deletes a bucket. |
|
ListBucket |
Lists objects in a bucket, and obtains the bucket metadata. |
|
ListBucketVersions |
Lists versioned objects in a bucket. |
|
ListBucketMultipartUploads |
Lists multipart upload tasks. |
|
GetBucketAcl |
Gets the bucket ACL information. |
|
PutBucketAcl |
Configures a bucket ACL. |
|
GetBucketCORS |
Gets the CORS configuration of a bucket. |
|
PutBucketCORS |
Configures CORS for a bucket. |
|
GetBucketVersioning |
Gets the bucket versioning information. |
|
PutBucketVersioning |
Configures versioning for a bucket. |
|
GetBucketLocation |
Gets the bucket location. |
|
GetBucketLogging |
Gets the bucket logging information. |
|
PutBucketLogging |
Configures logging for a bucket. |
|
GetBucketWebsite |
Obtains the static website configuration information of a bucket. |
|
PutBucketWebsite |
Configures static website hosting for a bucket. |
|
DeleteBucketWebsite |
Cancels the static website hosting of a bucket. |
|
GetLifecycleConfiguration |
Obtains the lifecycle rules of a bucket. |
|
PutLifecycleConfiguration |
Configures a lifecycle rule for a bucket. |
|
GetBucketInventoryConfiguration |
Gets the inventory configuration of a bucket. |
|
PutBucketInventoryConfiguration |
Configures inventories for a bucket. |
|
DeleteBucketInventoryConfiguration |
Deletes the inventory configuration of a bucket. |
|
PutBucketPolicy |
Configures a bucket policy.
NOTE:
Granting this permission is risky. Users with the PutBucketPolicy permission can modify bucket policies and can use this permission to further obtain other permissions, including deleting bucket policies. |
|
GetBucketPolicy |
Gets a bucket policy. |
|
DeleteBucketPolicy |
Deletes a bucket policy. |
|
PutBucketStoragePolicy |
Configures the default storage class for a bucket. |
|
GetBucketStoragePolicy |
Gets the default storage class of a bucket. |
|
PutReplicationConfiguration |
Configures cross-region replication for a bucket. |
|
GetReplicationConfiguration |
Gets the cross-region replication configuration of a bucket. |
|
DeleteReplicationConfiguration |
Deletes the cross-region replication configuration of a bucket. |
|
PutBucketTagging |
Configures tags for a bucket. |
|
GetBucketTagging |
Gets bucket tags. |
|
DeleteBucketTagging |
Deletes bucket tags. |
|
PutBucketQuota |
Configures bucket storage quota. |
|
GetBucketQuota |
Gets bucket storage quota. |
|
PutBucketCustomDomainConfiguration |
Binds a user-defined domain name to a bucket. |
|
GetBucketCustomDomainConfiguration |
Gets the custom domain name of a bucket. |
|
DeleteBucketCustomDomainConfiguration |
Unbinds a user-defined domain name from a bucket. |
|
PutDirectColdAccessConfiguration |
Configures direct reading for a bucket. |
|
GetDirectColdAccessConfiguration |
Gets the direct reading configuration of a bucket. |
|
DeleteDirectColdAccessConfiguration |
Deletes the direct reading configuration of a bucket. |
|
GetEncryptionConfiguration |
Gets the default encryption configuration of a bucket. |
|
PutEncryptionConfiguration |
Configures default encryption for a bucket. |
|
PutBucketObjectLockConfiguration |
Configures a default retention policy for a bucket. |
|
GetBucketObjectLockConfiguration |
Obtains the default retention settings of a bucket. |
Object Actions
Type |
Value |
Description |
---|---|---|
General |
* |
Indicates that all operations can be performed on a resource. |
Get* |
Indicates that all GET operations can be performed on a resource. |
|
Put* |
Indicates that all PUT operations can be performed on a resource. |
|
List* |
Indicates that all LIST operations can be performed on a resource. |
|
Object |
GetObject |
Gets the content and metadata of an object. GetObject is applicable to GET Object and HEAD Object. |
GetObjectVersion |
Gets the content and metadata of a specified object version. |
|
PutObject |
Performs PUT upload, POST upload, multipart upload, initialization of uploaded parts, and merging of parts. PutObject is applicable to PUT Object, POST Object, Initiate Multipart Upload, Upload Part, and Complete Multipart Upload. |
|
GetObjectAcl |
Gets the object ACL information. |
|
GetObjectVersionAcl |
Gets the ACL information of a specified object version. |
|
PutObjectAcl |
Configures the ACL for an object. |
|
PutObjectVersionAcl |
Configures the ACL for a specified object version. |
|
DeleteObject |
Deletes an object. |
|
DeleteObjectVersion |
Deletes a specified object version. |
|
ListMultipartUploadParts |
Lists uploaded parts. |
|
AbortMultipartUpload |
Cancels a multipart upload. |
|
ModifyObjectMetadata |
Modifies object metadata. |
|
RestoreObject |
Restores an object from Archive storage class. |
|
PutObjectRetention |
Configures a retention policy for an object. |
|
PutObjectTagging |
Adds a tag to an object. |
|
GetObjectTagging |
Gets object tags. |
|
DeleteObjectTagging |
Deletes object tags. |
Resource/NotResource
The resources supported by OBS are as follows:
- bucketname (bucket operation): The Action drop-down list box contains the list of supported bucket actions. If you want to perform the listed operations on the bucket, set Resource to the bucket name.
- bucketname/objectname (object operation): The Action drop-down list box contains the list of supported object actions. If you want to respond to an object in a bucket, set Resource to bucketname/objectname. objectname supports wildcards. For example, if you have permissions on the directory object in a bucket, set Resource to "bucketname/directory/*". If you have permissions on all the objects in a bucket, set Resource to "bucketname/*". If permissions for both a bucket and its objects need to be granted, set Resource to ["examplebucket/*","examplebucket"].
The following example policy grants all operation permissions on examplebucket (including the bucket and its objects) to user1 whose user ID is 71f3901173514e6988115ea2c26d1999 under account b4bf1b36d9ca43d984fbcb9491b6fce9 (account ID).
{ "Statement":[ { "Sid":"test", "Effect":"Allow", "Principal": {"ID": ["domain/b4bf1b36d9ca43d984fbcb9491b6fce9:user/71f3901173514e6988115ea2c26d1999"]}, "Action":["*"], "Resource":["examplebucket/*","examplebucket"] } ] }
On OBS Console, you can apply a bucket policy to the following resources: an entire bucket (including the objects in it), the current bucket, and specified objects in a bucket.
The Exclude setting can be used to determine whether the bucket policy applies to the specified resources.
Specified resources: By selecting this option (optional), the bucket policy applies to resources except the specified ones.
- Exclude not selected: The bucket policy applies to the specified OBS resources.
- Exclude selected: The bucket policy applies to OBS resources except the specified ones.
Applying a bucket policy to the entire bucket (including the objects in it)
If you apply the bucket policy to the entire bucket (including the objects in it), actions related to the bucket and objects must be configured in the policy.
Applying a bucket policy to a bucket
To apply a bucket policy to the current bucket, select Current bucket. When configuring actions for the policy, select bucket related actions.
Applying a bucket policy to specified objects
To apply the bucket policy to specified objects in a bucket, object-related actions must be configured in the policy. Specifically, select Specified objects for Resources. The configuration format is as follows:
- For an object, enter the object name (including its folder name if any). For example, if the specified resource is the example.jpg file in the imgs-folder folder in the bucket, enter the following content in the resource text box:
imgs-folder/example.jpg
- For an object set, the wildcard asterisk (*) should be used. The asterisk (*) indicates an empty string or any combination of multiple characters. The format rules are as follows:
- Use only one asterisk (*) to indicate all objects in a bucket.
- Use Object name prefix* to indicate objects starting with this prefix in a bucket. Example:
imgs*
- Use *Object name suffix to indicate objects ending with this suffix in a bucket. Example:
*.jpg
Condition
In addition to the effect, principals, resources, and actions, you can also specify the conditions under which a bucket policy takes effect. The bucket policy takes effect only when its condition expressions match values contained in the request. Conditions are optional. You can choose whether to configure them.
For example, if account A needs to have full control over an object uploaded by account B to bucket example of account A, the x-obs-acl key must be specified in the upload request and the policy effect must be set to Allow for account A. The complete condition expression is as follows:
Condition Operator |
Key |
Value |
---|---|---|
StringEquals |
x-obs-acl |
bucket-owner-full-control |
A condition consists of three parts: condition operator, key, and value. If there are multiple identical keys in the same condition operator, only the last key is retained. Condition operators and keys are mutually restricted. If you select a condition operator of the string type, for example, StringEquals, the key can only be of the string type, for example, UserAgent. Likewise, if a key of the date type is selected, for example, CurrentTime, the condition operator can only be of the date type, for example, DateEquals.
- Condition operators
A condition operator, a condition key, and a condition value together constitute a complete condition statement. A policy can be applied only when its request conditions are met. Table 4 lists the condition operators available for statements. String condition operators are not case-sensitive unless otherwise specified.
Type |
Element |
Description |
---|---|---|
String |
StringEquals |
Strict matching. Short version: streq |
StringNotEquals |
Strict negated matching. Short version: strneq |
|
StringEqualsIgnoreCase |
Strict matching, ignoring case. Short version: streqi |
|
StringNotEqualsIgnoreCase |
Strict negated matching, ignoring case. Short version: strneqi |
|
StringLike |
Loose case-sensitive matching. The values can include a multi-character match wildcard (*) or a single-character match wildcard (?) anywhere in the string. Short version: strl |
|
StringNotLike |
Negated loose case-sensitive matching. The values can include a multi-character match wildcard (*) or a single-character match wildcard (?) anywhere in the string. Short version: strnl |
|
Numeric |
NumericEquals |
Strict matching. Short version: numeq Numeric indicates a data type expressed in numbers. |
NumericNotEquals |
Strict negated matching. Short version: numneq |
|
NumericLessThan |
"Less than" matching. Short version: numlt |
|
NumericLessThanEquals |
"Less than or equals" matching. Short version: numlteq |
|
NumericGreaterThan |
"Greater than" matching. Short version: numgt |
|
NumericGreaterThanEquals |
"Greater than or equals" matching. Short version: numgteq |
|
Date |
DateEquals |
Strict matching. Short version: dateeq |
DateNotEquals |
Strict negated matching. Short version: dateneq |
|
DateLessThan |
The date is earlier than a specific date. Short version: datelt |
|
DateLessThanEquals |
The date is earlier than or equal to a specific date. Short version: datelteq |
|
DateGreaterThan |
The date is later than a specific date. Short version: dategt |
|
DateGreaterThanEquals |
The date is later than or equal to a specific date. Short version: dategteq |
|
Boolean |
Bool |
Strict Boolean matching |
IP address |
IpAddress |
Specified IP address or IP address range |
NotIpAddress |
All IP addresses excluding the specified IP address or IP address range |
Elements in a condition are case sensitive. The date format complies with the ISO 8601 standard, for example, 2015-07-01T12:00:00Z.
Each condition can contain multiple key-value pairs. The Condition combination in the following figure indicates that the request time ranges from 2015-07-01T12:00:00Z to 2018-04-16T15:00:00Z and the request IP address range is 192.168.176.0/24 or 192.168.143.0/24.
"Condition" : { "DateGreaterThan" : { "CurrentTime" : "2015-07-01T12:00:00Z" }, "DateLessThan": { "CurrentTime" : "2018-04-16T15:00:00Z" }, "IpAddress" : { "SourceIp" : ["192.168.176.0/24","192.168.143.0/24"] } }
- Condition keys
Keys in a condition can be classified into three types: general keys, keys related to bucket actions, and keys related to object actions.
The following table lists the keys that are not related to actions.
Key |
Type |
Description |
---|---|---|
CurrentTime |
Date |
Date when the request is received by the server. The date format must comply with ISO 8601. |
EpochTime |
Numeric |
Time when the request is received by the server, which is expressed as seconds since 1970.01.01 00:00:00 UTC, regardless of the leap seconds |
SecureTransport |
Bool |
Whether requests are encrypted using SSL
NOTE:
The value can be either true or false. Any other values you enter will become false by default. |
SourceIp |
IP address |
Source (client) IP address of the request |
UserAgent |
String |
Requested client software agent |
Referer |
String |
Link from which the request is sent |
SourceVpce |
String |
ID of the VPC endpoint that initiates the request
NOTE:
Supported only in the CN South-Guangzhou and CN East-Shanghai1 regions. |
SourceVpc |
String |
ID of the VPC that initiates the request.
NOTE:
Supported only in the CN South-Guangzhou and CN East-Shanghai1 regions. |
Keys in a condition must be used in certain actions. The following table lists the mapping between actions and the keys in a condition.
Action |
Optional Key |
Description |
Remarks |
---|---|---|---|
ListBucket |
prefix |
Type: String. Lists objects that begin with the specified prefix. |
If prefix, delimiter, and max-keys are configured, the key-value pair meeting the conditions must be specified in the List operation for the bucket policy to take effect. For example, if a bucket policy (with the condition operator set to NumericEquals, the key to max-keys, and the value to 100) that allows all accounts to read data is configured for a bucket, all accounts must add ?max-keys=100 to the end of the bucket domain name for listing objects. The listed objects are the first 100 objects in alphabetic order. |
delimiter |
Type: String. Groups objects in a bucket. |
||
max-keys |
Type: Numeric. Sets the maximum number of objects. Returned objects are listed in alphabetic order. |
||
ListBucketVersions |
prefix |
Type: String. Lists multi-version objects whose name starts with the specified prefix. |
|
delimiter |
Type: String. Groups objects of different versions in a bucket. |
||
max-keys |
Type: Numeric. Sets the maximum number of objects. Returned objects are listed in alphabetic order. |
||
PutBucketAcl |
x-obs-acl |
Type: String. Configures the bucket ACL. When modifying a bucket ACL, you can use the request that contains a canned ACL setting in its header. Value options of a canned ACL setting: private|public-read|public-read-write|bucketowner-read|log-delivery-write. |
None |
Action |
Optional Key |
Description |
---|---|---|
PutObject |
x-obs-acl |
Type: String. Configures the object ACL. When uploading an object, you can use the request that contains a canned ACL setting in its header. Value options of a canned ACL setting: private|public-read|public-read-write|bucketowner-read|bucket-owner-full-control|log-delivery-write. |
x-obs-copy-source |
Type: String. Specifies names of the source bucket and the source object. Format: /bucketname/keyname |
|
x-obs-metadata-directive |
Type: String. Specifies whether to copy the metadata from the source object or replace with the metadata in the request. The value can be COPY or REPLACE. |
|
x-obs-server-side-encryption |
Type: String. Specifies that objects in a bucket are encrypted using SSE-KMS before they are stored. The value is kms. |
|
PutObjectAcl |
x-obs-acl |
Type: String. Configures the object ACL. When uploading an object, you can use the request that contains a canned ACL setting in its header. Value options of a canned ACL setting: private|public-read|public-read-write|bucketowner-read|bucket-owner-full-control|log-delivery-write. |
GetObjectVersion |
versionId |
Type: String. Obtains the object with the specified version ID. |
GetObjectVersionAcl |
versionId |
Type: String. Obtains the ACL of the object with the specified version ID. |
PutObjectVersionAcl |
versionId |
Type: String. Specifies a version ID. |
x-obs-acl |
Type: String. Configures the ACL of the object with the specified version ID. When uploading an object, you can use the request that contains a canned ACL setting in its header. Value options of a canned ACL setting: private|public-read|public-read-write|bucketowner-read|bucket-owner-full-control|log-delivery-write. |
|
DeleteObjectVersion |
versionId |
Type: String. Deletes the object with the specified version ID. |
Policy Permission Judgment Logic
A policy may pose any of the three results for each statement: Explicit Deny, Allow, and Default Deny. If a bucket policy contains multiple statements, the policy determines which statement prevails according to the following rules:
1. If conditions in any statement of a policy are not met, the policy poses a default deny result.
2. An explicit deny overrides an allow.
3. An allow overrides a default deny.
4. Statements can be in any order in a policy.
Result |
Description |
---|---|
explicit deny |
A statement defines effect="deny". All requests for resources to which the statement applies are denied. No permission is returned. |
allow |
A statement defines effect="allow". All requests for resources to which the statement applies are allowed. |
default deny |
Conditions defined in a statement are not met. Requests are denied. |
If an ACL and a bucket policy are applied together to an account, an explicit deny in the bucket policy overrides the allow in the ACL.
If a bucket policy and an IAM policy are applied together to an account, an explicit deny overrides the allow, and an allow overrides the default deny.
SSE-KMS server-side encrypted object does not support Bucket ACL/Policy for cross-tenant authorization.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot