Alibaba Cloud CLI est un outil en ligne de commande polyvalent basé sur OpenAPI Explorer. Il permet d'automatiser la gestion et la maintenance d'ApsaraVideo Media Processing. Cette rubrique explique comment appeler les opérations d'API d'ApsaraVideo Media Processing à l'aide d'Alibaba Cloud CLI.
Avant de commencer
Familiarisez-vous avec Alibaba Cloud CLI. Pour plus d'informations, consultez la rubrique Qu'est-ce qu'Alibaba Cloud CLI ?
Installer Alibaba Cloud CLI
Alibaba Cloud CLI est disponible sous Windows, Linux et macOS. Sélectionnez le package d'installation correspondant à votre système d'exploitation. Pour plus d'informations, consultez les rubriques suivantes :
Vous pouvez également utiliser Cloud Shell pour déboguer les commandes Alibaba Cloud CLI. Pour plus d'informations, consultez la rubrique Qu'est-ce que Cloud Shell ?
Configurer Alibaba Cloud CLI
Un compte Alibaba Cloud dispose de toutes les autorisations nécessaires pour accéder à l'ensemble des opérations d'API des services Alibaba Cloud. L'utilisation d'un compte Alibaba Cloud pour appeler des opérations d'API peut présenter des risques de sécurité. Nous vous recommandons d'utiliser un utilisateur RAM (Resource Access Management) pour les appels d'API et les tâches courantes d'exploitation et de maintenance.
Avant d'utiliser Alibaba Cloud CLI, vous devez configurer des identifiants d'authentification et un ID de région. Alibaba Cloud CLI prend en charge divers types d'identifiants. Pour plus d'informations, consultez la section « Types d'identifiants » de la rubrique Configurer des profils. Cet exemple utilise des identifiants AccessKey. Suivez les étapes ci-dessous :
-
Créez un utilisateur RAM et accordez-lui les autorisations requises. Pour plus d'informations, consultez les rubriques Créer un utilisateur RAM et Accorder des autorisations à un utilisateur RAM.
ImportantDans cet exemple, la stratégie
AliyunMTSFullAccessest attachée à l'utilisateur RAM. Vous pouvez également utiliser une stratégie personnalisée. Pour plus d'informations, consultez la rubrique Stratégies personnalisées pour MPS. Créez une paire AccessKey pour l'utilisateur RAM et notez l'
AccessKey IDainsi que l'AccessKey secretpour configurer ultérieurement les identifiants. Pour plus d'informations, consultez la rubrique Créer une paire AccessKey.-
Obtenez et notez l'ID d'une région disponible pour configurer ultérieurement les identifiants. Alibaba Cloud CLI utilise l'ID de région spécifié pour initier les appels d'API. Pour plus d'informations, consultez la rubrique Endpoints.
RemarqueSpécifiez l'option
--regionpour exécuter une commande dans une région spécifique. Cette option remplace la région configurée dans le profil par défaut et les variables d'environnement. Pour plus d'informations, consultez la rubrique Options de ligne de commande pour les appels d'API. Utilisez la paire AccessKey de l'utilisateur RAM pour configurer les identifiants AccessKey dans le profil nommé AkProfile. Pour plus d'informations, consultez la section « Exemples de configuration » de la rubrique Configurer des profils.
Générer une commande CLI
Accédez à la page API Explorer for ApsaraVideo Media Processing.
-
Dans la zone de recherche située à gauche de la page Debugging, recherchez l'opération d'API que vous souhaitez appeler. Sous l'onglet Parameters de l'opération d'API, spécifiez les paramètres en vous référant à la documentation de l'API. Cliquez sur l'onglet CLI Example situé à droite pour afficher l'exemple de commande généré contenant les paramètres spécifiés.
Cliquez sur l'icône
pour lancer Cloud Shell et déboguer la commande dans Cloud Shell.-
Cliquez sur l'icône
pour copier l'exemple de commande dans le presse-papiers. Vous pourrez ensuite coller et exécuter la commande dans votre shell local.Assurez-vous que les formats des paramètres sont corrects lorsque vous collez la commande dans votre shell local. Pour plus d'informations, consultez la rubrique Formats des paramètres.
Par défaut, OpenAPI Explorer ajoute l'option
--regionà l'exemple de commande généré. Cette option remplace la région configurée dans le profil par défaut et les variables d'environnement. Supprimez ou conservez cette option selon vos besoins.
Appeler une opération d'API
Syntaxe
Alibaba Cloud CLI utilise la syntaxe de commande suivante. Pour plus d'informations, consultez la section « Syntaxe » de la rubrique Générer et exécuter des commandes CLI.
aliyun <command> <subcommand> [options and parameters]
Options de commande
Spécifiez des options de commande pour modifier le comportement par défaut ou utiliser des fonctionnalités étendues. Options courantes :
--profile <nomDuProfil> : Spécifie un profil. Lorsqu'un profil valide est spécifié, Alibaba Cloud CLI l'utilise à la place du profil par défaut ou des configurations de variables d'environnement.
--help: Affiche les informations d'aide relatives à une commande. Pour plus d'informations, consultez la rubrique Utiliser la commande d'aide.
Pour plus d'informations, consultez la rubrique Options de ligne de commande pour les appels d'API.
Exemples
Exemple 1 : Utilisez l'option --help pour répertorier les opérations d'API d'ApsaraVideo Media Processing prises en charge par Alibaba Cloud CLI. Pour obtenir la liste complète, consultez la rubrique Liste des opérations par fonction.
-
Exécutez la commande suivante :
aliyun mts --help -
Consultez le résultat de la commande.
Usage: aliyun mts <ApiName> --parameter1 value1 --parameter2 value2 ... Product: Mts Version: 2014-06-18 Available Api List: ActivateMediaWorkflow Activates a media workflow. AddMedia Submits a job to add a media asset. AddMediaTag Adds tags to a media asset. AddMediaWorkflow Creates a media workflow. AddPipeline Creates a pipeline. AddSmarttagTemplate Adds a template for a smart tagging job. AddTemplate Creates a custom template that includes container, video, and audio stream settings.
Exemple 2 : Utilisez Alibaba Cloud CLI pour appeler l'opération QueryMediaInfoJobList d'ApsaraVideo Media Processing afin d'interroger les jobs d'informations multimédias. Pour plus d'informations sur l'opération QueryMediaInfoJobList, consultez la rubrique QueryMediaInfoJobList.
-
Exécutez la commande suivante :
aliyun mts QueryMediaInfoJobList --region cn-hangzhou --MediaInfoJobIds '23ca1d184c0e4341e5b665e2a12****' -
Consultez le résultat de la commande.
{ "NonExistMediaInfoJobIds": { "String": [ "11ce1d184c0e4341e5b665e2a12****" ] }, "RequestId": "46A04AA5-B119-41BB-B750-7C5327AC3E7A", "MediaInfoJobList": { "MediaInfoJob": [ { "CreationTime": "2014-01-10T12:00:00Z", "State": "Success", "JobId": "23ca1d184c0e4341e5b665e2a12****", "UserData": "testid-001", "Code": "InvalidParameter.JsonObjectFormatInvalid", "Message": "The parameter "*" does not conform to the JSON Object specification", "PipelineId": "88c6ca184c0e432bbf5b665e2a15****", "Async": true, "Input": { "Object": "example.mp4", "Location": "oss-cn-hangzhou", "Bucket": "example-bucket" }, "MNSMessageResult": { "MessageId": "123", "ErrorMessage": "The parameter \\\"Input\\\" does not conform to the JSON Object specification", "ErrorCode": "InvalidParameter.JsonObjectFormatInvalid" }, "Properties": { "Width": "1280", "Height": "720", "Duration": "17.226000", "Fps": "25", "Bitrate": "1630.045", "FileFormat": "QuickTime/MOV", "Streams": { "VideoStreamList": { "VideoStream": [ { "Sar": "1:1", "Height": "1080", "CodecTagString": "[0][0][0][0]", "NetworkCost": { "PreloadTime": "8", "AvgBitrate": "300.34", "CostBandwidth": "10" }, "Width": "1920", "Index": "1", "Timebase": "1/1000", "AvgFPS": "23.976025", "PixFmt": "yuv420p", "Lang": "eng", "CodecLongName": "H.264/AVC/MPEG-4 AVC/MPEG-4 part 10", "NumFrames": "100", "Rotate": "180", "Bitrate": "30541090", "HasBFrames": "0", "Profile": "High", "StartTime": "0.042000", "Dar": "16:9", "CodecName": "h264", "Duration": "100", "Fps": "25", "CodecTag": "0x0000", "CodecTimeBase": "1001/48000", "Level": "41", "ColorRange": "700", "ColorTransfer": "R255 G83 B170", "ColorPrimaries": "700" } ] }, "AudioStreamList": { "AudioStream": [ { "Timebase": "1/1000", "Index": "1", "SampleFmt": "fltp", "ChannelLayout": "5.1(side)", "Lang": "eng", "Samplerate": "48000", "CodecLongName": "DCA (DTS Coherent Acoustics)", "Channels": "2", "NumFrames": "123", "Bitrate": "1536000", "CodecTagString": "[0][0][0][0]", "StartTime": "0.042000", "CodecName": "acc", "Duration": "123", "CodecTag": "0x0000", "CodecTimeBase": "1/48000" } ] }, "SubtitleStreamList": { "SubtitleStream": [ { "Timebase": "1/1000", "Index": "3", "StartTime": "0.000000", "CodecName": "ass", "Lang": "eng", "CodecLongName": "ASS (Advanced SSA) subtitle", "Duration": "1370.116000", "CodecTag": "0x0000", "CodecTimeBase": "0/1", "CodecTagString": "[0][0][0][0]" } ] } }, "Format": { "StartTime": "0.042000", "NumPrograms": "2", "Size": "3509895", "NumStreams": "1", "FormatLongName": "QuickTime/MOV", "Duration": "17.226000", "Bitrate": "1630.045", "FormatName": "mov" }, "FileSize": "3509895" } } ] } }RemarqueSi une erreur est renvoyée, vérifiez que les paramètres de la requête et leurs valeurs sont valides en vous basant sur le code d'erreur.
Utilisez également l'ID de demande figurant dans la réponse ou le message d'erreur du SDK avec l'outil OpenAPI Diagnostics pour effectuer un autodiagnostic.