Lorsque vous utilisez la fonctionnalité de traitement des données, chaque objet déclenche une tâche. Pour chaque tâche, vous devez spécifier un chemin d'enregistrement pour l'objet traité. Pour éviter l'écrasement des objets, utilisez un chemin de sortie dynamique. Les variables permettent de référencer les informations de l'objet source, telles que son bucket, sa clé d'objet ou sa date de téléchargement. Par exemple, dans une tâche d'extraction d'images vidéo, définissez le chemin de sortie sur oss://test-bucket/{dirname}/{barename}_output.{autoext}. Cette configuration enregistre l'objet traité dans le même répertoire que l'objet source, le nomme source-object-name_output et ajoute automatiquement l'extension appropriée.
Cas d'utilisation
Cas d'utilisation dans la console
-
Tâches : Référencez les informations de l'objet source dans le chemin de sortie d'une tâche de traitement. Par exemple, pour convertir un document en images JPG, définissez le chemin de sortie sur
oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext}. Pendant le traitement,{autoext}est remplacé parjpg. Les images résultantes sont enregistrées dansoss://test-bucket/output/source-directory/source-filename/image-sequence-number.jpg.Dans la boîte de dialogue Create Task, sélectionnez
doc_to_jpgpour Style. Une invite sous Output Path indique que vous devez saisir une clé d'objet complète, que la clé d'objet peut inclure des variables et que les chemins d'entrée et de sortie doivent être différents. Dans la section Notification Configuration, sélectionnez Message Queue. Une fois la configuration terminée, cliquez sur OK. -
Traitement par lot : Lors de la création d'une tâche de traitement par lot, le système génère une tâche pour chaque objet existant. Pour éviter l'écrasement des données, nous vous recommandons d'utiliser des variables dans le chemin de sortie. Par exemple, pour extraire des images d'une vidéo et les enregistrer au format PNG, définissez le chemin de sortie sur
oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext}. Pendant le traitement,{autoext}est remplacé parpng. Les images PNG générées sont enregistrées dansoss://test-bucket/output/source-directory/source-filename/frame-number.png.Après avoir configuré le chemin de sortie dans la section Output Configuration, assurez-vous que le chemin de sortie diffère du chemin d'entrée si vous utilisez les variables
key,barenameoubasename. Cela empêche l'écrasement de l'objet source et évite la création de boucles infinies. Dans la section Permission Configuration, sélectionnez AliyunIMMBatchTriggerRole (Default Role) pour Service Role, puis cliquez sur OK. -
Déclencheurs : La création d'un déclencheur génère une tâche pour chaque nouvel objet. Pour éviter l'écrasement des objets, nous vous recommandons d'utiliser des variables dans le chemin de sortie. Par exemple, si un déclencheur de conversion de document est créé pour convertir des documents en images JPG, définissez le chemin de sortie sur
oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext}. Pendant le traitement,{autoext}est remplacé parjpg. Les images JPG générées sont enregistrées dansoss://test-bucket/output/source-directory/source-filename/image-sequence-number.jpg.Si vous utilisez les variables de clé d'objet, de nom de base sans extension ou de nom de base avec extension, assurez-vous que le chemin de sortie diffère du chemin d'entrée afin d'éviter l'écrasement des objets. Dans la section Permission Configuration, sélectionnez AliyunIMMBatchTriggerRole (Default Role) pour Service Role, puis cliquez sur OK.
Cas d'utilisation via API
Enregistrer sous (
sys/saveas) : Les paramètres b (bucket) et o (object) de l'opération Enregistrer sous (sys/saveas) prennent en charge les variables. Par exemple, pour convertir les pages 1 à 10 d'un document nomméexample.docxen images PNG, définissez le paramètresys/saveassurb_e2J1Y2tldH0,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw. Dans ce paramètre,e2J1Y2tldH0correspond à la valeur encodée en Base64 de {bucket}, etZG9jX2ltYWdlcy97aW5kZXh9LnBuZwà la valeur encodée en Base64 dedoc_images/{index}.png. Les images converties sont ensuite enregistrées dans le même bucket que l'objet source, à l'emplacementdoc_images/index.png.Tâches : Le chemin de sortie des tâches prend en charge les variables. Par exemple, lorsque vous appelez l'opération CreateOfficeConversionTask pour créer une tâche de conversion de document, définissez le paramètre TargetURI sur le chemin de sortie complet, y compris l'extension. Le TargetURI peut contenir des variables, telles que
oss://test-bucket/output/{dirname}/{barename}/{index}.jpg.
Remarques
Pour le traitement par lot et les déclencheurs, si le chemin de sortie ne se termine pas par une barre oblique (
/), la clé d'objet doit inclure au moins une variable. Cela empêche l'écrasement mutuel de plusieurs objets de sortie.Le chemin de sortie d'une tâche ne peut pas se terminer par une barre oblique (
/), mais peut contenir des variables.
Variables liées aux tâches
Vous pouvez également utiliser l'horodatage d'une demande de traitement synchrone ou asynchrone comme variable. Par exemple, si vous soumettez une demande de traitement le 2022-09-01T02:06:57.798Z, vous pouvez utiliser les variables indiquées dans le tableau suivant.
|
Parameter |
Description |
Example value |
|
t_year |
L'année à quatre chiffres (aaaa) de la soumission de la demande. |
|
|
t_mon |
Le mois à deux chiffres (mm) de la soumission de la demande. |
|
|
t_day |
Le jour à deux chiffres (jj) de la soumission de la demande. |
|
|
t_hour |
L'heure (HH, format 24 heures) de la soumission de la demande. |
|
|
t_min |
La minute (MM) de la soumission de la demande. |
|
|
t_sec |
La seconde (SS) de la soumission de la demande. |
|
Variables de traitement d'image
Pour un objet source nommé oss://test-bucket/path1/path2/name.png qui a été téléchargé le 2022-04-22 14:38:25, vous pouvez utiliser les variables indiquées dans le tableau suivant.
|
Parameter |
Description |
Example value |
|
bucket |
Le nom du bucket dans lequel l'objet source est stocké. |
|
|
key |
La clé d'objet de l'objet source dans le bucket. Important
Ne définissez pas les chemins de sortie et source comme identiques lors de l'utilisation de cette variable. Sinon, vous risquez d'écraser l'objet source ou de provoquer une boucle infinie dans une tâche de traitement par lot. |
|
|
dirname |
Le chemin du répertoire de l'objet source. Important
Ne définissez pas les chemins de sortie et source comme identiques lors de l'utilisation de cette variable. Sinon, vous risquez d'écraser l'objet source ou de provoquer une boucle infinie dans une tâche de traitement par lot. |
|
|
barename |
Le nom de l'objet source sans son extension. Important
Ne définissez pas les chemins de sortie et source comme identiques lors de l'utilisation de cette variable. Sinon, vous risquez d'écraser l'objet source ou de provoquer une boucle infinie dans une tâche de traitement par lot. |
|
|
basename |
Le nom de l'objet source avec son extension. Important
Ne définissez pas les chemins de sortie et source comme identiques lors de l'utilisation de cette variable. Sinon, vous risquez d'écraser l'objet source ou de provoquer une boucle infinie dans une tâche de traitement par lot. |
|
|
ext |
L'extension de l'objet source. L'extension est obtenue à partir du |
|
|
year |
L'année à quatre chiffres (aaaa) du téléchargement de l'objet source. |
|
|
mon |
Le mois à deux chiffres (mm) du téléchargement de l'objet source. |
|
|
day |
Le jour à deux chiffres (jj) du téléchargement de l'objet source. |
|
|
hour |
L'heure (HH, format 24 heures) du téléchargement de l'objet source. |
|
|
min |
La minute (MM) du téléchargement de l'objet source. |
|
|
sec |
La seconde (SS) du téléchargement de l'objet source. |
|
Variables de conversion de document
Pour la conversion de documents, vous pouvez utiliser des variables telles que les numéros de page et les noms de feuille. Par exemple, pour convertir un document Excel contenant une feuille nommée sheet1 en images JPG, vous pouvez utiliser les variables indiquées dans le tableau suivant.
|
Parameter |
Description |
Example value |
|
autoext |
L'extension de l'objet de sortie dans une tâche de conversion de document. |
|
|
index |
L'index de sortie, qui s'incrémente à partir de 1. Pour les documents Word, PDF et PPT, cette variable représente le numéro de page. Pour les documents Excel, elle est au format sheetindex_sheetsubindex. |
Pour Word, PDF et PPT : Pour Excel : |
|
sheetname |
Le nom de la feuille dans un document Excel. |
|
|
sheetindex |
L'index de la feuille dans un document Excel, commençant à 1. |
|
|
sheetsubindex |
Le sous-index d'une feuille dans un document Excel, commençant à 1. |
|
Variables de traitement multimédia
Pour le traitement multimédia, vous pouvez utiliser des variables telles que l'extension du conteneur et la résolution. Par exemple, pour transcoder une vidéo nommée video.mp4 en segments ts avec une résolution de 1920x1080, vous pouvez utiliser les variables indiquées dans le tableau suivant.
|
Parameter |
Description |
Example value |
|
autoext |
L'extension de l'objet de sortie dans une tâche de traitement multimédia. |
|
|
index |
L'index de sortie, qui s'incrémente à partir de 1. Cette variable est utilisée dans les scénarios à sorties multiples, tels que le transcodage segmenté ou l'extraction d'images. |
|
|
streamindex |
L'ID du flux audio ou vidéo. Les ID des flux audio et vidéo s'incrémentent indépendamment à partir de 0. |
|
|
resolution |
La résolution définie pour le transcodage. Disponible uniquement pour le transcodage vidéo. |
|
Utilisation de l'API REST
Si votre application nécessite un haut degré de personnalisation, vous pouvez appeler directement l'API RESTful, ce qui vous oblige à écrire du code pour calculer manuellement les signatures.
Vous pouvez traiter des objets en ajoutant des paramètres de traitement ou de style à une requête PostObject. Pour plus d'informations, consultez la rubrique Save as.
Exemple 1 : Conversion de format de document
L'exemple d'API RESTful suivant montre comment ajouter des paramètres de traitement à une requête PostObject pour convertir le format de example.docx. Les paramètres b (bucket) et o (object) de l'opération Enregistrer sous (sys/saveas) utilisent des variables.
pages_MS0xMA: Convertit les pages 1 à 10 du document.MS0xMAest la valeur encodée en Base64 de « 1-10 ».target_png: Convertit le document au format d'image PNG.source_docx: Spécifie que le type d'objet source est DOCX.-
sys/saveas: Enregistrer sous.b_e2J1Y2tldH0: Une fois le transcodage terminé, la variable {bucket} enregistre les images résultantes dans le bucket source.e2J1Y2tldH0est la valeur encodée en Base64 de {bucket}.o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw: Enregistre l'objet dans le répertoiredoc_images. La clé d'objet utilise la variable{index}, qui correspond au numéro de page deexample.docx.ZG9jX2ltYWdlcy97aW5kZXh9LnBuZwest la valeur encodée en Base64 dedoc_images/{index}.png.
POST /exmaple.docx?x-oss-async-process HTTP/1.1
Host: doc-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
// Converts pages 1 to 10 of the example.docx object to PNG images. The processed objects are saved to oss://source-bucket/doc_images/page-number.png.
x-oss-async-process=doc/convert,pages_MS0xMA,target_png,source_docx|sys/saveas,b_e2J1Y2tldH0,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw
Exemple 2 : Transcodage vidéo
Cet exemple illustre comment transcoder l'objet example.avi en configurant plusieurs paramètres de traitement.
f_mp4: Définit le conteneur du fichier multimédia transcodé sur MP4.vcodec_h265: Définit le format du flux vidéo sur H.265.s_1920x1080: Définit la résolution sur 1920x1080.vb_2000000: Définit le débit binaire vidéo sur 2 Mbps.fps_30: Définit la fréquence d'images vidéo sur 30 ips.acodec_aac: Définit le format d'encodage audio sur AAC.ab_100000: Définit le débit binaire audio sur 100 Kbps.sn_1: Désactive le flux de sous-titres.-
sys/saveas: Enregistrer sous.b_e2J1Y2tldH0: Une fois le transcodage terminé, l'objet résultant est enregistré dans le bucket source à l'aide de la variable {bucket}.e2J1Y2tldH0est la valeur encodée en Base64 de {bucket}.o_b3V0cHV0LnthdXRvZXh0fQ: La variable {autoext} ajoute automatiquement une extension à l'objet, ce qui donne un objet enregistré nomméoutput.mp4.b3V0cHV0LnthdXRvZXh0fQest la valeur encodée en Base64 deoutput.{autoext}.
POST /exmaple.avi?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
x-oss-async-process=video/convert,f_mp4,vcodec_h265,s_1920x1080,vb_2000000,fps_30,acodec_aac,ab_100000,sn_1|sys/saveas,b_e2J1Y2tldH0,o_b3V0cHV0LnthdXRvZXh0fQ