Auf dieser Seite wird beschrieben, wie du Labels für Transcoder API-Ressourcen hinzufügen und aufrufen kannst. Labels sind Schlüssel/Wert-Paare, mit denen Sie Ressourcen organisieren können. Sie können ein Label an einzelne Ressourcen anhängen und die Ressourcen dann anhand ihrer Labels filtern. Informationen zu Labels werden an das Abrechnungssystem weitergeleitet, sodass Sie Ihre Rechnungsaufstellung nach Labels aufschlüsseln können.
Sie können Labels hinzufügen, wenn Sie Transcoder API-Jobs und Jobvorlagen erstellen. Wenn Sie einen Job auf Grundlage einer Jobvorlage erstellen, die Labels enthält, enthält der Job dieselben Labels wie die Jobvorlage. Wenn Sie die Labels aus der Jobvorlage überschreiben möchten, können Sie die Labels direkt im Job angeben.
Labels sind über die REST API oder RPC API verfügbar. Labels sind nicht verfügbar in der Google Cloud CLI oder Google Cloud Console.
Anforderungen an Labels
Die Labels, die auf eine Ressource angewendet werden, müssen die folgenden Anforderungen erfüllen:
- Jede Ressource kann bis zu 64 Labels haben.
- Jedes Label muss ein Schlüssel/Wert-Paar sein.
- Schlüssel haben eine Mindestlänge von 1 Zeichen und eine maximale Länge von 63 Zeichen und dürfen nicht leer sein. Werte dürfen leer sein und haben eine maximale Länge von 63 Zeichen.
- Schlüssel und Werte dürfen nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Alle Zeichen müssen die UTF-8-Codierung verwenden. Internationale Zeichen sind zulässig.
- Der Schlüssel eines Labels muss in einer einzelnen Ressource eindeutig sein, aber Sie können denselben Schlüssel für mehrere Ressourcen verwenden.
- Schlüssel müssen mit einem Kleinbuchstaben oder einem internationalen Zeichen beginnen.
Label einem Job hinzufügen
Im folgenden Beispiel wird gezeigt, wie Sie beim Erstellen eines neuen Jobs ein Label hinzufügen.
Sie können beispielsweise ein Label verwenden, um anzugeben, dass der Job in einer Testumgebung verwendet wird. Der Schlüssel für das Label wäre environment
und der Wert test
.
Verwenden Sie zum Erstellen des Jobs die Methode
projects.locations.jobs.create
.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: Ihre Google Cloud-Projekt-ID, die unter IAM-Einstellungen aufgeführt ist.LOCATION
: Der Standort, an dem der Job ausgeführt werden soll. Verwenden Sie in einer der unterstützten RegionenStandorte anzeigenus-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
: Der Name des Cloud Storage-Buckets, den Sie erstellt haben.STORAGE_INPUT_VIDEO
: Der Name des Videos in Ihrem Cloud Storage-Bucket, den Sie transcodieren, z. B.my-vid.mp4
. In diesem Feld sollten alle Ordner berücksichtigt werden, die Sie im Bucket erstellt haben (z. B.input/my-vid.mp4
).STORAGE_OUTPUT_FOLDER
: Der Name des Cloud Storage-Ordners, in dem die codierten Videoausgaben gespeichert werden sollen.
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "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" } }
Wenn Sie mehrere Labels hinzufügen möchten, trennen Sie die einzelnen Labels durch Kommas.
Nach Labels auflisten und filtern
Sie können Ressourcen auflisten und nach ihren Labels filtern. Beispiel: Nach
einem Job ein Label hinzufügen, können Sie die Jobs in einem bestimmten
und nach den hinzugefügten Labels filtern. Im folgenden Beispiel werden die Jobs aufgelistet und alle herausgefiltert, die das Label "environment": "test"
nicht enthalten.
Verwenden Sie die Methode projects.locations.jobs.list
, um die Jobs aufzulisten. Der folgende Filter wird an die URL angehängt:
?filter=labels.environment:test
.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: Ihre Google Cloud-Projekt-ID.LOCATION
: Der Standort Ihrer Jobs. Verwenden Sie eine der unterstützten Regionen.
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
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "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" } } ] }