Cette page explique comment ajouter et afficher des étiquettes dans l'API Transcoder ressources. Les libellés sont des paires clé/valeur que vous pouvez utiliser pour organiser les ressources. Vous pouvez associer un libellé à chaque ressource, puis filtrer les ressources par libellé. Les informations sur les libellés sont transmises au système de facturation afin que vous puissiez consulter le détail des frais apparaissant sur votre facture en fonction des libellés.
Vous pouvez ajouter des étiquettes lorsque vous créez des tâches de l'API Transcoder et des modèles de tâche. Si vous créez un job basé sur un modèle de job contenant des étiquettes, celui-ci contiennent les mêmes étiquettes que le modèle de job. Pour remplacer les étiquettes du de tâche, vous pouvez spécifier directement les étiquettes sur la tâche elle-même.
Les libellés sont disponibles avec les API REST ou RPC. Les libellés ne sont pas disponibles dans Google Cloud CLI ni dans la console Google Cloud.
Exigences liées aux libellés
Les libellés appliqués à une ressource doivent répondre aux exigences suivantes :
- Chaque ressource peut avoir plusieurs étiquettes, jusqu'à un maximum de 64.
- Chaque libellé doit correspondre à une paire clé/valeur.
- Les clés doivent comporter un (1) caractère au minimum et 63 au maximum, et ne peuvent pas être vides. Les valeurs peuvent être vides et comporter 63 caractères au maximum.
- Les clés et les valeurs ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Tous les caractères doivent être au format d'encodage UTF-8. Les caractères internationaux sont autorisés.
- La clé d'un libellé doit être unique dans une seule ressource, mais vous pouvez utiliser la même clé avec plusieurs ressources.
- Les clés doivent commencer par une lettre minuscule ou un caractère international.
Ajouter une étiquette à une tâche
L'exemple suivant montre comment ajouter une étiquette lors de la création d'une tâche.
Par exemple, vous pouvez utiliser une étiquette pour indiquer que le job sera utilisé
dans un environnement de test. La clé du libellé serait environment
et l'élément
la valeur est test
.
Pour créer la tâche, utilisez la méthode
projects.locations.jobs.create
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID
: ID de votre projet Google Cloud répertorié dans les paramètres IAM.LOCATION
: emplacement dans lequel votre tâche sera exécutée. Utilisez l'une des régions où le service est disponible.Afficher les lieuxus-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
STORAGE_BUCKET_NAME
: nom du bucket Cloud Storage que vous avez créé.STORAGE_INPUT_VIDEO
: nom de la vidéo dans votre bucket Cloud Storage que vous transcodez, par exemplemy-vid.mp4
. Ce champ doit tenir compte des dossiers créés dans le bucket (par exemple,input/my-vid.mp4
).STORAGE_OUTPUT_FOLDER
: nom du dossier Cloud Storage dans lequel vous souhaitez enregistrer les sorties vidéo encodées.
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/JOB_ID", "config": { "inputs": [ { "key": "input0", "uri": "gs://STORAGE_BUCKET_NAME/STORAGE_INPUT_VIDEO" } ], "editList": [ { "key": "atom0", "inputs": [ "input0" ], "startTimeOffset": "0s" } ], "elementaryStreams": [ { "videoStream": { "h264": { "widthPixels": 640, "heightPixels": 360, "frameRate": 30, "bitrateBps": 550000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 550000, "vbvFullnessBits": 495000, "entropyCoder": "cabac", "bFrameCount": 3, "aqStrength": 1, "profile": "high", "preset": "veryfast" } }, "key": "video-stream0" }, { "videoStream": { "h264": { "widthPixels": 1280, "heightPixels": 720, "frameRate": 30, "bitrateBps": 2500000, "pixelFormat": "yuv420p", "rateControlMode": "vbr", "crfLevel": 21, "gopDuration": "3s", "vbvSizeBits": 2500000, "vbvFullnessBits": 2250000, "entropyCoder": "cabac", "bFrameCount": 3, "aqStrength": 1, "profile": "high", "preset": "veryfast" } }, "key": "video-stream1" }, { "audioStream": { "codec": "aac", "bitrateBps": 64000, "channelCount": 2, "channelLayout": [ "fl", "fr" ], "sampleRateHertz": 48000 }, "key": "audio-stream0" } ], "muxStreams": [ { "key": "sd", "fileName": "sd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] }, { "key": "hd", "fileName": "hd.mp4", "container": "mp4", "elementaryStreams": [ "video-stream1", "audio-stream0" ] }, { "key": "media-sd", "fileName": "media-sd.ts", "container": "ts", "elementaryStreams": [ "video-stream0", "audio-stream0" ] }, { "key": "media-hd", "fileName": "media-hd.ts", "container": "ts", "elementaryStreams": [ "video-stream1", "audio-stream0" ] }, { "key": "video-only-sd", "fileName": "video-only-sd.m4s", "container": "fmp4", "elementaryStreams": [ "video-stream0" ] }, { "key": "video-only-hd", "fileName": "video-only-hd.m4s", "container": "fmp4", "elementaryStreams": [ "video-stream1" ] }, { "key": "audio-only", "fileName": "audio-only.m4s", "container": "fmp4", "elementaryStreams": [ "audio-stream0" ] } ], "manifests": [ { "fileName": "manifest.m3u8", "type": "HLS", "muxStreams": [ "media-sd", "media-hd" ] }, { "fileName": "manifest.mpd", "type": "DASH", "muxStreams": [ "video-only-sd", "video-only-hd", "audio-only" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME/STORAGE_OUTPUT_FOLDER/" } }, "state": "PENDING", "createTime": CREATE_TIME, "ttlAfterCompletionDays": 30, "labels": { "environment": "test" } }
Pour ajouter plusieurs libellés, séparez-les par une virgule.
Répertorier et filtrer par libellés
Vous pouvez répertorier les ressources et les filtrer par étiquette. Par exemple, après
ajouter une étiquette à une tâche, vous pouvez répertorier les tâches d'une tâche
emplacement et filtrez les données en fonction des étiquettes que vous avez ajoutées. L'exemple suivant répertorie les
et filtre ceux qui ne contiennent pas d'étiquette
"environment": "test"
Pour répertorier les tâches, utilisez la méthode projects.locations.jobs.list
.
. Le filtre suivant est ajouté à l'URL:
?filter=labels.environment:test
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID
: ID de votre projet Google Cloud.LOCATION
: emplacement de vos tâches. Utilisez l'un des
régions dans lesquelles le service est disponible.
us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "jobs": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/MY_JOB", "config": { .... }, "state": "PENDING", "createTime": CREATE_TIME, "ttlAfterCompletionDays": 30, "labels": { "environment": "test" } }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/MY_OTHER_JOB", "config": { .... }, "state": "SUCCEEDED", "createTime": CREATE_TIME, "startTime": START_TIME, "endTime": END_TIME, "ttlAfterCompletionDays": 30, "labels": { "environment": "test" } } ] }