Cette rubrique explique comment utiliser Intelligent Media Management (IMM) pour compresser un ou plusieurs objets stockés dans Object Storage Service (OSS), consulter le contenu d'une archive et la décompresser. La compression et la décompression sont utiles dans de nombreux scénarios, tels que la transmission de données, la sauvegarde et l'archivage. Utilisez ces fonctionnalités pour gérer et traiter efficacement les données d'un compartiment. Par exemple, vous pouvez améliorer la vitesse de transmission des données, réduire l'utilisation du stockage et faciliter l'archivage et le partage des données.
Présentation de la fonctionnalité
IMM prend en charge la compression et la décompression de fichiers dans le cloud, ce qui améliore l'efficacité et simplifie la gestion des fichiers. Utilisez IMM pour compresser et décompresser des objets en ligne dans OSS.
Prérequis
Créez une paire de clés AccessKey. Pour plus d'informations, consultez Créer une paire de clés AccessKey.
Activez OSS, créez un compartiment et téléchargez-y des fichiers. Pour plus d'informations, consultez Télécharger des fichiers.
Activez IMM. Pour plus d'informations, consultez Activer IMM.
-
Créez un projet dans la console IMM. Pour plus d'informations, consultez Créer un projet.
RemarqueVous pouvez également appeler l'opération CreateProject pour créer un projet. Pour plus d'informations, consultez Créer un projet.
Appelez l'opération ListProjects pour répertorier tous les projets d'une région spécifiée.
Formats pris en charge
La fonctionnalité de compression prend uniquement en charge les opérations d'empaquetage.
La fonctionnalité de compression prend uniquement en charge le format ZIP.
Les fonctionnalités de décompression et d'aperçu d'archive prennent en charge les formats ZIP, RAR et 7z.
Notes
Les informations relatives aux tâches de compression, de lecture d'archive et de décompression sont conservées pendant 7 jours à compter de la date de début de la tâche et ne peuvent pas être consultées après l'expiration de cette période. Utilisez l'une des méthodes suivantes pour consulter les informations sur les tâches :
Appelez l'opération GetTask ou ListTasks pour afficher les informations sur la tâche.
Activez Message Service (MNS) dans la même région qu'Intelligent Media Management (IMM) et configurez un abonnement pour recevoir des notifications de tâche en temps réel. Pour plus d'informations sur le format des notifications asynchrones, consultez Format des messages de notification asynchrone. Pour plus d'informations sur le SDK MNS, consultez Étape 4 : Recevoir et supprimer des messages.
Activez ApsaraMQ for RocketMQ dans la même région qu'IMM et créez une instance RocketMQ 4.0, une rubrique et un groupe de consommateurs pour recevoir des notifications de tâche en temps réel. Pour plus d'informations sur le format des notifications asynchrones, consultez Format des messages de notification asynchrone. Pour plus d'informations sur l'utilisation d'ApsaraMQ for RocketMQ, consultez Utiliser les SDK HTTP pour envoyer et recevoir des messages normaux.
Activez et intégrez EventBridge dans la même région qu'IMM pour recevoir des notifications de tâche en temps réel. Pour plus d'informations, consultez Événements Intelligent Media Management (IMM).
Compression
Appelez l'opération CreateFileCompressionTask - Créer une tâche de compression de fichier pour compresser plusieurs objets dans un compartiment OSS.
Informations sur la compression
Projet IMM : test-project
-
Objets à compresser :
oss://test-bucket/test-object1.jpg
oss://test-bucket/test-object2.jpg
oss://test-bucket/test-object3.jpg
oss://test-bucket/test-object4.jpg
Chemin de sortie : oss://test-bucket/test-target-object.zip
Exemple de requête
{
"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"
}
Exemple de réponse
{
"TaskId": "FileCompression-7e3e2b8c-81bd-495f-a338-25b3762a****",
"RequestId": "C54C5888-9C96-5A35-AF73-ABD6EF15****",
"EventId": "164-1S6uXTYhUU4qAFCPOTcYdcb****"
}
Exemple de code
Consulter le contenu d'une archive
Appelez l'opération CreateArchiveFileInspectionTask - Créer une tâche d'analyse d'archive pour consulter le contenu d'une archive dans OSS.
Informations sur l'archive
Nom du projet : test-project
Chemin de l'archive : oss://test-bucket/test-target-object.zip
Chemin de sortie : oss://test-bucket/test-target-object.json
Exemple de requête
{
"ProjectName": "test-project",
"SourceURI": "oss://test-bucket/test-target-object.zip",
"TargetURI": "oss://test-bucket/test-target-object.json"
}
Exemple de réponse
{
"TaskId": "ArchiveFileInspection-4a7c308a-5671-4d34-ba41-86a942d0****",
"RequestId": "20D23855-C9E6-5193-8939-3A8797E1****",
"EventId": "2AB-1S53L6FTdU6yMxkc1JgpwcV****"
}
Exemple de code
Décompression
Appelez l'opération CreateFileUncompressionTask - Créer une tâche de décompression pour décompresser une archive dans OSS.
Informations sur la décompression
Nom du projet : test-project
Chemin de l'archive : oss://test-bucket/test-target-object.zip
Objet à décompresser : test-object1.jpg
Chemin de sortie : oss://test-bucket/test-target-object
Exemple de requête
{
"ProjectName": "test-project",
"SourceURI": "oss://test-bucket/test-target-object.zip",
"Target": "{\"URI\":\"oss://test-bucket/test-target-object\"}",
"SelectedFiles": "[\"test-object1.jpg\"]"
}
Exemple de réponse
{
"TaskId": "FileUncompression-f31061ab-eaeb-469d-ac8f-9af10e5d****",
"RequestId": "20115435-9F59-58C0-8D15-E6ECC096****",
"EventId": "3B6-1S6ywKAB2ogXJnrzmk6tFUF****"
}
Exemple de code
Facturation
Lors de la décompression de fichiers d'archive, les éléments de facturation suivants sont générés côté OSS et côté IMM :
-
Côté OSS : Pour plus d'informations sur les tarifs, consultez Tarification OSS.
API
Élément de facturation
Description
GetObject
Requêtes GET
Des frais de requête vous sont facturés en fonction du nombre de requêtes abouties.
Trafic sortant via Internet
Si vous appelez l'opération GetObject à l'aide d'un point de terminaison public, tel que oss-cn-hangzhou.aliyuncs.com, ou d'un point de terminaison d'accélération, tel que oss-accelerate.aliyuncs.com, des frais de trafic sortant via Internet vous sont facturés en fonction de la taille des données.
Récupération d'objets IA
Si des objets IA sont récupérés, des frais de récupération de données IA vous sont facturés en fonction de la taille des objets IA récupérés.
Capacité de récupération des données depuis Archive Direct Read
Si des objets Archive dans un compartiment pour lequel l'accès en temps réel est activé sont récupérés, des frais de récupération de données Archive vous sont facturés en fonction de la taille des objets Archive récupérés.
Accélération du transfert
Si vous activez l'accélération du transfert et utilisez un point de terminaison d'accélération pour accéder à votre compartiment, des frais d'accélération du transfert vous sont facturés en fonction de la taille des données.
-
Côté IMM : Pour plus d'informations sur les tarifs, consultez Éléments de facturation IMM.
ImportantÀ partir du 28 juillet 2025 à 11 h 00 (UTC+8), les services de compression et de décompression de fichiers IMM passeront d'un modèle gratuit à un modèle payant. Pour plus d'informations, consultez Annonce relative à l'ajustement de la facturation IMM.
API
Élément de facturation
Description
CreateFileCompressionTask
FileProcess
Des frais de compression vous sont facturés en fonction de la taille des fichiers source à compresser.
CreateFileUncompressionTask
Des frais de décompression vous sont facturés en fonction de la taille des fichiers décompressés.
CreateArchiveFileInspectionTask
FilePreview
Des frais d'aperçu vous sont facturés en fonction de la taille de l'archive à consulter.
FAQ
-
Comment savoir si une opération CreateFileCompressionTask a terminé la création d'une archive ?
Appelez l'opération GetTask - Consulter les informations sur la tâche pour interroger régulièrement l'état de la tâche, ou utilisez Exemple de traitement des messages de file d'attente légère pour les tâches asynchrones (anciennement MNS) pour recevoir de manière asynchrone les messages de succès.
-
Puis-je utiliser l'opération CreateFileCompressionTask pour compresser des objets provenant de différents compartiments OSS dans une seule archive ?
Oui, vous pouvez compresser des objets provenant de différents compartiments OSS dans une seule archive si vous disposez des autorisations nécessaires.