Questa pagina mostra come aggiungere e visualizzare etichette sull'API Transcoder Google Cloud. Le etichette sono coppie chiave/valore che puoi utilizzare per organizzare le risorse. Puoi associare un'etichetta alle singole risorse e utilizzarle per impostare filtri di ricerca. Le informazioni relative alle etichette vengono inoltrate al sistema di fatturazione, per consentirti di suddividere gli addebiti in base all'etichetta.
Puoi aggiungere etichette durante la creazione di job e modelli di job dell'API Transcoder. Se crei un job sulla base di un modello di job che contiene etichette, il job contengono le stesse etichette del modello di job. Per sostituire le etichette del modello job, puoi specificarle direttamente nel job stesso.
Le etichette sono disponibili utilizzando le API REST o RPC. Le etichette non sono disponibili nella CLI Google Cloud o nella console Google Cloud.
Requisiti per le etichette
Le etichette applicate a una risorsa devono soddisfare i seguenti requisiti:
- Ogni risorsa può avere più etichette, fino a un massimo di 64.
- Ogni etichetta deve essere una coppia chiave-valore.
- Le chiavi hanno una lunghezza minima di 1 carattere e una massima di 63 caratteri e non possono essere vuote. I valori possono essere vuoti e avere una lunghezza massima di 63 caratteri.
- Le chiavi e i valori possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Tutti i caratteri devono utilizzare la codifica UTF-8 e sono consentiti caratteri internazionali.
- La chiave di un'etichetta deve essere univoca all'interno di una singola risorsa, ma puoi usare la stessa chiave con più risorse.
- Le chiavi devono iniziare con una lettera minuscola o un carattere internazionale.
Aggiunta di un'etichetta a un job
L'esempio seguente mostra come aggiungere un'etichetta quando si crea un nuovo job.
Ad esempio, puoi utilizzare un'etichetta per indicare che il job verrà utilizzato in un ambiente di test. La chiave per l'etichetta è environment
e i valori
sarebbe test
.
Per creare il job, utilizza il metodo
projects.locations.jobs.create
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud elencato in nelle impostazioni IAM.LOCATION
: la posizione in cui verrà eseguito il job. Utilizza una delle regioni supportate.Sedi dei negozius-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
: il nome dell'istanza di Cloud Storage che hai creato.STORAGE_INPUT_VIDEO
: il nome del video nel tuo Bucket Cloud Storage che stai transcodificando, ad esempiomy-vid.mp4
. Questo campo deve tenere conto di eventuali cartelle create nel bucket (ad esempioinput/my-vid.mp4
).STORAGE_OUTPUT_FOLDER
: il nome della cartella Cloud Storage in cui vuoi salvare le uscite video codificate.
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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" } }
Per aggiungere più etichette, separale con una virgola.
Elenco e filtri per etichette
Puoi elencare le risorse e filtrarle in base alle etichette. Ad esempio, dopo aver aggiunto un'etichetta a un job, puoi elencare i job in una determinata località e filtrare in base alle etichette che hai aggiunto. Nell'esempio seguente sono elencate le
job ed esclude quelli che non contengono l'etichetta
"environment": "test"
.
Per elencare i job, utilizza il metodo projects.locations.jobs.list
. All'URL viene aggiunto il seguente filtro:
?filter=labels.environment:test
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: l'ID del tuo progetto Google Cloud.LOCATION
: la posizione dei tuoi lavori. Utilizza uno dei seguenti
regioni supportate.
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
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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" } } ] }