remote_dependency

Utilisation

remote_dependency:  public_project {
  url:  "https://github.com/llooker/google_ga360"
  ref:  "07a20007b6876d349ccbcacccdc400f668fd8147f1"
  override_constant: constant_name {
    value: "string"
  }
}
Hiérarchie
remote_dependency
Valeur par défaut
Aucun

Acceptation
  • Un sous-paramètre url qui inclut l'URL du dépôt Git
  • Sous-paramètre ref qui spécifie une branche Git, un tag de version Git ou le SHA d'un commit dans le dépôt Git
  • Sous-paramètre override_constant utilisé pour remplacer la valeur d'une constante importée d'un autre projet

Définition

Le paramètre remote_dependency fournit les détails d'un dépôt Git externe contenant un projet LookML avec des fichiers que vous souhaitez utiliser dans ce projet. Vous pouvez inclure plusieurs instructions remote_dependency dans le fichier manifeste pour importer plusieurs projets.

Le paramètre remote_dependency doit être placé dans le fichier manifeste de votre projet. Si votre projet n'en comporte pas, vous pouvez créer un fichier manifeste.

Le paramètre remote_dependency accepte un nom, que vous pouvez choisir librement. Ce nom est celui que vous utilisez dans les instructions include pour faire référence aux fichiers importés dans les projets LookML. Le nom est également utilisé comme nom de dossier sous le dossier imported_projects de l'IDE Looker.

De plus, le paramètre remote_dependency comporte les sous-paramètres suivants :

url

Le sous-paramètre url spécifie l'adresse du dépôt Git externe. Utilisez l'URL principale du dépôt. Par exemple, en utilisant HTTPS :

url: "https://github.com/llooker/google_ga360"

Ou en utilisant SSH :

url: "git@github.com:llooker/google_ga360.git"

ref

Le sous-paramètre ref spécifie une branche Git, un tag de version Git ou un SHA de commit du dépôt Git du projet distant que Looker doit importer dans votre projet Looker :

  • Branche Git : vous pouvez spécifier une branche Git si vous souhaitez que Looker détecte automatiquement les nouveaux commits pour cette branche à partir du projet distant. Pour en savoir plus, consultez la page de documentation Importer des fichiers depuis d'autres projets.
  • Tag de version Git : vous pouvez spécifier un tag de version Git si vous souhaitez que Looker détecte automatiquement les nouveaux commits pour ce tag à partir du projet distant. Pour en savoir plus, consultez la page de documentation Importer des fichiers depuis d'autres projets.
  • SHA de commit Git : vous pouvez spécifier un SHA de commit si vous souhaitez utiliser un système de gestion des versions statique. Ainsi, les modifications apportées au projet importé ne seront pas automatiquement répercutées dans votre projet. Il s'agit généralement du commit le plus récent, mais ce n'est pas obligatoire. Vous pouvez trouver les SHA de commit partout où vous pouvez parcourir l'historique des commits. Les fournisseurs de services Git rendent généralement le SHA clairement visible et copiable. Cette option est idéale pour les blocs Looker.

Voici un exemple de dépendance distante qui spécifie un SHA de commit à partir du projet Git distant :

remote_dependency: ga_360 {
  url: "https://github.com/llooker/google_ga360"
  ref: "f99720c597f524d0756b8194990342efa11b3813"
  }

Voici un exemple de dépendance distante qui spécifie la branche principale du projet Git distant :

remote_dependency: ga_360 {
  url: "https://github.com/llooker/google_ga360"
  ref: "main"
}

Quel que soit le type de ref que vous spécifiez, lorsque vous ajoutez un remote_dependency à votre projet et que vous validez votre code LookML, l'IDE affiche le bouton Mettre à jour les dépendances. Cliquez sur le bouton pour importer les fichiers du projet distant. Si c'est le premier projet distant que vous ajoutez à votre projet, la mise à jour des dépendances invite également Looker à créer un fichier de verrouillage du fichier manifeste. Looker utilise le fichier manifeste verrouillé pour suivre la version des projets distants. Pour en savoir plus, consultez la section Détecter automatiquement les nouvelles versions d'un projet distant de la page de documentation Importer des fichiers depuis d'autres projets.

override_constant

Le paramètre override_constant vous permet de remplacer la valeur d'une constante définie dans un projet importé.

Le paramètre override_constant peut également être utilisé avec le paramètre local_dependency pour l'importation de projets locaux.

Lorsque vous importez des fichiers d'un projet dans un autre, vous pouvez remplacer les valeurs des constantes définies dans le fichier manifeste du projet importé. Lorsque vous remplacez la valeur d'une constante, les fichiers importés qui font référence à cette constante utilisent la nouvelle valeur fournie dans le projet importateur.

Lorsque le paramètre export est défini sur override_required ou override_optional pour une constante définie dans le projet importé, le sous-paramètre override_constant de local_dependency peut être utilisé pour fournir une nouvelle valeur pour cette constante. Par exemple, supposons que vous ayez une constante connection définie dans le fichier manifeste du projet importé :


constant: connection {
  value: "imported_project_connection"
  export: override_required
}

Dans cet exemple, comme le paramètre export est défini sur override_required, sa valeur doit être remplacée dans le fichier manifeste du projet importateur :


project_name: "importing_project"

remote_dependency: public_project {
  url: "https://github.com/llooker/project"
  ref: "07a20007b6876d349ccbcacccdc400f668fd8147f1"
  override_constant: connection {
    value: "importing_project_connection"
  }
}

Pour en savoir plus et obtenir un autre exemple de remplacement des constantes dans les projets d'importation, consultez la page de documentation Importer des fichiers depuis d'autres projets.

Exemple

Dans un fichier manifeste, ajoutez le dépôt Git "Google GA 360" en tant que source à partir de laquelle importer des fichiers :

project_name: "thelook"

remote_dependency: ga_360 {
  url: "https://github.com/llooker/google_ga360"
  ref: "6a95679c92efa56243c17fb4d66c820cd4a8db03"
}