Anzeigen in VOD-Assets einfügen

Auf dieser Seite wird beschrieben, wie Sie mithilfe der Video Stitcher API und curl, PowerShell oder der Clientbibliotheken Anzeigen in die Wiedergabe eines VOD-Assets (Video-on-Demand) einfügen.

Hinweise

Führen Sie die folgenden Schritte aus, bevor Sie die Video Stitcher API aufrufen:

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Installieren Sie die Google Cloud CLI.
  3. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  4. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  5. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  6. Aktivieren Sie die Video Stitcher API:

    gcloud services enable videostitcher.googleapis.com
  7. Erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Google-Konto:

    gcloud auth application-default login
  8. Gewähren Sie Ihrem Google-Konto Rollen. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus: roles/videostitcher.admin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
    • Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.
    • Ersetzen Sie EMAIL_ADDRESS durch Ihre E-Mail-Adresse.
    • Ersetzen Sie ROLE durch jede einzelne Rolle.
  9. Installieren Sie die Google Cloud CLI.
  10. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  11. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  12. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  13. Aktivieren Sie die Video Stitcher API:

    gcloud services enable videostitcher.googleapis.com
  14. Erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Google-Konto:

    gcloud auth application-default login
  15. Gewähren Sie Ihrem Google-Konto Rollen. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus: roles/videostitcher.admin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
    • Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.
    • Ersetzen Sie EMAIL_ADDRESS durch Ihre E-Mail-Adresse.
    • Ersetzen Sie ROLE durch jede einzelne Rolle.
  16. Für diese Kurzanleitung sind eine MPEG-DASH-Manifestdatei (MPD) oder eine HLS-Manifestdatei (M3U8) für HTTP-Livestreaming sowie die zugehörigen Segmentdateien erforderlich. Sie können vorhandene VOD-Dateien verwenden oder mit der Transcoder API VOD-Quelldateien erstellen.
  17. Optional können Sie für diese Kurzanleitung ein Content Delivery Network (CDN) verwenden. Wenn Sie noch kein CDN konfiguriert haben, führen Sie die Schritte in der Media CDN-Kurzanleitung mit folgenden Änderungen aus:
    1. Laden Sie MPEG-DASH- oder HLS-Manifestdateien und -Mediensegmente in den Cloud Storage-Bucket hoch.
    2. Sie müssen Ihren Cloud Storage-Bucket nicht öffentlich lesbar machen.
    3. Sie können signierte oder nicht signierte URLs verwenden.

CDN-Schlüssel erstellen

Die Video Stitcher API kann Videos aus einem Content Delivery Network (CDN) abrufen. Wenn das Video-Asset durch URL-Signatur geschützt ist, muss ein CDN-Schlüssel bei der Video Stitcher API registriert werden.

Verwenden Sie zum Registrieren des CDN-Schlüssels die Methode projects.locations.cdnKeys.create.

REST (Media CDN)

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • PROJECT_NUMBER: Ihre Google Cloud-Projektnummer. Diese befindet sich auf der Seite IAM-Einstellungen im Feld Projektnummer.
  • LOCATION: der Ort, an dem Ihr CDN-Schlüssel erstellt werden soll. Verwenden Sie eine der unterstützten Regionen.
    Standorte anzeigen
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • CDN_KEY_ID: Eine benutzerdefinierte Kennung für den CDN-Schlüssel, die die letzte Komponente des Ressourcennamens des CDN-Schlüssels wird. Diese ID darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten. Das erste Zeichen muss ein Buchstabe, das letzte Zeichen ein Buchstabe oder eine Ziffer sein und die gesamte ID darf maximal 63 Zeichen lang sein.
  • HOSTNAME: der Hostname des CDN, der mit diesem CDN-Schlüssel verknüpft werden soll (z. B. eine IP-Adresse wie 35.190.60.252 oder ein Domainname wie cdn.example.com)
  • MEDIA_CDN_KEYNAME: der Keyset-Name des Media CDN-Schlüssels
  • MEDIA_CDN_PRIVATE_KEY: Der private 64-Byte-Ed25519-Schlüssel als base64-codierter String. Weitere Informationen finden Sie unter Privaten Schlüssel für Media CDN erstellen.

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/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.common.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/cdnKeys/CDN_KEY_ID",
    "verb": "create",
    "cancelRequested": false,
    "apiVersion": "v1"
  },
  "done": false
}
Dieser Befehl erstellt einen Vorgang mit langer Ausführungszeit, den Sie abfragen können, um den Fortschritt zu verfolgen. Kopieren Sie die zurückgegebene OPERATION_ID, die der letzte Teil des Felds name ist, um im nächsten Abschnitt zu verwenden.

REST (Cloud CDN)

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • PROJECT_NUMBER: Ihre Google Cloud-Projektnummer. Diese befindet sich auf der Seite IAM-Einstellungen im Feld Projektnummer.
  • LOCATION: der Ort, an dem Ihr CDN-Schlüssel erstellt werden soll. Verwenden Sie eine der unterstützten Regionen.
    Standorte anzeigen
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • CDN_KEY_ID: Eine benutzerdefinierte Kennung für den CDN-Schlüssel, die die letzte Komponente des Ressourcennamens des CDN-Schlüssels wird. Diese ID darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten. Das erste Zeichen muss ein Buchstabe, das letzte Zeichen ein Buchstabe oder eine Ziffer sein und die gesamte ID darf maximal 63 Zeichen lang sein.
  • HOSTNAME: der Hostname des CDN, der mit diesem CDN-Schlüssel verknüpft werden soll (z. B. eine IP-Adresse wie 35.190.60.252 oder ein Domainname wie cdn.example.com)
  • GCDN_KEYNAME: der Name des Cloud CDN-Schlüssels
  • GCDN_PRIVATE_KEY: das base64-codierte String-Secret für den Cloud CDN-Schlüssel

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/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.common.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/cdnKeys/CDN_KEY_ID",
    "verb": "create",
    "cancelRequested": false,
    "apiVersion": "v1"
  },
  "done": false
}
Dieser Befehl erstellt einen Vorgang mit langer Ausführungszeit, den Sie abfragen können, um den Fortschritt zu verfolgen. Kopieren Sie die zurückgegebene OPERATION_ID, die der letzte Teil des Felds name ist, um im nächsten Abschnitt zu verwenden.

REST (Akamai-CDN)

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • PROJECT_NUMBER: Ihre Google Cloud-Projektnummer. Diese befindet sich auf der Seite IAM-Einstellungen im Feld Projektnummer.
  • LOCATION: der Ort, an dem Ihr CDN-Schlüssel erstellt werden soll. Verwenden Sie eine der unterstützten Regionen.
    Standorte anzeigen
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • CDN_KEY_ID: Eine benutzerdefinierte Kennung für den CDN-Schlüssel, die die letzte Komponente des Ressourcennamens des CDN-Schlüssels wird. Diese ID darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten. Das erste Zeichen muss ein Buchstabe, das letzte Zeichen ein Buchstabe oder eine Ziffer sein und die gesamte ID darf maximal 63 Zeichen lang sein.
  • HOSTNAME: der Hostname des CDN, der mit diesem CDN-Schlüssel verknüpft werden soll (z. B. eine IP-Adresse wie 35.190.60.252 oder ein Domainname wie cdn.example.com)
  • AKAMAI_TOKEN_KEY: der base64-codierte Stringtokenschlüssel für die Akamai CDN-Edge-Konfiguration

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/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.common.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/cdnKeys/CDN_KEY_ID",
    "verb": "create",
    "cancelRequested": false,
    "apiVersion": "v1"
  },
  "done": false
}
Dieser Befehl erstellt einen Vorgang mit langer Ausführungszeit, den Sie abfragen können, um den Fortschritt zu verfolgen. Kopieren Sie die zurückgegebene OPERATION_ID, die der letzte Teil des Felds name ist, um im nächsten Abschnitt zu verwenden.

C#

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für C# in der Video Stitcher API-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der C# API-Referenzdokumentation zur Video Stitcher API.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Video Stitcher API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


using Google.Api.Gax.ResourceNames;
using Google.Cloud.Video.Stitcher.V1;
using Google.LongRunning;
using Google.Protobuf;
using System.Threading.Tasks;

public class CreateCdnKeySample
{
    public async Task<CdnKey> CreateCdnKeyAsync(
    string projectId, string location, string cdnKeyId, string hostname,
    string keyName, string privateKey, bool isMediaCdn)
    {
        // Create the client.
        VideoStitcherServiceClient client = VideoStitcherServiceClient.Create();

        CdnKey cdnKey = new CdnKey
        {
            Hostname = hostname
        };

        if (isMediaCdn)
        {
            cdnKey.MediaCdnKey = new MediaCdnKey
            {
                KeyName = keyName,
                PrivateKey = ByteString.CopyFromUtf8(privateKey)
            };
        }
        else
        {
            cdnKey.GoogleCdnKey = new GoogleCdnKey
            {
                KeyName = keyName,
                PrivateKey = ByteString.CopyFromUtf8(privateKey)
            };
        }

        CreateCdnKeyRequest request = new CreateCdnKeyRequest
        {
            ParentAsLocationName = LocationName.FromProjectLocation(projectId, location),
            CdnKeyId = cdnKeyId,
            CdnKey = cdnKey
        };

        // Make the request.
        Operation<CdnKey, OperationMetadata> response = await client.CreateCdnKeyAsync(request);

        // Poll until the returned long-running operation is complete.
        Operation<CdnKey, OperationMetadata> completedResponse = await response.PollUntilCompletedAsync();

        // Retrieve the operation result.
        return completedResponse.Result;
    }
}

Go

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Go in der Video Stitcher API-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Go API-Referenzdokumentation zur Video Stitcher API.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Video Stitcher API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

import (
	"context"
	"fmt"
	"io"

	stitcher "cloud.google.com/go/video/stitcher/apiv1"
	stitcherstreampb "cloud.google.com/go/video/stitcher/apiv1/stitcherpb"
)

// createCDNKey creates a CDN key. A CDN key is used to retrieve protected media.
// If isMediaCDN is true, create a Media CDN key. If false, create a Cloud
// CDN key. To create a privateKey value for Media CDN, see
// https://cloud.google.com/video-stitcher/docs/how-to/managing-cdn-keys#create-private-key-media-cdn.
func createCDNKey(w io.Writer, projectID, keyID, privateKey string, isMediaCDN bool) error {
	// projectID := "my-project-id"
	// keyID := "my-cdn-key"
	// privateKey := "my-private-key"
	// isMediaCDN := true
	location := "us-central1"
	hostname := "cdn.example.com"
	keyName := "cdn-key"
	ctx := context.Background()
	client, err := stitcher.NewVideoStitcherClient(ctx)
	if err != nil {
		return fmt.Errorf("stitcher.NewVideoStitcherClient: %w", err)
	}
	defer client.Close()

	var req *stitcherstreampb.CreateCdnKeyRequest
	if isMediaCDN {
		req = &stitcherstreampb.CreateCdnKeyRequest{
			Parent:   fmt.Sprintf("projects/%s/locations/%s", projectID, location),
			CdnKeyId: keyID,
			CdnKey: &stitcherstreampb.CdnKey{
				CdnKeyConfig: &stitcherstreampb.CdnKey_MediaCdnKey{
					MediaCdnKey: &stitcherstreampb.MediaCdnKey{
						KeyName:    keyName,
						PrivateKey: []byte(privateKey),
					},
				},
				Hostname: hostname,
			},
		}
	} else {
		req = &stitcherstreampb.CreateCdnKeyRequest{
			Parent:   fmt.Sprintf("projects/%s/locations/%s", projectID, location),
			CdnKeyId: keyID,
			CdnKey: &stitcherstreampb.CdnKey{
				CdnKeyConfig: &stitcherstreampb.CdnKey_GoogleCdnKey{
					GoogleCdnKey: &stitcherstreampb.GoogleCdnKey{
						KeyName:    keyName,
						PrivateKey: []byte(privateKey),
					},
				},
				Hostname: hostname,
			},
		}
	}

	// Creates the CDN key.
	op, err := client.CreateCdnKey(ctx, req)
	if err != nil {
		return fmt.Errorf("client.CreateCdnKey: %w", err)
	}
	response, err := op.Wait(ctx)
	if err != nil {
		return err
	}

	fmt.Fprintf(w, "CDN key: %v", response.GetName())
	return nil
}

Java

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Java in der Video Stitcher API-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Java API-Referenzdokumentation zur Video Stitcher API.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Video Stitcher API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


import com.google.cloud.video.stitcher.v1.CdnKey;
import com.google.cloud.video.stitcher.v1.CreateCdnKeyRequest;
import com.google.cloud.video.stitcher.v1.GoogleCdnKey;
import com.google.cloud.video.stitcher.v1.LocationName;
import com.google.cloud.video.stitcher.v1.MediaCdnKey;
import com.google.cloud.video.stitcher.v1.VideoStitcherServiceClient;
import com.google.protobuf.ByteString;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;

public class CreateCdnKey {

  private static final int TIMEOUT_IN_MINUTES = 2;

  public static void main(String[] args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project-id";
    String location = "us-central1";
    String cdnKeyId = "my-cdn-key-id";
    String hostname = "cdn.example.com";
    String keyName = "my-key";
    // To create a privateKey value for Media CDN, see
    // https://cloud.google.com/video-stitcher/docs/how-to/managing-cdn-keys#create-private-key-media-cdn.
    String privateKey = "my-private-key"; // will be converted to a byte string
    Boolean isMediaCdn = true;

    createCdnKey(projectId, location, cdnKeyId, hostname, keyName, privateKey, isMediaCdn);
  }

  // createCdnKey creates a Media CDN key or a Cloud CDN key. A CDN key is used to retrieve
  // protected media.
  public static void createCdnKey(
      String projectId,
      String location,
      String cdnKeyId,
      String hostname,
      String keyName,
      String privateKey,
      Boolean isMediaCdn)
      throws IOException, ExecutionException, InterruptedException, TimeoutException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    VideoStitcherServiceClient videoStitcherServiceClient = VideoStitcherServiceClient.create();
    CdnKey cdnKey;
    if (isMediaCdn) {
      cdnKey =
          CdnKey.newBuilder()
              .setHostname(hostname)
              .setMediaCdnKey(
                  MediaCdnKey.newBuilder()
                      .setKeyName(keyName)
                      .setPrivateKey(ByteString.copyFromUtf8(privateKey))
                      .build())
              .build();
    } else {
      cdnKey =
          CdnKey.newBuilder()
              .setHostname(hostname)
              .setGoogleCdnKey(
                  GoogleCdnKey.newBuilder()
                      .setKeyName(keyName)
                      .setPrivateKey(ByteString.copyFromUtf8(privateKey))
                      .build())
              .build();
    }

    CreateCdnKeyRequest createCdnKeyRequest =
        CreateCdnKeyRequest.newBuilder()
            .setParent(LocationName.of(projectId, location).toString())
            .setCdnKeyId(cdnKeyId)
            .setCdnKey(cdnKey)
            .build();

    CdnKey result =
        videoStitcherServiceClient
            .createCdnKeyAsync(createCdnKeyRequest)
            .get(TIMEOUT_IN_MINUTES, TimeUnit.MINUTES);
    System.out.println("Created new CDN key: " + result.getName());
    videoStitcherServiceClient.close();
  }
}

Node.js

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Node.js in der Video Stitcher API-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Node.js API-Referenzdokumentation zur Video Stitcher API.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Video Stitcher API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

const location = 'us-central1';
const hostname = 'cdn.example.com';
const keyName = 'cdn-key';
/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// projectId = 'my-project-id';
// cdnKeyId = 'my-cdn-key';
// privateKey = 'my-private-key';

// Imports the Video Stitcher library
const {VideoStitcherServiceClient} =
  require('@google-cloud/video-stitcher').v1;
// Instantiates a client
const stitcherClient = new VideoStitcherServiceClient();

async function createCdnKey() {
  // Construct request
  const request = {
    parent: stitcherClient.locationPath(projectId, location),
    cdnKey: {
      hostname: hostname,
    },
    cdnKeyId: cdnKeyId,
  };

  if (isMediaCdn === 'true') {
    request.cdnKey.mediaCdnKey = {
      keyName: keyName,
      privateKey: privateKey,
    };
  } else {
    request.cdnKey.googleCdnKey = {
      keyName: keyName,
      privateKey: privateKey,
    };
  }

  const [operation] = await stitcherClient.createCdnKey(request);
  const [response] = await operation.promise();
  console.log(`CDN key: ${response.name}`);
}

createCdnKey();

PHP

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für PHP in der Video Stitcher API-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der PHP API-Referenzdokumentation zur Video Stitcher API.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Video Stitcher API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

use Google\Cloud\Video\Stitcher\V1\CdnKey;
use Google\Cloud\Video\Stitcher\V1\Client\VideoStitcherServiceClient;
use Google\Cloud\Video\Stitcher\V1\CreateCdnKeyRequest;
use Google\Cloud\Video\Stitcher\V1\GoogleCdnKey;
use Google\Cloud\Video\Stitcher\V1\MediaCdnKey;

/**
 * Creates a CDN key. Cloud CDN keys and Media CDN keys are supported.
 *
 * @param string  $callingProjectId   The project ID to run the API call under
 * @param string  $location           The location of the CDN key
 * @param string  $cdnKeyId           The ID of the CDN key to be created
 * @param string  $hostname           The hostname of the CDN key
 * @param string  $keyName            For a Media CDN key, this is the keyset name.
 *                                    For a Cloud CDN key, this is the public name of the
 *                                    CDN key.
 * @param string  $privateKey         For a Media CDN key, this is a 64-byte Ed25519 private
 *                                    key encoded as a base64-encoded string. See
 *                                    https://cloud.google.com/video-stitcher/docs/how-to/managing-cdn-keys#create-private-key-media-cdn
 *                                    for more information. For a Cloud CDN key,
 *                                    this is a base64-encoded string secret.
 * @param bool    $isMediaCdn         If true, create a Media CDN key. If false,
 *                                    create a Cloud CDN key.
 */
function create_cdn_key(
    string $callingProjectId,
    string $location,
    string $cdnKeyId,
    string $hostname,
    string $keyName,
    string $privateKey,
    bool $isMediaCdn
): void {
    // Instantiate a client.
    $stitcherClient = new VideoStitcherServiceClient();

    $parent = $stitcherClient->locationName($callingProjectId, $location);
    $cdnKey = new CdnKey();
    $cdnKey->setHostname($hostname);

    if ($isMediaCdn == true) {
        $cloudCdn = new MediaCdnKey();
        $cdnKey->setMediaCdnKey($cloudCdn);
    } else {
        $cloudCdn = new GoogleCdnKey();
        $cdnKey->setGoogleCdnKey($cloudCdn);
    }
    $cloudCdn->setKeyName($keyName);
    $cloudCdn->setPrivateKey($privateKey);

    // Run CDN key creation request
    $request = (new CreateCdnKeyRequest())
        ->setParent($parent)
        ->setCdnKey($cdnKey)
        ->setCdnKeyId($cdnKeyId);
    $operationResponse = $stitcherClient->createCdnKey($request);
    $operationResponse->pollUntilComplete();
    if ($operationResponse->operationSucceeded()) {
        $result = $operationResponse->getResult();
        // Print results
        printf('CDN key: %s' . PHP_EOL, $result->getName());
    } else {
        $error = $operationResponse->getError();
        // handleError($error)
    }
}

Python

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Python in der Video Stitcher API-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Python API-Referenzdokumentation zur Video Stitcher API.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Video Stitcher API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


import argparse

from google.cloud.video import stitcher_v1
from google.cloud.video.stitcher_v1.services.video_stitcher_service import (
    VideoStitcherServiceClient,
)


def create_cdn_key(
    project_id: str,
    location: str,
    cdn_key_id: str,
    hostname: str,
    key_name: str,
    private_key: str,
    is_cloud_cdn: bool,
) -> stitcher_v1.types.CdnKey:
    """Creates a Cloud CDN or Media CDN key.
    Args:
        project_id: The GCP project ID.
        location: The location in which to create the CDN key.
        cdn_key_id: The user-defined CDN key ID.
        hostname: The hostname to which this CDN key applies.
        key_name: For a Media CDN key, this is the keyset name.
                  For a Cloud CDN key, this is the public name of the CDN key.
        private_key: For a Media CDN key, this is a 64-byte Ed25519 private
                     key encoded as a base64-encoded string.
                     See https://cloud.google.com/video-stitcher/docs/how-to/managing-cdn-keys#create-private-key-media-cdn
                     for more information. For a Cloud CDN key, this is a base64-encoded string secret.
        is_cloud_cdn: If true, create a Cloud CDN key. If false, create a Media CDN key.

    Returns:
        The CDN key resource.
    """

    client = VideoStitcherServiceClient()

    parent = f"projects/{project_id}/locations/{location}"

    cdn_key = stitcher_v1.types.CdnKey(
        name=cdn_key_id,
        hostname=hostname,
    )

    if is_cloud_cdn:
        cdn_key.google_cdn_key = stitcher_v1.types.GoogleCdnKey(
            key_name=key_name,
            private_key=private_key,
        )
    else:
        cdn_key.media_cdn_key = stitcher_v1.types.MediaCdnKey(
            key_name=key_name,
            private_key=private_key,
        )

    operation = client.create_cdn_key(
        parent=parent, cdn_key_id=cdn_key_id, cdn_key=cdn_key
    )
    response = operation.result()
    print(f"CDN key: {response.name}")
    return response

Ruby

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Ruby in der Video Stitcher API-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Ruby API-Referenzdokumentation zur Video Stitcher API.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Video Stitcher API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

require "google/cloud/video/stitcher"

##
# Create a Media CDN or Cloud CDN key
#
# @param project_id [String] Your Google Cloud project (e.g. "my-project")
# @param location [String] The location (e.g. "us-central1")
# @param cdn_key_id [String] The user-defined CDN key ID
# @param hostname [String] The hostname to which this CDN key applies
# @param key_name [String] For a Media CDN key, this is the keyset name.
#   For a Cloud CDN key, this is the public name of the CDN key.
# @param private_key [String] For a Media CDN key, this is a 64-byte Ed25519
#   private key encoded as a base64-encoded string. See
#   https://cloud.google.com/video-stitcher/docs/how-to/managing-cdn-keys#create-private-key-media-cdn
#   for more information. For a Cloud CDN key, this is a base64-encoded string
#   secret.
# @param is_media_cdn [Boolean] If true, create a Media CDN key. If false,
#  create a Cloud CDN key.
#
def create_cdn_key project_id:, location:, cdn_key_id:, hostname:, key_name:,
                   private_key:, is_media_cdn:
  # Create a Video Stitcher client.
  client = Google::Cloud::Video::Stitcher.video_stitcher_service

  # Build the resource name of the parent.
  parent = client.location_path project: project_id, location: location
  # Build the path for the CDN key resource.
  cdn_key_path = client.cdn_key_path project: project_id, location: location,
                                     cdn_key: cdn_key_id

  # Set the CDN key fields.
  new_cdn_key = if is_media_cdn
                  {
                    name: cdn_key_path,
                    hostname: hostname,
                    media_cdn_key: {
                      key_name: key_name,
                      private_key: private_key
                    }
                  }
                else
                  {
                    name: cdn_key_path,
                    hostname: hostname,
                    google_cdn_key: {
                      key_name: key_name,
                      private_key: private_key
                    }
                  }
                end

  operation = client.create_cdn_key parent: parent, cdn_key: new_cdn_key,
                                    cdn_key_id: cdn_key_id

  # The returned object is of type Gapic::Operation. You can use this
  # object to check the status of an operation, cancel it, or wait
  # for results. Here is how to block until completion:
  operation.wait_until_done!

  # Print the CDN key name.
  puts "CDN key: #{operation.response.name}"
end

Ergebnis prüfen

Mit der Methode projects.locations.operations.get können Sie prüfen, ob der CDN-Schlüssel erstellt wurde. Wenn die Antwort "done: false" enthält, wiederholen Sie den Befehl, bis die Antwort "done: true" enthält.

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • PROJECT_NUMBER: Ihre Google Cloud-Projektnummer; diese befindet sich auf der Seite IAM-Einstellungen im Feld Projektnummer
  • LOCATION: der Speicherort der Daten. Verwenden Sie eine der unterstützten Regionen.
    Standorte anzeigen
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • OPERATION_ID: die Kennung für den Vorgang

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/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.common.OperationMetadata",
    "createTime": CREATE_TIME,
    "endTime": END_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/cdnKeys/CDN_KEY_ID",
    "verb": "create",
    "cancelRequested": false,
    "apiVersion": "v1"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.CdnKey",
    "name": "projects/PROJECT_NUMBER/locations/LOCATION/cdnKeys/CDN_KEY_ID",
    "hostname": "HOSTNAME",
    "mediaCdnKey": {
      "keyName": "MEDIA_CDN_KEYNAME"
    }
  }
}

VOD-Konfiguration erstellen

Bevor Sie eine VOD-Sitzung erstellen, müssen Sie eine Konfiguration dafür erstellen. Viele VOD-Sitzungen können dieselbe Konfiguration haben.

Verwenden Sie zum Erstellen der Konfiguration die Methode projects.locations.vodConfigs.create.

REST

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • PROJECT_NUMBER: Ihre Google Cloud-Projektnummer. Diese befindet sich auf der Seite IAM-Einstellungen im Feld Projektnummer.
  • LOCATION: Der Speicherort, an dem die VOD-Konfiguration erstellt werden soll. Verwenden Sie eine der unterstützten Regionen.
    Standorte anzeigen
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • VOD_CONFIG_ID: eine benutzerdefinierte Kennung für die VOD-Konfiguration. Diese ID darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten. Das erste Zeichen muss ein Buchstabe, das letzte Zeichen ein Buchstabe oder eine Ziffer sein und die gesamte ID darf maximal 63 Zeichen lang sein.
  • VOD_URI: der URI des zu verbindenden Mediums. Dieser URI muss entweder auf eine MPEG-DASH-Manifestdatei (MPD) oder eine HLS-Manifestdatei (M3U8) verweisen. Verwenden Sie einen öffentlichen URI oder einen nicht signierten URI, für den Sie einen CDN-Schlüssel registriert haben.
  • AD_TAG_URI: der öffentliche URI des Anzeigen-Tags. Falls nicht vorhanden, können Sie ein VMAP-Pre-Roll-Beispiel verwenden.

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/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.common.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID",
    "verb": "create",
    "cancelRequested": false,
    "apiVersion": "v1"
  },
  "done": false
}
Dieser Befehl erstellt einen Vorgang mit langer Ausführungszeit, den Sie abfragen können, um den Fortschritt zu verfolgen. Weitere Informationen finden Sie unter Ergebnis prüfen.

Konfiguration abrufen

Verwenden Sie zum Abrufen der Konfiguration die Methode projects.locations.vodConfigs.get.

REST

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • PROJECT_NUMBER: Ihre Google Cloud-Projektnummer. Diese befindet sich auf der Seite IAM-Einstellungen im Feld Projektnummer.
  • LOCATION: der Speicherort der VOD-Konfiguration. Verwenden Sie eine der unterstützten Regionen.
    Standorte anzeigen
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • VOD_CONFIG_ID: die benutzerdefinierte Kennung für die VOD-Konfiguration

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/vodConfigs/VOD_CONFIG_ID",
  "sourceUri": "VOD_URI",
  "adTagUri": "AD_TAG_URI",
  "state": "READY"
}

Prüfen Sie, ob der Status auf READY gesetzt ist. Ist dies nicht der Fall, warten Sie einige Sekunden und senden Sie die Anfrage noch einmal.

Sitzung erstellen

Verwenden Sie die Methode projects.locations.vodSessions.create, um eine Sitzung für ein Video mit Anzeigen-Stitching zu erstellen.

REST

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • PROJECT_NUMBER: Die Nummer Ihres Google Cloud-Projekts. Sie finden sie auf der Seite IAM-Einstellungen im Feld Projektnummer.
  • LOCATION: Der Standort, an dem die Sitzung erstellt werden soll. Verwenden Sie eine der unterstützten Regionen.
    Standorte anzeigen
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • VOD_CONFIG_ID: die benutzerdefinierte Kennung für die VOD-Konfiguration

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/vodSessions/SESSION_ID",
  "interstitials": {
    "sessionContent": {
      "duration": "60s"
    }
  },
  "playUri": "PLAY_URI", # This is the ad-stitched VOD URI
  "sourceUri": "VOD_URI",
  "adTagUri": "AD_TAG_URI",
  "assetId": "ASSET_ID",
  "adTracking": "SERVER",
  "vodConfig": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID"
}

Die Video Stitcher API generiert für jede Anfrage eine eindeutige Sitzungs-ID. Eine Sitzung läuft nach 4 Stunden ab.

Prüfen, ob die Anzeige zusammengefügt wurde

Eine Anzeige muss codiert werden, bevor sie in eine VOD-Sitzung eingebunden werden kann.

Wenn die Anzeige, die Sie im Befehl vodSessions.create angegeben haben, bereits aus einer vorherigen Sitzung codiert wurde, enthält die Video Stitcher API adBreaks-Ereignisse in der JSON-Antwort. Die Video Stitcher API sucht nur nach codierten Anzeigen, die in Sitzungen erstellt wurden, die mit Ihrem Google Cloud-Projekt verknüpft sind.

Wenn die Anzeige noch nicht codiert wurde, enthält die JSON-Antwort keine adBreaks-Ereignisse. Wenn Sie eine JSON-Antwort ähnlich wie im vorherigen Abschnitt erhalten, warten Sie auf die Anzeigencodierung und führen Sie den Befehl vodSessions.create noch einmal aus.

Wenn die codierte Anzeige erfolgreich in die Sitzung eingefügt wurde, sollte die Antwort so aussehen:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/vodSessions/SESSION_ID",
  "interstitials": {
    "adBreaks": [
      {
        "progressEvents": [
          {
            "timeOffset": "0s",
            "events": [
              {
                "type": "IMPRESSION",
                "uri": "https://securepubads.g.doubleclick.net/pcs/view..."
              },
              {
                "type": "START",
                "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..."
              },
              ...
            ]
          },
          ...
        ],
        "ads": [
          {
            "duration": "10s",
            "activityEvents": [
              {
                "type": "ERROR",
                "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..."
              },
              {
                "type": "CLICK_THROUGH",
                "uri": "https://pubads.g.doubleclick.net/pcs/click...",
                "id": "GDFP"
              },
              ...
            ]
          }
        ],
        "endTimeOffset": "10s",
        "startTimeOffset": "0s"
      }
    ],
    "sessionContent": {
      "duration": "70s"
    }
  },
  "playUri": "PLAY_URI",
  "sourceUri": "VOD_URI",
  "adTagUri": "AD_TAG_URI",
  "assetId": "ASSET_ID",
  "adTracking": "SERVER",
  "vodConfig": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID"
}

Sie können den VOD-Stream aus Anzeigen-Stitching wiedergeben, indem Sie auf den URI aus dem Feld playUri des Antwortobjekts verweisen.

VOD-Stream mit Anzeigen-Stitching wiedergeben

Geben Sie den per Anzeigen-Stitching erstellten VOD-Stream mithilfe des URI aus dem Feld playUri des Antwortobjekts wieder. Führe die folgenden Schritte aus, um diese VOD-Sitzung im Shaka-Player abzuspielen:

  1. Rufen Sie den Online-Mediaplayer Shaka Player auf.
  2. Klicken Sie in der Navigationsleiste oben auf Benutzerdefinierte Inhalte.
  3. Klicken Sie auf die Schaltfläche +.
  4. Fügen Sie den Wert des Felds playUri (PLAY_URI) in das Feld Manifest-URL ein.

  5. Geben Sie einen Namen in das Feld Name ein.

  6. Klicken Sie auf Speichern.

  7. Klicken Sie auf Wiedergabe.

Befindet sich das Video in einem Cloud Storage-Bucket, muss der Bucket öffentlich und CORS für ihn aktiviert sein.

Sehen Sie sich ein Beispielvideo mit Anzeigen-Stitching an, in dem das Transcoder API-Beispielvideo und eine VMAP-Pre-Roll-Anzeigen-Tag-URL verwendet werden.

Bereinigen

Löschen Sie das Google Cloud-Projekt mit den Ressourcen, damit Ihrem Google Cloud-Konto die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.

VOD-Konfiguration löschen

So löschst du die VOD-Konfiguration:

REST

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • PROJECT_NUMBER: Ihre Google Cloud-Projektnummer. Diese befindet sich auf der Seite IAM-Einstellungen im Feld Projektnummer.
  • LOCATION: der Speicherort der VOD-Konfiguration. Verwenden Sie eine der unterstützten Regionen.
    Standorte anzeigen
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • VOD_CONFIG_ID: die benutzerdefinierte Kennung für die VOD-Konfiguration

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/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.common.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/vodConfigs/VOD_CONFIG_ID",
    "verb": "delete"
  },
  "done": false
}
Dieser Befehl erstellt einen Vorgang mit langer Ausführungszeit, den Sie abfragen können, um den Fortschritt zu verfolgen. Weitere Informationen finden Sie unter Ergebnis prüfen.

CDN-Schlüssel löschen

So löschen Sie den CDN-Schlüssel:

REST

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • PROJECT_NUMBER: Ihre Google Cloud-Projektnummer. Diese befindet sich auf der Seite IAM-Einstellungen im Feld Projektnummer.
  • LOCATION: der Standort, an dem sich Ihr CDN-Schlüssel befindet. Verwenden Sie eine der unterstützten Regionen.
    Standorte anzeigen
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • CDN_KEY_ID: eine benutzerdefinierte Kennung für den CDN-Schlüssel

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/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.common.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/cdnKeys/CDN_KEY_ID",
    "verb": "delete",
    "cancelRequested": false,
    "apiVersion": "v1"
  },
  "done": false
}
Dieser Befehl erstellt einen Vorgang mit langer Ausführungszeit, den Sie abfragen können, um den Fortschritt zu verfolgen. Weitere Informationen finden Sie unter Ergebnis prüfen.

C#

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für C# in der Video Stitcher API-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der C# API-Referenzdokumentation zur Video Stitcher API.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Video Stitcher API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


using Google.Cloud.Video.Stitcher.V1;
using Google.LongRunning;
using Google.Protobuf.WellKnownTypes;
using System.Threading.Tasks;

public class DeleteCdnKeySample
{
    public async Task DeleteCdnKeyAsync(
        string projectId, string location, string cdnKeyId)
    {
        // Create the client.
        VideoStitcherServiceClient client = VideoStitcherServiceClient.Create();

        DeleteCdnKeyRequest request = new DeleteCdnKeyRequest
        {
            CdnKeyName = CdnKeyName.FromProjectLocationCdnKey(projectId, location, cdnKeyId)
        };

        // Make the request.
        Operation<Empty, OperationMetadata> response = await client.DeleteCdnKeyAsync(request);

        // Poll until the returned long-running operation is complete.
        await response.PollUntilCompletedAsync();
    }
}

Go

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Go in der Video Stitcher API-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Go API-Referenzdokumentation zur Video Stitcher API.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Video Stitcher API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

import (
	"context"
	"fmt"
	"io"

	stitcher "cloud.google.com/go/video/stitcher/apiv1"
	stitcherstreampb "cloud.google.com/go/video/stitcher/apiv1/stitcherpb"
)

// deleteCDNKey deletes a CDN key.
func deleteCDNKey(w io.Writer, projectID, keyID string) error {
	// projectID := "my-project-id"
	// keyID := "my-cdn-key"
	location := "us-central1"
	ctx := context.Background()
	client, err := stitcher.NewVideoStitcherClient(ctx)
	if err != nil {
		return fmt.Errorf("stitcher.NewVideoStitcherClient: %w", err)
	}
	defer client.Close()

	name := fmt.Sprintf("projects/%s/locations/%s/cdnKeys/%s", projectID, location, keyID)

	req := &stitcherstreampb.DeleteCdnKeyRequest{
		Name: name,
	}
	// Deletes the CDN key.
	op, err := client.DeleteCdnKey(ctx, req)
	if err != nil {
		return fmt.Errorf("client.DeleteCdnKey: %w", err)
	}
	err = op.Wait(ctx)
	if err != nil {
		return err
	}

	fmt.Fprintf(w, "Deleted CDN key")
	return nil
}

Java

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Java in der Video Stitcher API-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Java API-Referenzdokumentation zur Video Stitcher API.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Video Stitcher API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


import com.google.cloud.video.stitcher.v1.CdnKeyName;
import com.google.cloud.video.stitcher.v1.DeleteCdnKeyRequest;
import com.google.cloud.video.stitcher.v1.VideoStitcherServiceClient;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;

public class DeleteCdnKey {

  private static final int TIMEOUT_IN_MINUTES = 2;

  public static void main(String[] args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project-id";
    String location = "us-central1";
    String cdnKeyId = "my-cdn-key-id";

    deleteCdnKey(projectId, location, cdnKeyId);
  }

  public static void deleteCdnKey(String projectId, String location, String cdnKeyId)
      throws InterruptedException, ExecutionException, TimeoutException, IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    VideoStitcherServiceClient videoStitcherServiceClient = VideoStitcherServiceClient.create();
    DeleteCdnKeyRequest deleteCdnKeyRequest =
        DeleteCdnKeyRequest.newBuilder()
            .setName(CdnKeyName.of(projectId, location, cdnKeyId).toString())
            .build();

    videoStitcherServiceClient
        .deleteCdnKeyAsync(deleteCdnKeyRequest)
        .get(TIMEOUT_IN_MINUTES, TimeUnit.MINUTES);
    System.out.println("Deleted CDN key");
    videoStitcherServiceClient.close();
  }
}

Node.js

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Node.js in der Video Stitcher API-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Node.js API-Referenzdokumentation zur Video Stitcher API.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Video Stitcher API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// projectId = 'my-project-id';
// location = 'us-central1';
// cdnKeyId = 'my-cdn-key';

// Imports the Video Stitcher library
const {VideoStitcherServiceClient} =
  require('@google-cloud/video-stitcher').v1;
// Instantiates a client
const stitcherClient = new VideoStitcherServiceClient();

async function deleteCdnKey() {
  // Construct request
  const request = {
    name: stitcherClient.cdnKeyPath(projectId, location, cdnKeyId),
  };
  const [operation] = await stitcherClient.deleteCdnKey(request);
  await operation.promise();
  console.log('Deleted CDN key');
}

deleteCdnKey();

PHP

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für PHP in der Video Stitcher API-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der PHP API-Referenzdokumentation zur Video Stitcher API.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Video Stitcher API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

use Google\Cloud\Video\Stitcher\V1\Client\VideoStitcherServiceClient;
use Google\Cloud\Video\Stitcher\V1\DeleteCdnKeyRequest;

/**
 * Deletes a CDN key.
 *
 * @param string $callingProjectId     The project ID to run the API call under
 * @param string $location             The location of the CDN key
 * @param string $cdnKeyId             The ID of the CDN key
 */
function delete_cdn_key(
    string $callingProjectId,
    string $location,
    string $cdnKeyId
): void {
    // Instantiate a client.
    $stitcherClient = new VideoStitcherServiceClient();

    $formattedName = $stitcherClient->cdnKeyName($callingProjectId, $location, $cdnKeyId);
    $request = (new DeleteCdnKeyRequest())
        ->setName($formattedName);
    $operationResponse = $stitcherClient->deleteCdnKey($request);
    $operationResponse->pollUntilComplete();
    if ($operationResponse->operationSucceeded()) {
        // Print status
        printf('Deleted CDN key %s' . PHP_EOL, $cdnKeyId);
    } else {
        $error = $operationResponse->getError();
        // handleError($error)
    }
}

Python

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Python in der Video Stitcher API-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Python API-Referenzdokumentation zur Video Stitcher API.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Video Stitcher API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


import argparse

from google.cloud.video.stitcher_v1.services.video_stitcher_service import (
    VideoStitcherServiceClient,
)
from google.protobuf import empty_pb2 as empty


def delete_cdn_key(project_id: str, location: str, cdn_key_id: str) -> empty.Empty:
    """Deletes a CDN key.
    Args:
        project_id: The GCP project ID.
        location: The location of the CDN key.
        cdn_key_id: The user-defined CDN key ID."""

    client = VideoStitcherServiceClient()

    name = f"projects/{project_id}/locations/{location}/cdnKeys/{cdn_key_id}"
    operation = client.delete_cdn_key(name=name)
    response = operation.result()
    print("Deleted CDN key")
    return response

Ruby

Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Ruby in der Video Stitcher API-Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Ruby API-Referenzdokumentation zur Video Stitcher API.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei der Video Stitcher API zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

require "google/cloud/video/stitcher"

##
# Delete a CDN key
#
# @param project_id [String] Your Google Cloud project (e.g. "my-project")
# @param location [String] The location (e.g. "us-central1")
# @param cdn_key_id [String] Your CDN key name (e.g. "my-cdn-key")
#
def delete_cdn_key project_id:, location:, cdn_key_id:
  # Create a Video Stitcher client.
  client = Google::Cloud::Video::Stitcher.video_stitcher_service

  # Build the resource name of the CDN key.
  name = client.cdn_key_path project: project_id, location: location,
                             cdn_key: cdn_key_id

  # Delete the CDN key.
  operation = client.delete_cdn_key name: name

  # The returned object is of type Gapic::Operation. You can use this
  # object to check the status of an operation, cancel it, or wait
  # for results. Here is how to block until completion:
  operation.wait_until_done!

  # Print a success message.
  puts "Deleted CDN key"
end

Anmeldedaten widerrufen

  1. Optional: Widerrufen Sie die von Ihnen erstellten Anmeldedaten für die Authentifizierung und löschen Sie die lokale Datei mit den Anmeldedaten:

    gcloud auth application-default revoke
  2. Optional: Widerrufen Sie Anmeldedaten von der gcloud-CLI.

    gcloud auth revoke

Nächste Schritte

Weitere Informationen finden Sie in der Referenzdokumentation zur Video Stitcher API.