Étape 4 : Créer la fonction externe pour GCP dans Snowflake

Cette rubrique fournit des instructions pour la création d’un objet de fonction externe dans Snowflake. Cet objet stocke des informations sur le service distant, comme les paramètres que le service distant accepte.

Note

Les fonctions externes dans Snowflake sont des objets de base de données, ce qui signifie qu’elles doivent être créées dans un schéma d’une base de données. Pour créer une fonction externe, vous devez disposer des privilèges appropriés sur la base de données et le schéma où vous créez la fonction.

Pour plus de détails, voir Privilèges de contrôle d’accès.

Dans ce chapitre :

Créer l’objet de fonction externe

Cette tâche suppose que vous êtes dans la page Worksheets Worksheet tab de l’interface Web de Snowflake :

  1. Entrez une instruction CREATE EXTERNAL FUNCTION. L’instruction devrait ressembler à ce qui suit :

    create or replace external function <external_function_name>(<parameters>)
        returns variant
        api_integration = <api_integration_name>
        as '<function_url>';
    
  2. Remplacez <nom_de_fonction_externe> par un nom de fonction unique (par exemple, echo). Les noms doivent suivre les règles de Identificateurs d’objet.

    De plus, enregistrez le nom de la fonction dans le champ « Nom de la fonction externe » de la feuille de calcul de suivi.

  3. Remplacez les <paramètres> par les noms et les types de données SQL des paramètres de la fonction, le cas échéant. Par exemple :

    a integer, b varchar
    

    Les paramètres doivent correspondre aux paramètres attendus par le service distant. Les noms des paramètres ne doivent pas nécessairement correspondre, mais les types de données doivent être compatibles.

    De plus, enregistrez les noms du paramètre et les types de données dans le champ « Nom de la fonction externe » de la feuille de calcul de suivi.

  4. Remplacez <nom_intégration_api> par la valeur du champ « Nom d’intégration API » dans votre feuille de calcul de suivi.

  5. Remplacez <URL_fonction> par les valeurs des champs « URL de base de Gateway » et « suffixe de chemin », séparées par une barre oblique (/).

    L’URL devrait ressembler à ceci :

    https://<gateway-base-url>/<path-suffix>
    
  6. Si vous ne l’avez pas encore fait, exécutez la commande CREATE EXTERNAL FUNCTION que vous avez entrée.

Testez votre fonction externe

Vous devriez maintenant être en mesure d’appeler votre fonction externe pour vérifier qu’elle fonctionne correctement.

Note

Si vous avez ajouté une définition de sécurité au fichier de configuration pour sécuriser votre passerelle dans Étape 2 : Créer le service proxy (Google Cloud API Gateway) dans la console de ce tutoriel, vous ne pourrez pas tester votre fonction externe tant que vous n’aurez pas mis à jour les définitions de sécurité dans le fichier de configuration dans Étape 5 : Créez une politique de sécurité GCP pour le proxy de service dans la Console de ce tutoriel.

Pour plus de détails, voir Appel d’une fonction externe pour GCP.