Este tema describe cómo usar Intelligent Media Management (IMM) para comprimir uno o varios objetos almacenados en Object Storage Service (OSS), consultar el contenido de un archivo dentro de un paquete y descomprimirlo. La compresión y la descompresión resultan útiles en muchos escenarios, como la transmisión de datos, las copias de seguridad y el archivado. Con estas funciones se gestionan y procesan los datos de un bucket de manera eficiente. Por ejemplo, esta función permite mejorar la velocidad de transmisión de datos, reducir el uso de almacenamiento y facilitar el archivado y el intercambio de información.
Descripción general de la función
IMM es compatible con la compresión y descompresión de archivos en la nube, lo que mejora la eficiencia y simplifica su gestión. Con IMM puede comprimir y descomprimir objetos en línea directamente en OSS.
Requisitos previos
Creó un par de AccessKey. Para más información, consulte Create an AccessKey pair.
Activó OSS, creó un bucket y cargó archivos en él. Para más información, consulte Upload files.
Activó IMM. Para más información, consulte Activate IMM.
-
Creó un proyecto en la consola de IMM. Para más información, consulte Create a project.
NotaTambién puede llamar a la operación CreateProject para crear un proyecto. Para más información, consulte Create a project.
Llame a la operación ListProjects para listar todos los proyectos de una región específica.
Formatos compatibles
La función de compresión solo admite operaciones de empaquetado.
La función de compresión solo admite el formato ZIP.
Las funciones de descompresión y vista previa de paquetes admiten los formatos ZIP, RAR y 7z.
Notas
La información de las tareas de compresión, lectura de paquetes y descompresión se conserva durante 7 días a partir de la fecha de inicio. Una vez transcurrido ese periodo, ya no se puede consultar. Utilice cualquiera de los siguientes métodos para consultar la información de las tareas:
Llame a la operación GetTask o ListTasks para consultar la información de la tarea.
Active Message Service (MNS) en la misma región que Intelligent Media Management (IMM) y configure una suscripción para recibir notificaciones inmediatas sobre las tareas. Para más información sobre el formato de las notificaciones asíncronas, consulte Asynchronous notification message format. Para más información sobre el SDK de MNS, consulte Step 4: Receive and delete messages.
Active ApsaraMQ for RocketMQ en la misma región que IMM. Luego, cree una instancia de RocketMQ 4.0, un topic y un grupo de consumidores para recibir notificaciones inmediatas sobre las tareas. Para más información sobre el formato de las notificaciones asíncronas, consulte Asynchronous notification message format. Para más información sobre cómo usar ApsaraMQ for RocketMQ, consulte Use HTTP SDKs to send and receive normal messages.
Active e integre EventBridge en la misma región que IMM para recibir notificaciones inmediatas sobre las tareas. Para más información, consulte Intelligent Media Management (IMM) events.
Compresión
Llame a la operación CreateFileCompressionTask - Create a file compression task para comprimir varios objetos en un bucket de OSS.
Información de compresión
Proyecto de IMM: test-project
-
Objetos por comprimir:
oss://test-bucket/test-object1.jpg
oss://test-bucket/test-object2.jpg
oss://test-bucket/test-object3.jpg
oss://test-bucket/test-object4.jpg
Ruta de salida: oss://test-bucket/test-target-object.zip
Ejemplo de solicitud
{
"ProjectName": "test-project",
"CompressedFormat": "zip",
"Sources": "[{\"URI\":\"oss://test-bucket/test-object1.jpg\"},{\"URI\":\"oss://test-bucket/test-object2.jpg\"},{\"URI\":\"oss://test-bucket/test-object3.jpg\"},{\"URI\":\"oss://test-bucket/test-object4.jpg\"}]",
"TargetURI": "oss://test-bucket/test-target-object.zip"
}
Ejemplo de respuesta
{
"TaskId": "FileCompression-7e3e2b8c-81bd-495f-a338-25b3762a****",
"RequestId": "C54C5888-9C96-5A35-AF73-ABD6EF15****",
"EventId": "164-1S6uXTYhUU4qAFCPOTcYdcb****"
}
Código de ejemplo
Consulta del contenido de un paquete
Llame a la operación CreateArchiveFileInspectionTask - Create a package parsing task para consultar el contenido de un paquete en OSS.
Información del paquete
Nombre del proyecto: test-project
Ruta del paquete: oss://test-bucket/test-target-object.zip
Ruta de salida: oss://test-bucket/test-target-object.json
Ejemplo de solicitud
{
"ProjectName": "test-project",
"SourceURI": "oss://test-bucket/test-target-object.zip",
"TargetURI": "oss://test-bucket/test-target-object.json"
}
Ejemplo de respuesta
{
"TaskId": "ArchiveFileInspection-4a7c308a-5671-4d34-ba41-86a942d0****",
"RequestId": "20D23855-C9E6-5193-8939-3A8797E1****",
"EventId": "2AB-1S53L6FTdU6yMxkc1JgpwcV****"
}
Código de ejemplo
Descompresión
Llame a la operación CreateFileUncompressionTask - Create a decompression task para descomprimir un paquete en OSS.
Información de descompresión
Nombre del proyecto: test-project
Ruta del paquete: oss://test-bucket/test-target-object.zip
Objeto por descomprimir: test-object1.jpg
Ruta de salida: oss://test-bucket/test-target-object
Ejemplo de solicitud
{
"ProjectName": "test-project",
"SourceURI": "oss://test-bucket/test-target-object.zip",
"Target": "{\"URI\":\"oss://test-bucket/test-target-object\"}",
"SelectedFiles": "[\"test-object1.jpg\"]"
}
Ejemplo de respuesta
{
"TaskId": "FileUncompression-f31061ab-eaeb-469d-ac8f-9af10e5d****",
"RequestId": "20115435-9F59-58C0-8D15-E6ECC096****",
"EventId": "3B6-1S6ywKAB2ogXJnrzmk6tFUF****"
}
Código de ejemplo
Facturación
Durante la descompresión de archivos empaquetados se generan los siguientes elementos de facturación en OSS e IMM:
-
En OSS: para más información sobre los precios, consulte Precios de OSS.
API
Elemento de facturación
Descripción
GetObject
Solicitudes GET
Se le cobran tarifas de solicitud según la cantidad de solicitudes exitosas.
Tráfico saliente por Internet
Si llama a la operación GetObject mediante un endpoint público, como oss-cn-hangzhou.aliyuncs.com, o un endpoint de aceleración, como oss-accelerate.aliyuncs.com, se le cobran tarifas por tráfico saliente a través de Internet según el tamaño de los datos.
Recuperación de objetos IA
Si recupera objetos IA, se le cobran tarifas de recuperación de datos IA según el tamaño de los objetos recuperados.
Capacidad de recuperación de datos desde Archive Direct Read
Si recupera objetos Archive de un bucket con acceso en tiempo real habilitado, se le cobran tarifas de recuperación de datos Archive según el tamaño de los objetos recuperados.
Aceleración de transferencia
Si habilita la aceleración de transferencia y usa un endpoint de aceleración para acceder a su bucket, se le cobran tarifas de aceleración de transferencia según el tamaño de los datos.
-
En IMM: para más información sobre los precios, consulte IMM billing items.
ImportanteA partir de las 11:00 del 28 de julio de 2025 (UTC+8), los servicios de compresión y descompresión de archivos de IMM pasarán de un modelo gratuito a uno de pago. Para más información, consulte Anuncio de ajuste de facturación de IMM.
API
Elemento de facturación
Descripción
CreateFileCompressionTask
FileProcess
Se le cobran tarifas de compresión según el tamaño de los archivos de origen por comprimir.
CreateFileUncompressionTask
Se le cobran tarifas de descompresión según el tamaño de los archivos descomprimidos.
CreateArchiveFileInspectionTask
FilePreview
Se le cobran tarifas de vista previa según el tamaño del paquete consultado.
Preguntas frecuentes
-
¿Cómo sé si la operación CreateFileCompressionTask terminó de crear el paquete?
Llame a la operación GetTask - Query task information para sondear el estado de la tarea o use Example of asynchronous task lightweight message queue (formerly MNS) message processing para recibir mensajes de éxito de forma asíncrona.
-
¿Puedo usar la operación CreateFileCompressionTask para comprimir objetos de distintos buckets de OSS en un solo paquete?
Sí, puede comprimir objetos de distintos buckets de OSS en un solo paquete si cuenta con los permisos obligatorios.