- Descripción general del servicio
- Pasos iniciales
-
Guía del usuario
- Antes de comenzar
- Clases de almacenamiento
- Gestión de buckets
- Gestión de objetos
- Control de permisos
- Gestión de datos
- Acceso a los datos
- Seguridad de datos
- Procesamiento de datos
- Monitoreo y registro
- Sistema de archivos paralelo
-
Guía del usuario
- Descripción de la función de consola
- Compatibilidad del navegador web
- Pasos iniciales
- Storage Classes Overview
- Gestión de bucket
-
Gestión de objetos
- Creación de la carpeta
- Carga de un objeto
- Descarga de un objeto
- Compartir un objeto
- Compartir una carpeta
- Búsqueda de un objeto o una carpeta
- Enumeración de objetos
- Acceso a un objeto mediante su URL
- Restauración de objetos del almacenamiento Archive
- Eliminación de un objeto o una carpeta
- Recuperación de un objeto
- Gestión de fragmentos
- Gestión de paquetes de recursos
- Configuración de encriptación del lado del servidor
- WORM
- Metadatos de objeto
- Inventarios de bucket
-
Control de permisos
- Overview
- Mecanismos de control de permisos
- Bucket Policy Parameters
- Configuración de permisos de IAM
- Configuración de la política de bucket
- Configuración de una política de objeto
- Configuración de la ACL de bucket
- Configuración de una ACL de objeto
-
Application Cases
- Granting an IAM User Permissions to Operate a Specific Bucket
- Granting Other Huawei Cloud Accounts Permissions to Operate a Specific Bucket
- Restricting Access to a Bucket to 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
- Configuración de lectura directa
- Control de versiones
- Registro
- Etiquetas
- Configuración de notificaciones de eventos
- Replicación entre regiones
- Gestión del ciclo de vida
- Configuración de nombres de dominio definidos por el usuario
- Vuelta a la fuente
- Alojamiento de sitio web estático
- Intercambio de recursos entre orígenes
- Validación de URL
- Monitoreo
- Cloud Trace Service
- Configuración de una política de descompresión en línea
- Uso de visualización
- Gestión de tareas
- Operaciones relacionadas
-
Solución de problemas
- Un objeto no se puede descargar mediante Internet Explorer 11
- No se puede abrir OBS Console en Internet Explorer 9
- El nombre del objeto cambia después de que un objeto con un nombre largo se descarga en un equipo local
- Failed to Configure Event Notification
- La diferencia horaria es superior a 15 minutos entre el cliente y el servidor
- Lista de códigos de error
-
Referencia de la API
- Antes de comenzar
- Descripción de las API
- Llamar a APIs
- Pasos iniciales
-
Las API
- Operaciones en buckets
-
Configuración avanzada del bucket
- Configuración de la política de bucket
- Obtención de información sobre la política de bucket
- Eliminación de una política de bucket
- Configuración de la ACL de bucket
- Obtención de información de ACL de bucket
- Configuración del registro de un bucket
- Obtención de una configuración de registro de bucket
- Configuración de reglas del ciclo de vida del bucket
- Obtención de la configuración del ciclo de vida del bucket
- Eliminación de reglas del ciclo de vida
- Configuración del control de versiones para un bucket
- Obtención del estado de control de versiones del bucket
- Configuración de Notificación de Evento para un Bucket
- Obtención de la configuración de notificación de evento de un bucket
- Configuración de la clase de almacenamiento para un bucket
- Obtención de información de clase de almacenamiento de bucket
- Configuración de la replicación entre regiones para un bucket
- Obtención de la configuración de replicación entre regiones de un bucket
- Eliminación de la configuración de replicación entre regiones de un bucket
- Configuración de etiquetas para un bucket
- Obtención de etiquetas de bucket
- Eliminación de etiquetas
- Configuración de la cuota de almacenamiento de bucket
- Consulta de la cuota de almacenamiento de bucket
- Obtención de información de almacenamiento de un bucket
- Configuración de inventarios de bucket
- Obtención de inventarios de bucket
- Listado de inventarios de bucket
- Eliminación de inventarios de bucket
- Configuración de un nombre de dominio personalizado para un bucket
- Obtención del nombre de dominio personalizado de un bucket
- Eliminación del nombre de dominio personalizado de un bucket.
- Configuración de la encriptación de bucket
- Obtención de la configuración de la encriptación de bucket
- Eliminación de la configuración de la encriptación de bucket
- Configuración de la política de lectura directa para objetos de Archive en un bucket
- Obtención de la política de lectura directa de objetos de Archive en un bucket
- Eliminación de la política de lectura directa para objetos de Archive en un bucket
- Configuración de reglas de vuelta a la fuente de duplicación
- Obtención de reglas de vuelta a la fuente de duplicación
- Eliminación de reglas de vuelta a la fuente de duplicación
- 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
-
Alojamiento de sitio web estático
- Configuración de alojamiento estático de sitios web para un bucket
- Obtención de la configuración de alojamiento de sitios web estáticos de un bucket
- Eliminación de la configuración de alojamiento de sitios web estáticos de un bucket
- Configuración de Bucket CORS
- Obtención de la configuración CORS de un bucket
- Eliminación de la configuración CORS de un bucket
- Bucket de OPTIONS
- Objeto de OPTIONS
-
Operaciones en objetos
- Carga de objetos - PUT
- Carga de objetos - POST
- Copia de objetos
- Descarga de objetos
- Consulta de metadatos de objetos
- Eliminación de un objeto
- Eliminación de objetos
- Restauración de objetos de Archive
- Adición de un objeto
- Configuración de una ACL de objeto
- Obtención de la configuración de ACL de objetos
- Modificación de metadatos de objetos
- Modificación de un objeto
- Truncamiento de un objeto
- Cambio de nombre de un objeto
- Configuring WORM Retention for an Object
- Operaciones en carga multiparte
- Encriptación del lado del servidor
- Códigos de error
- Permisos y acciones soportadas
- Apéndices
-
Preguntas frecuentes
-
Introducción a OBS
- ¿Cómo puedo empezar a usar OBS?
- ¿Cómo obtengo un punto de conexión de OBS?
- ¿Cuáles son las ventajas del almacenamiento de objetos en comparación con el almacenamiento de SAN y de NAS?
- ¿Qué tipos de datos se pueden almacenar en OBS?
- ¿Cuánto dato puedo almacenar en OBS?
- ¿OBS soporta el monitoreo de tráfico?
- ¿Se pueden usar las carpetas en OBS de la misma manera que en un sistema de archivos?
- ¿Dónde se almacenan los datos en OBS?
- ¿Cómo puedo determinar en qué región almacenar mis datos?
- ¿OBS admite el acceso con HTTPS?
- ¿Pueden otros usuarios acceder a mis datos almacenados en OBS?
- ¿OBS admite la transferencia reanudable?
- ¿OBS soporta la carga por lotes?
- ¿OBS admite la descarga por lotes?
- ¿OBS admite la eliminación por lotes de objetos?
- ¿Cuáles son los factores que afectan la velocidad de carga y descarga de OBS?
- ¿Por qué se perdieron algunos mis datos almacenados en OBS?
- ¿Se pueden recuperar datos eliminados?
- ¿Habrá datos sobrantes en OBS después de eliminar un objeto?
- ¿Qué puedo hacer si mi acceso al nombre de dominio de OBS falló debido a un error de conexión de certificado de CA?
- ¿Cuáles son las diferencias entre OBS, EVS y SFS?
- ¿Por qué se reporta una alarma cuando accedo a un URL de OBS?
- ¿Cómo puedo determinar si estoy accediendo a OBS por una intranet?
- ¿El rendimiento de mi bucket se verá afectado por los servicios de otros usuarios?
-
Facturación
- ¿Cómo compro un OBS?
- ¿Por qué OBS aún no está disponible aunque mi cuenta esté recargada y no haya facturas pendientes?
- ¿Por qué mi bucket genera tarifas de almacenamiento aunque no hay objetos en él?
- ¿Por qué todavía me están facturando por el tráfico de extracción utilizado por la aceleración de CDN cuando ya tengo un paquete del tráfico de extracción?
- ¿Por qué me siguen facturando después de comprar un paquete de recursos?
- ¿Para qué se utiliza un paquete de almacenamiento Standard (AZ múltiples)?
- ¿Necesito comprar un paquete de tráfico de Internet saliente si ya tengo un paquete de tráfico de extracción?
- ¿Por qué mi bucket genera tráfico cuando no hay objetos en él?
- ¿Cómo se cuentan las solicitudes?
- ¿Tengo que comprar un paquete de recursos? ¿Puedo aplicar un paquete a un bucket específico?
- ¿Puedo cancelar la suscripción o modificar un paquete de recursos?
- ¿Puedo comprar la solicitud?
- ¿Los sistemas de archivos paralelos admiten paquetes de recursos?
- ¿Qué tipos de paquetes de recursos restablecerán su cuota por mes y qué tipos no?
- ¿La cuota de paquete restante en un mes determinado se llevará al mes siguiente?
- ¿Qué puedo hacer si mi paquete de recursos caduca?
- ¿Se restringirá la escritura de mis datos cuando se haya agotado mi paquete de OBS?
- ¿Por qué hay un cargo de $0.01 USD en mi factura de OBS?
-
Control de acceso
- ¿Cómo puedo controlar el acceso a OBS?
- ¿Cuáles son las diferencias entre el uso de un permiso de IAM y una política de bucket en el control de acceso?
- ¿Cuál es la relación entre una política de bucket y una política de objeto?
- ¿Por qué sigue apareciendo el mensaje "Access denied" después de que IAM asignara los permisos del sistema de OBS?
- ¿Por qué aparece el mensaje "Access denied" después de que se me otorgaron los permisos de lectura y escritura para un bucket?
- ¿Por qué no puedo acceder a OBS (403 AccessDenied) después de recibir el permiso de acceso de OBS?
-
Buckets y objetos
- ¿Por qué no puedo crear un bucket?
- ¿Por qué no puedo cargar un objeto?
- ¿Por qué no puedo descargar un objeto?
- ¿Por qué no puedo eliminar un bucket?
- ¿Por qué no puedo acceder a un objeto con su URL?
- ¿Cuál es la relación entre las clases de almacenamiento de bucket y las clases de almacenamiento de objetos?
- ¿Puedo cambiar el nombre de un objeto?
- ¿Puedo modificar la región de un bucket?
- ¿Puedo copiar un archivo entre los buckets?
- ¿Puedo mover un archivo entre los bucket?
- ¿Puedo editar objetos en OBS en línea?
- ¿Cómo obtengo la ruta de acceso a un objeto?
- ¿Por qué no puedo buscar ciertos objetos en mi bucket?
- ¿Cómo previsualizo objetos en OBS en un navegador en línea?
- ¿Qué debo hacer si se muestra un mensaje de error cuando uso Internet Explorer para acceder a un URL de objeto que contiene los caracteres chinos?
- Con la aceleración de CDN activada, ¿por qué se descargan directamente los objetos de mi bucket de OBS cuando accedo a ellos?
- ¿Cómo puedo eliminar por lotes un gran número de objetos desde un bucket o vaciar un bucket?
-
Herramientas
- Al descargar una carpeta usando obsutil, la velocidad de descarga se ralentiza después de que el progreso de descarga de la carpeta alcanza el 90 %
- Con obsutil, la descarga de un archivo falla después de que el progreso de descarga alcanza el 99 %
- Carga y descarga lenta a través de obsutil
- ¿Cómo uso el comando de obsutil cp para habilitar la carga, descarga o replicación incremental?
- ¿Puedo montar mi sistema de archivos paralelo en un servidor de Windows?
-
API y SDK
- ¿Cuáles son las diferencias entre los métodos de carga de PUT y de POST?
- Error con el SDK de OBS al cargar un archivo superior a 5 GB
- ¿Qué puedo hacer cuando se muestra el mensaje de error "okhttp3.RequestBody.create(java.lang.String,okhttp3.MediaType)" para el SDK de Java?
- ¿Una carga anexada admite el mecanismo de bloqueo para operaciones simultáneas?
- ¿Por qué no coinciden las firmas?
-
Seguridad
- ¿Cómo se asegura la seguridad de los datos en OBS?
- ¿OBS escanea mis datos para otros propósitos?
- ¿Pueden los ingenieros exportar mis datos desde el fondo de OBS?
- ¿Cómo protege OBS mis datos de ser robados?
- ¿Se puede reemplazar un par de AK y SK cuando se utiliza para acceder a OBS?
- ¿Pueden varios usuarios compartir un par de AK y SK para acceder a OBS?
- ¿Puedo recuperar datos de OBS después de que se eliminen o se sobrescriben?
- Durabilidad y disponibilidad
- Migración y copia de respaldo de datos
- ¿Cómo uso la gestión de fragmentos?
- ¿Cómo uso el control de versiones?
- ¿Cómo uso las etiquetas?
- Notificación de evento
- ¿Cómo uso la gestión del ciclo de vida?
- ¿Cómo uso el alojamiento de sitio web estático?
- ¿Cómo uso la replicación entre regiones?
- ¿Cómo gestiono los nombres de dominio?
- Monitoreo
-
Encriptación del lado del servidor
- ¿OBS admite la carga cifrada?
- ¿Cómo puedo acceder o descargar un objeto encriptado?
- ¿Por qué una cuenta autorizada o usuario no puede cargar o descargar objetos cifrados de KMS?
- ¿Qué tecnologías de cifrado puedo utilizar para cifrar datos en OBS?
- ¿Encriptación del lado del servidor de OBS cifrará mis objetos existentes que no están cifrados?
- ¿Se me facturará la encriptación proporcionada por la encriptación del lado del servidor de OBS?
- ¿OBS SSE-KMS permite el acceso anónimo?
- ¿Se requieren permisos adicionales cuando comparto un objeto con SSE-OBS encriptado?
-
Introducción a OBS
- Actualmente, el contenido no está disponible en el idioma seleccionado. Sugerimos consultar la versión en inglés.
- What's New
- Function Overview
- Product Notices
- Billing
-
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 (abandoned)
-
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
-
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
- Downloading and Installing the SDK
- 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
- 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)
- 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 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
- 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 I Rename an Object or a Folder?
- Configuration Parameters
- 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)
- 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 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 I Rename an Object or a Folder?
- Configuration Parameters
- 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
- 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
- Tags
- Event Notifications
- 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 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 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 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?
- 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 Do I Do If I Encounter an Error While Trying to Access an Object URL with Full-Width Characters Using Internet Explorer?
- 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?
- Fragment Management
- Versioning
- Tags
- Event Notifications
- 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)
- 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
- 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?
- Configuration Parameters
- 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)
Copiado.
Gestión del ciclo de vida
La gestión del ciclo de vida para OBS incluye la eliminación periódica de objetos desde bucket y la transición entre clases de almacenamiento de objetos según las reglas predefinidas.

Escenarios
- Eliminar periódicamente los logs que solo se deben conservar durante un período específico de tiempo (una semana o un mes).
- Haga la transición a documentos a los que rara vez se accede a la clase de almacenamiento de Infrequent Access o de Archive o elimínelos.
- Almacene algunos tipos de datos en OBS para fines de archivo, como medios digitales, registros financieros y médicos, datos de secuencias de genoma sin procesar, copias de respaldo de bases de datos a largo plazo y datos que deben conservarse para el cumplimiento normativo.
- Programe la eliminación de un gran número de archivos de un bucket. La eliminación manual de objetos requiere mucho tiempo y solo se puede eliminar un número limitado de objetos a la vez.
Puede definir reglas de ciclo de vida para identificar objetos en los escenarios anteriores y gestionar aún más sus ciclos de vida.
Los objetos a los que ya no se accede con frecuencia se pueden pasar a Infrequent Access o Archive, lo que reduce los costos. En resumen, transición significa básicamente que la clase de almacenamiento de objetos se altera sin copiar el objeto. También puede cambiar manualmente la clase de almacenamiento de un objeto en la página Objects. Para obtener más información, consulte Carga de un archivo.
La configuración del ciclo de vida se puede agregar a un bucket con el control de versiones habilitado o deshabilitado. De forma predeterminada, el control de versiones está deshabilitado. Puede habilitarlo. Un bucket habilitado para la versión mantiene una versión de objeto actual y cero o más versiones de objeto no actuales. Puede usar versiones y configuraciones de ciclo de vida juntas para ayudar a reducir los costos de almacenamiento. Las acciones de configuración del ciclo de vida predefinidas pueden facilitar la gestión durante el ciclo de vida de las versiones de objetos actuales y no actuales.
Precauciones
- No hay límite en el número de reglas del ciclo de vida de un bucket, pero el tamaño total de las descripciones XML de todas las reglas del ciclo de vida de un bucket no puede superar los 20 KB.
- Se puede configurar un máximo de 20 reglas de ciclo de vida para un sistema de archivos paralelo.
- Un nombre de regla de ciclo de vida contiene solo letras mayúsculas o minúsculas, dígitos, puntos (.), guiones bajos (_) y guiones (-).
- La duración mínima de almacenamiento es de 30 días para el almacenamiento de Infrequent Access y 90 días para el almacenamiento de Archive. Después de pasar un objeto a la clase de almacenamiento de Archive, si permanece en esta clase de almacenamiento durante menos de 90 días, todavía tendrá que pagar por 90 días completos.
- Restricciones en la transición de clase de almacenamiento:
- Solo se admiten las transiciones de la clase de almacenamiento Standard a la clase de almacenamiento de Infrequent Access. Para hacer la transición de objetos de Infrequent Access a Standard, debe operarlo manualmente.
- Solo se admiten las transiciones de la clase de almacenamiento de Standard o de Infrequent Access a la clase de almacenamiento Archive. Para pasar objetos de Archive a Standard o Infrequent Access, primero debe restaurar los objetos archivados y, a continuación, realizar la transición manual de su clase de almacenamiento.
- Only transitions from the Standard, Infrequent Access, or Archive storage class to the Deep Archive storage class are supported. To transition objects from Deep Archive to Standard, Infrequent Access, or Archive, you must restore the deep archived objects first and then manually transition their storage class.
- Supresión de objetos al expirar:
Puede utilizar la regla de ciclo de vida de la acción Expiration para caducar un objeto cuando el objeto alcanza el final de su vida útil. En un bucket habilitado para control de versiones, también puede usar la acción NoncurrentVersionExpiration para caducar las versiones de objetos no actuales.
- En un bucket con el control de versiones deshabilitado, la acción Expiration elimina permanentemente los objetos.
- En un bucket con el control de versiones habilitado (o suspendido), la acción Expiration conserva la versión actual como una versión no actual agregando un marcador de eliminación, que luego se convierte en la versión actual. La acción NoncurrentVersionExpiration elimina permanentemente las versiones de objetos no actuales.
- Además de los bucket, también puede configurar el tiempo de caducidad de los objetos durante las cargas de objetos. El tiempo de caducidad de los objetos prevalece contra el de los cubos.
Después de que un objeto expira, OBS agrega el objeto a la cola de eliminación y lo elimine asincrónicamente. Esto puede hacer que el tiempo de eliminación sea posterior al tiempo de expiración. Después de que un objeto caduque, no se le cobrará la tarifa de duración de almacenamiento relacionada.
Para consultar el tiempo de caducidad planificado de un objeto, puede invocar a la API de objeto GET o a la API de objeto HEAD. Estas API devuelven encabezados de respuesta que proporcionan información de caducidad sobre el objeto.
- Después de modificar una regla de ciclo de vida, la modificación no se aplica a los objetos que ya cumplen las condiciones configuradas. Por ejemplo, la regla de ciclo de vida original hace que los objetos que cumplen las condiciones configuradas expiren y, a continuación, se eliminen después de que se almacenen durante un día. Bajo esta regla, los objetos cargados el 1 de enero de 2021 se eliminarán el 3 de enero de 2021. El 3 de enero de 2021, si cambia la regla del ciclo de vida para eliminar objetos después de que se almacenen durante siete días, los objetos cargados el 1 de enero de 2021 se eliminarán el 3 de enero de 2021, pero esta modificación se aplicará a los cargados el 2 de enero de 2021 y después.
Reglas del ciclo de vida
Las reglas del ciclo de vida tienen los siguientes elementos clave:
- Política: configure una regla de ciclo de vida que surta efecto a los objetos especificados.
- Por prefijo: puede especificar un prefijo de nombre de objeto, por lo que la regla de ciclo de vida tendrá efecto en los objetos que comparten el mismo prefijo.
- Bucket completo: puede especificar un bucket completo, por lo que la regla del ciclo de vida tendrá efecto en todos los objetos del bucket.
- Hora: hora programada en la que se realiza la transición de la clase de almacenamiento de objetos
Puede especificar el número de días después de los cuales los objetos que se han actualizado por última vez y cumplen las condiciones especificadas se pasan automáticamente a Infrequent Access o Archive, o se eliminan automáticamente al expirar.
- Transición a Infrequent Access: puede especificar el número de días después de los cuales los objetos que se han actualizado por última vez y que cumplen las condiciones especificadas pasan automáticamente a Infrequent Access.
- Transición al Archive: puede especificar el número de días después de los cuales los objetos que se han actualizado por última vez y que cumplen las condiciones especificadas se pasan automáticamente al Archive.
- Transition to Deep Archive: You can specify the number of days after which objects that have been last updated and meet specified conditions are automatically transitioned to Deep Archive.
- Eliminados al expirar: puede especificar el número de días después de los cuales los objetos que se han actualizado por última vez y que cumplen las condiciones especificadas se eliminan automáticamente.
El tiempo de la regla del ciclo de vida tiene las siguientes restricciones:- Si solo se trata de una transición, el tiempo debe ser al menos un día después.
- Si se trata de transiciones múltiples, la última transición debe ser al menos un día más que la transición anterior.
Por ejemplo, si desea que una regla de ciclo de vida cambie la clase de almacenamiento de objetos y elimine objetos caducados, puede establecer el tiempo de transición en 23 días después y el tiempo de eliminación en al menos 24 días después.
NOTA:
La duración mínima de almacenamiento es de 30 días para el almacenamiento de Infrequent Access y 90 días para el almacenamiento de Archive. Si los objetos se eliminan mediante una regla de ciclo de vida antes de que se hayan almacenado durante esta duración mínima, todavía tendrá que pagar durante 30 o 90 días completos.
Supongamos que tiene un objeto en la clase de almacenamiento Estándar almacenado en un bucket y que ya no planea realizar ninguna operación en el objeto. La regla de ciclo de vida aplicada a este objeto cambia el objeto de Standard a Infrequent Access tres días más tarde, luego a Archive el cuarto día y, finalmente, elimina el objeto cuando expire siete días más tarde. En este caso, se le cobrará tres días de almacenamiento Standard, 30 días de almacenamiento Infrequent Access y 90 días de almacenamiento Archive.
Elementos de configuración del ciclo de vida
Puede establecer el formato de configuración del ciclo de vida en XML. La configuración contiene una o más reglas de ciclo de vida.
Cada regla consta de los siguientes contenidos:
- Metadatos, especificando el ID de regla y si la regla está activada o desactivada. Si la regla está deshabilitada, OBS no realiza ninguna acción definida en la regla.
- Criterios de filtrado, identificando los objetos a los que se aplican las reglas del ciclo de vida. Puede establecer el prefijo de nombre de objeto para que sea el criterio de filtrado.
- Cuándo (una fecha o un período de tiempo) se realizará una acción de transición o expiración en los objetos del ciclo de vida.
Ejemplos de configuración:
Ejemplo 1: Configuración del ciclo de vida para un bucket con el control de versiones deshabilitado
De forma predeterminada, el control de versiones está deshabilitado para los bucket. En tal caso, cada objeto en el bucket solo tiene una versión.
Supongamos que el control de versiones está deshabilitado para el bucket. Si desea que los objetos Standard cuyo nombre comienza por documents/ pasen a la clase de almacenamiento Infrequent Access 30 días después de que se carguen, a continuación, realice la transición de Infrequent Access a Archive 60 días después de que se carguen y, finalmente, se eliminen un año después de que se carguen, puede agregar la siguiente configuración de ciclo de vida para su bucket. Esta configuración incluye las acciones Transition y Expiration y se aplica a los objetos cuyo prefijo clave sea documents (especificado en el elemento Prefix).
<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Prefix>documents/</Prefix> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> <Transition> <Days>30</Days> <StorageClass>WARM</StorageClass> </Transition> <Transition> <Days>60</Days> <StorageClass>COLD</StorageClass> </Transition> </Rule> </LifecycleConfiguration>
Ejemplo 2: Configuración del ciclo de vida de un bucket con versionado activado
Puede habilitar el control de versiones para los bucket. Si el control de versiones está habilitado para un bucket, el bucket conservará la versión de objeto actual y sus versiones de objeto no actuales. Para obtener más información, véase Control de versiones. El control de versiones le permite mantener los registros históricos de objetos y la gestión del ciclo de vida le permite controlar la retención de versiones de objetos, así como la transición de clases de almacenamiento.
Para un bucket con control de versiones habilitado, la configuración del ciclo de vida proporciona varias acciones predefinidas que se pueden utilizar para administrar versiones de objetos no actuales. En este ejemplo, la configuración del ciclo de vida tiene una regla que especifica dos operaciones NoncurrentVersionTransition y NoncurrentVersionExpiration para los objetos cuyo prefijo clave es logs/. Cuando los objetos se convierten en versiones no actuales, la acción NoncurrentVersionTransition los pasa a Infrequent Access después de 30 días y a Archive después de 60 días. La acción NoncurrentVersionExpiration elimina permanentemente los objetos 180 días después de que se conviertan en versiones no actuales.
<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <NoncurrentVersionExpiration> <NoncurrentDays>180</NoncurrentDays> </NoncurrentVersionExpiration> <NoncurrentVersionTransition> <NoncurrentDays>30</NoncurrentDays> <StorageClass>WARM</StorageClass> </NoncurrentVersionTransition> <NoncurrentVersionTransition> <NoncurrentDays>60</NoncurrentDays> <StorageClass>COLD</StorageClass> </NoncurrentVersionTransition> </Rule> </LifecycleConfiguration>
Puede usar las acciones predefinidas de NoncurrentVersionTransition y NoncurrentVersionExpiration para gestionar las versiones no actuales en su bucket.
Por lo general, cada regla del ciclo de vida consta de las siguientes partes:
- Metadatos: especificando el ID de regla (elemento <ID>) y si la regla está habilitada o deshabilitada (elemento <Status>). Si la regla está deshabilitada, OBS no realiza ninguna acción definida en la regla.
- Prefix (elemento <Prefix>), que identifica los objetos a los que se aplica la regla.
- Acciones que desea realizar en los objetos especificados (como NoncurrentVersionTransition y NoncurrentVersionExpiration mencionados en el ejemplo anterior). Para cada acción, debe especificar una fecha o un período de tiempo.
Los elementos de la regla de configuración del ciclo de vida se describen de la siguiente manera:
- Elemento ID
Una configuración de ciclo de vida puede tener hasta reglas de 1,000. El elemento ID identifica de forma única una regla.
- Elemento Status
El valor puede ser Enabled o Disabled. Si una regla está deshabilitada, OBS no realiza ninguna acción definida en la regla.
- Elemento Prefix
Una regla de ciclo de vida se aplica a uno o varios objetos con el prefijo de nombre especificado en la regla. Suponga que tenga los siguientes objetos:
- logs/day1
- logs/day2
- logs/day3
- ExampleObject.jpg
Si establece Prefix en ExampleObject.jpg, la regla solo se aplica al ExampleObject.jpg. Si establece Prefix en logs/, la regla se aplica a los objetos cuyo nombre comience por logs/. Si deja Prefix en blanco, la regla se aplica a todos los objetos del bucket.
- Elemento Action
Puede especificar acciones predefinidas en la regla de ciclo de vida para realizarlas en los depósitos del ciclo de vida. Las acciones predefinidas incluyen Transition, Expiration, NoncurrentVersionTransition y NoncurrentVersionExpiration. El efecto de estas operaciones depende del estado de control de versiones del bucket.
NOTA:
De forma predeterminada, el control de versiones está deshabilitado para los bucket. Puede habilitarlo para su bucket según sea necesario, de modo que cada objeto de este bucket pueda tener una versión actual y cero o más versiones no actuales. También puede suspender el control de versiones. Para obtener más información, véase Control de versiones.
- Acción Transition
Esta acción archiva los objetos cambiando la clase de almacenamiento de objetos a Infrequent Access. Cuando se alcanza la fecha o el período de tiempo especificado en el ciclo de vida de un objeto, la OBS realiza la transición del objeto según lo configurado.
- Para los bucket con el control de versiones deshabilitado, la acción Transition cambia la clase de almacenamiento de objetos a Infrequent Access o Archive.
- Para bucket con versiones activadas y suspendidas, la acción Transition cambia la clase de almacenamiento de la versión actual del objeto a Infrequent Access o Archive. Esta acción no afecta a las versiones no actuales del objeto.
- Acción Expiration
Esta acción expira los objetos identificados en la regla. Los objetos no están disponibles una vez que caducan. Si los objetos caducados se eliminarán permanentemente depende del estado de control de versiones del bucket.
NOTA:
La acción Expiration no elimina las cargas incompletas de varias partes.
- Para los bucket con el control de versiones deshabilitado, la acción Expiration elimina los objetos permanentemente y los objetos eliminados no se pueden restaurar.
- Para los bucket con control de versiones habilitado, esta acción se aplica solo a las versiones de objetos actuales, en lugar de a las versiones de objetos no actuales. Esta acción no elimina permanentemente las versiones de objetos actuales. Retiene la versión actual como una versión no actual al agregarle un marcador de eliminación. Esta acción no se realizará en las versiones de objetos actuales que ya tengan los marcadores de eliminación. Si la versión actual del objeto es la única versión del objeto y tiene un marcador de eliminación, OBS eliminará la versión actual del objeto. El borrado de un marcador de eliminación puede tardar un tiempo, ya que OBS necesita confirmar que el marcador de eliminación es la única versión del objeto.
Si inicia una solicitud GET en un objeto cuya versión actual tiene el marcador de eliminación sin especificar el ID de versión, OBS identificará el objeto como eliminado y devolverá el error 404 Object Not Found. Pero puede especificar el ID de versión en la solicitud GET para recuperar el objeto eliminado.
Por ejemplo, puede establecer una regla para que el objeto llamado photo.gif caduque 5 días después de su carga. Si photo.gif se crea a las 10:30 UTC del 1 de enero de 2016, la regla de vencimiento se ejecutará en un punto de tiempo después de las 00:00 UTC (cinco días después de la creación del objeto) del 7 de enero de 2016. La hora no será posterior a las 23:59 UTC del 7 de enero de 2016. Para un bucket con el control de versiones deshabilitado, una operación de eliminación elimina permanentemente photo.gif. Para un bucket con control de versiones habilitado, después de ejecutar la regla de caducidad, photo.gif (versión 111111) todavía se almacena en el bucket y se puede acceder si es necesario, pero la versión actual (versión 4857693) del objeto tiene un marcador de eliminación. El objeto original photo.gif se convierte en una versión no actual. Para obtener más información sobre cómo funciona un marcador de eliminación, consulte Control de versiones.
Para los bucket con versiones suspendidas, OBS creará marcadores de eliminación para objetos caducados cuyo ID de versión sea null. Cualquier versión null existente será sobrescrita por nuevas versiones null, y los datos asociados con esta versión no se pueden restaurar.
Acciones específicas para los bucket con control de versiones habilitado (o suspendido)
Las acciones del ciclo de vida de Transition y Expiration pueden administrar el ciclo de vida de las versiones de objetos actuales. Las acciones NoncurrentVersionTransition y NonCurrentVersionExpiration pueden administrar el ciclo de vida de las versiones de objetos no actuales.
Las siguientes acciones de configuración del ciclo de vida solo se pueden realizar en los bucket con control de versiones habilitado (o suspendido). En un bucket con control de versiones habilitado, un objeto puede tener varias versiones, incluida una versión actual y cero o más versiones no actuales. Puede utilizar estas acciones para solicitar a OBS que realice operaciones específicas en versiones de objetos no actuales. Estas acciones no afectan a las versiones de objetos actuales.
NoncurrentVersionTransition: especifica el período de tiempo tras el cual las versiones no actuales se transitarán desde Standard hacia Infrequent Access o Archive.
NoncurrentVersionExpiration: Especifica el período de tiempo tras el cual las versiones de objetos no actuales se eliminarán permanentemente. Los objetos eliminados no se pueden recuperar.
Por ejemplo, si desea habilitar un período de cinco días para corregir cualquier eliminación o sobrescritura accidental, puede configurar una regla de caducidad para que el objeto se pueda eliminar 5 días después de que se haya convertido en una versión no actual.
A las 10:30 (hora UTC) del 1 de enero de 2016, creó el objeto photo.gif con el ID de versión 111111. A las 10:30 (hora UTC) del 2 de enero de 2016, eliminó accidentalmente este objeto y OBS creó un marcador de eliminación con ID de versión 4857693. En los cinco días siguientes, se le permitió recuperar el objeto original photo.gif con el ID de versión 111111.
A las 00:00 (hora UTC) del 8 de enero de 2016, 5 días después de que el objeto photo.gif con ID de versión 111111 no fuera actual, la acción NoncurrentVersionExpiration eliminó permanentemente esta versión del objeto.
¿Cómo calcula la OBS el tiempo que un objeto ha dejado de ser actual?
En un bucket con control de versiones habilitado, un objeto puede tener varias versiones. Siempre hay una versión actual y cero o más versiones no actuales. Cada vez que se carga un objeto, la versión actual se guarda como una versión no actual, y la versión recién cargada (el sucesor) se convierte en la versión actual. Para determinar el número de días que una versión de objeto ha pasado a ser no actual, OBS comprueba cuándo se creó su sucesor. OBS utiliza el número de días desde que se creó su sucesor como el número de días que un objeto no ha sido actual.
Restaurar una versión no actual mediante la configuración del ciclo de vida
Puede utilizar cualquiera de los métodos siguientes para restaurar un objeto a una versión no actual:
- Copie una versión de objeto no actual del objeto en el mismo bucket. La versión copiada se convertirá en la versión actual y todas las versiones de objeto están reservadas.
- Eliminar permanentemente la versión actual del objeto. La eliminación de la versión actual de un objeto convierte en realidad una versión no actual en la versión actual.
Se recomienda utilizar el primer método. Debido a la sintaxis de coherencia de OBS, antes de cambiar el modo de comunicación, una versión actual que se elimina permanentemente no puede desaparecer (OBS puede no estar al tanto de esta acción de eliminación). Mientras tanto, la acción de caducidad configurada para las versiones no actuales puede eliminar permanentemente las versiones de objetos no actuales, incluidas las que desea restaurar. Por lo tanto, copiar una versión no actual, como se describe en el primer método, es más seguro.
Tabla 1 enumera la relación entre la regla de configuración del ciclo de vida y el estado de control de versiones de un bucket.
Acción |
Bucket con control de versiones no habilitado |
Bucket con control de versiones habilitado |
Bucket con control de versiones suspendido |
---|---|---|---|
Transition (Se realiza cuando se alcanza una fecha o un período de tiempo especificado en la regla de ciclo de vida.) |
Los objetos se pueden pasar a Infrequent Access o Archive. |
Si la versión es la versión actual y no es un marcador de eliminación, se puede pasar a Infrequent Access o Archive. |
La misma acción que un bucket habilitado para el control de versiones. |
Expiration (Se realiza cuando se alcanza una fecha o un período de tiempo especificado en la regla de ciclo de vida.) |
La acción Expiration elimina el objeto y no se puede restaurar el objeto eliminado. |
Si la versión no es un marcador de eliminación, esta acción inserta un marcador de eliminación que se convierte en la versión actual. La versión actual existente se convierte en una versión no actual. |
Para los bucket con versiones suspendidas, OBS creará marcadores de eliminación para objetos caducados cuyo ID de versión sea null. Cualquier versión null existente será sobrescrita por nuevas versiones null, y los datos asociados con esta versión no se pueden restaurar. |
NoncurrentVersionTransition (Se realiza cuando el objeto se ha convertido en no actual durante el número de días especificado.) |
La acción NoncurrentVersionTransition no tiene efecto. |
Si la versión no es un marcador de eliminación o la versión actual, se puede pasar a Infrequent Access o Archive. |
La misma acción que un bucket habilitado para el control de versiones. |
NoncurrentVersionExpiration (Se realiza cuando el objeto se ha convertido en no actual durante el número de días especificado.) |
La acción NoncurrentVersionExpiration no tiene efecto. |
La acción NoncurrentVersionExpiration elimina la versión no actual del objeto y el objeto eliminado no se puede recuperar. |
La misma acción que un bucket habilitado para el control de versiones. |
Reglas de ciclo de vida basadas en fechas
Puede especificar las fechas de ejecución de las acciones Transition y Expiration. Las fechas deben cumplir con las normas ISO 8601 y la hora exacta es siempre 00:00 (hora UTC). Si especifica la hora hasta una fecha pasada, todos los objetos aplicables se ejecutarán inmediatamente.
No se puede crear una regla de ciclo de vida basada en fechas en OBS Console.
Una acción de ciclo de vida con una fecha especificada no es una acción única. Incluso si la fecha ha pasado, OBS adoptará esta acción siempre que el ciclo de vida esté habilitado.
Suponga que haya especificado una fecha para realizar la acción Expiration para eliminar todos los objetos (sin establecer ningún criterio de filtrado). En la fecha especificada, OBS hace que todos los objetos del bucket expiren. Además, OBS continúa haciendo que todos los objetos nuevos creados en el bucket expiren. Para finalizar la acción Expiration, debe eliminar esta acción de la configuración del ciclo de vida, deshabilitar la regla o eliminarla de la configuración del ciclo de vida.
Regla de ciclo de vida basada en periodos de tiempo
Puede especificar cuántos días después de crear un objeto se realizará la acción Transition o Expiration en el objeto. Después de especificar el número de días, OBS comienza a calcular la hora a partir de las 00:00 (hora UTC) del día siguiente. Por ejemplo, creó un objeto en 15/1/2016 10:30 (hora UTC) y especificó que los objetos se cambiarían 3 días después de la creación, el objeto se transitaría en 19/1/2016 00:00 (hora UTC).
OBS solo registra la última fecha de modificación de cada objeto. En la consola OBS, puede ver la última hora de modificación (LastModified) de un objeto en la página de propiedades del objeto. Después de crear un objeto, la fecha es la fecha de creación. Si se reemplaza el objeto, la fecha también cambiará.
Al utilizar la acción NoncurrentVersionTransition o NoncurrentVersionExpiration, puede especificar después de cuántos días desde que un objeto cambie a una versión no actual (debido a sobrescribir o eliminar) se realizará la acción en el objeto.
Cuando se utilizan las operaciones NoncurrentVersionTransition y NoncurrentVersionExpiration para especificar el número de días, OBS agrega el número de días especificado en la regla al momento en que la versión del objeto se convierte en una versión no actual. A continuación, se calcula el tiempo de operación a partir de las 00:00 (hora UTC) del día siguiente. Por ejemplo, la versión actual de un objeto en un bucket se crea a las 10:30 UTC del 1 de enero de 2016. Si la versión del objeto se convierte en una versión no actual a las 10:30 UTC del 15 de enero de 2016 y especifica tres días en la regla de conversión, la fecha para cambiar la clase de almacenamiento de objetos se calcula como 00:00 UTC del 19 de enero de 2016.
Al configurar las reglas del ciclo de vida, dentro de una regla y para las reglas cuyos prefijos tienen una relación de inclusión, Date o Days de Transition y Expiration deben ser coherentes.
Cómo usarlo
Puede utilizar la consola de OBS, las API o los SDK para configurar las reglas del ciclo de vida.
Herramienta |
Referencia |
---|---|
OBS Console |
|
SDK |
OBS admite kits de desarrollo de software (SDK) en varios idiomas. Para obtener más información, consulte la guía para desarrolladores correspondiente en la página de Descripción de los SDK. |
API |
Configuración de reglas del ciclo de vida del bucket |