Utilisation de Zencoder avec Azure

Zencoder peut télécharger et télécharger des fichiers (blobs) à partir de vos conteneurs Azure. Les détails du compte, du conteneur et du blob doivent être intégrés dans l'URL des entrées et sorties de travail.

Travailler avec Azure

 

Les URL Azure doivent utiliser le format azure : //account-name:account-key @container /blob. La demande de tâche suivante montre comment référencer des emplacements Azure pour les entrées et les sorties :

{
    "api_key": "93h630j1dsyshjef620qlkavnmzui3",
    "input": "azure://account-name:account-key@container/file-name.avi",
    "outputs": [
    {
        "url": "azure://account-name:account-key@container/output-file-name.mp4",
        "width": "1280",
        "height": "720"
    }
    ]
}

Le nom de compte et la clé de compte doivent être évadés par CGI. Rien d'autre ne devrait avoir besoin d'être échappé, comme avec les autres URL dans Zencoder. Ils se trouvent dans l'interface de gestion Azure. Le nom du compte est le nom du compte de stockage (lié à la région, etc.). Les clés sont disponibles en bas de l'écran d'aperçu du compte.

Chaque compte Azure peut avoir plusieurs conteneurs. Les récipient Le champ de l'URL doit être défini et configuré dans Azure avant de pouvoir être utilisé dans une tâche Zencoder.

Les goutte champ dans l'URL représente le nom du fichier. L'objet blob est le seul composant de l'URL qui n'a pas besoin d'être configuré à l'avance dans Azure.

Prise en charge des jetons Azure SAS

La prise en charge de l'autorisation des transferts de fichiers Azure est incluse dans Zencoder. Seuls les jetons Account SAS sont actuellement pris en charge, et au moins les paramètres « sv », « si », « sr » et « sig » sont requis dans le cadre du jeton.

Exemple de jeton SAS :

sv=2019-10-10&si=sas-account&sr=c&sig=as87LKJHab87afjlghKJH654kjmasfRas02fabf34x8%3D

Il existe deux façons d'inclure le jeton SAS avec une URL Azure :

  • Ajoutez le jeton à l'URL en tant que paramètre de chaîne de requête.
  • Fournissez le jeton séparément avec le paramètre "azure_sas".

Exemples de demandes d'API

URL d'entrée

Version de chaîne de requête
{  "input": "azure://account-name@container/path/to/input.mp4?sv=2019-10-10&si=sas-account&sr=c&sig=as87LKJHab87afjlghKJH654kjmasfRas02fabf34x8%3D"}
Version séparée des paramètres
{  "input": "azure://account-name@container/path/to/input.mp4",  "azure_sas": "sv=2019-10-10&si=sas-account&sr=c&sig=as87LKJHab87afjlghKJH654kjmasfRas02fabf34x8%3D"}

URL de sortie

Version de chaîne de requête
{
  "outputs": [
    {
      "url": "azure://account-name@container/path/to/output.mp4?sv=2019-10-10&si=sas-account&sr=c&sig=as87LKJHab87afjlghKJH654kjmasfRas02fabf34x8%3D"
    }
  ]
}
Version séparée des paramètres
{
  "outputs": [
    {
      "url": "azure://account-name@container/path/to/output.mp4",  "azure_sas": "sv=2019-10-10&si=sas-account&sr=c&sig=as87LKJHab87afjlghKJH654kjmasfRas02fabf34x8%3D"
    }
  ]
}

URL miniatures

Pour les vignettes, l'URL de base n'inclut généralement pas de nom de fichier. Comme pour les URL de sortie, elles seront mises à jour de manière à préserver les paramètres de chaîne de requête qui incluent un jeton SAS.

Version de chaîne de requête

{
  "outputs": [
    {
      "thumbnails": [
        {
          "label": "my-thumbs",
          "number": 10,
          "base_url": "azure://account-name@container/path/to/thumbs/?sv=2019-10-10&si=sas-account&sr=c&sig=as87LKJHab87afjlghKJH654kjmasfRas02fabf34x8%3D"
        }
      ]
    }
  ]
}

Version séparée des paramètres

{
  "outputs": [
    {
      "thumbnails": [
        {
          "label": "my-thumbs",
          "number": 10,
          "base_url": "azure://account-name@container/path/to/thumbs/",
          "azure_sas": "sv=2019-10-10&si=sas-account&sr=c&sig=as87LKJHab87afjlghKJH654kjmasfRas02fabf34x8%3D"
        }
      ]
    }
  ]
}