En esta página, se muestra cómo agregar y ver etiquetas en recursos de la API de Transcoder. Las etiquetas son pares clave-valor que puedes usar para organizar los recursos. Puedes adjuntar una etiqueta a recursos individuales y, luego, filtrarlos según estas. La información sobre las etiquetas se envía al sistema de facturación a fin de que puedas desglosar tus cargos de facturación según las etiquetas.
Puedes agregar etiquetas cuando creas trabajos y plantillas de trabajo de la API de Transcoder. Si creas un trabajo basado en una plantilla que contiene etiquetas, el trabajo contendrá las mismas etiquetas que la plantilla. Para anular las etiquetas de la plantilla de trabajo, puedes especificarlas directamente en el trabajo.
Las etiquetas están disponibles mediante el uso de las API de REST o RPC. Las etiquetas no están disponibles en Google Cloud CLI ni en la consola de Google Cloud.
Requisitos de las etiquetas
Las etiquetas que se aplican a un recurso deben cumplir los siguientes requisitos:
- Cada recurso puede tener varias etiquetas, hasta 64.
- Cada etiqueta debe ser un par clave-valor.
- La longitud de las claves debe ser de entre 1 y 63 caracteres, y no pueden estar vacías. Los valores pueden estar vacíos y su longitud máxima es de 63 caracteres.
- Las claves y los valores pueden contener solo letras en minúscula, números, guiones bajos y guiones. Todos los caracteres deben usar la codificación UTF-8 y, también, se permiten los caracteres internacionales.
- La clave de una etiqueta debe ser única en un solo recurso, pero puedes usar la misma clave en varios recursos.
- Las claves deben comenzar con una letra en minúscula o un carácter internacional.
Agrega una etiqueta a un trabajo
En el siguiente ejemplo, se muestra cómo agregar una etiqueta cuando se crea un trabajo nuevo.
Por ejemplo, puedes usar una etiqueta para indicar que la tarea se usará en un entorno de pruebas. La clave para la etiqueta sería environment
y el valor sería test
.
Para crear el trabajo, usa el método projects.locations.jobs.create
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
: El ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.LOCATION
: Es la ubicación en la que se ejecutará tu trabajo. Usa una de las regiones compatibles.Cómo mostrar ubicacionesus-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
: Es el nombre del bucket de Cloud Storage que creaste.STORAGE_INPUT_VIDEO
: Es el nombre del video en tu bucket de Cloud Storage que se transcodificará, comomy-vid.mp4
. Este campo debe representar todas las carpetas que creaste en el bucket (por ejemplo,input/my-vid.mp4
).STORAGE_OUTPUT_FOLDER
: Es el nombre de la carpeta de Cloud Storage en la que deseas guardar los resultados del video codificado.
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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" } }
Para agregar varias etiquetas, separa cada una con una coma.
Enumera y filtra por etiquetas
Puedes enumerar los recursos y filtrarlos por sus etiquetas. Por ejemplo, después de agregar una etiqueta a un trabajo, puedes enumerar los trabajos en una ubicación determinada y filtrar por las etiquetas que agregaste. En el siguiente ejemplo, se enumeran las tareas y se filtran aquellas que no contienen la etiqueta "environment": "test"
.
Para enumerar las tareas, usa el método projects.locations.jobs.list
. Se agrega el siguiente filtro a la URL: ?filter=labels.environment:test
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID
es el ID del proyecto de Google Cloud.LOCATION
: Es la ubicación de tus trabajos. Usa una de las regiones compatibles.
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
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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" } } ] }