Catégories :

Fonctions système (Contrôle du système)

SYSTEM$CREATE_BILLING_EVENT

Crée un événement facturable qui suit l’utilisation par le consommateur d’une application installée et monétisée. Cette fonction système ne peut être appelée qu’à partir d’une application installée sur un compte consommateur.

Syntaxe

SYSTEM$CREATE_BILLING_EVENT(
  <class>,
  <subclass>,
  <start_timestamp>,
  <timestamp>,
  <base_charge>,
  <objects>,
  <additional_info>)
Copy

Arguments

Obligatoire :

class

Identificateur de la classe d’événement personnalisée.

Type : chaîne

L’identificateur doit répondre aux exigences suivantes :

  • Doit commencer par une lettre (A-Z) ou par un trait de soulignement (« _ »).

  • Obligation de contenir uniquement des lettres, des traits de soulignement, des chiffres décimaux (0-9) et des signes dollar (« $ »).

  • La longueur ne peut excéder 64 caractères.

  • Ne doit pas commencer par SNOWFLAKE_. SNOWFLAKE_ est réservé aux identificateurs internes.

Le nom de la classe est stocké et résolu en caractères majuscules. Les comparaisons de noms de classe sont insensibles à la casse.

timestamp

Spécifie l’horodatage (UTC) de la création de l’événement sous forme d’horodatage Unix en millisecondes.

Type : entier

base_charge

Spécifie le montant en US dollars à facturer pour l’événement facturable. La valeur doit être supérieure à 0, inférieure à 999,99 et ne doit pas dépasser deux décimales de précision. Par exemple, 1.00 ou 0.07

Type : double

Facultatif :

subclass

Identificateur de la sous-classe d’événement personnalisé. Ce champ n’est utilisé que par le fournisseur.

Type : chaîne

L’identificateur a les mêmes exigences de dénomination que l’argument class.

start_timestamp

Spécifie l’heure de début de l’événement sous la forme d’un horodatage Unix en millisecondes.

Type : entier

Permet de définir l’heure de début dans les cas où les fournisseurs souhaitent émettre un événement sur la base d’une plage de temps ; sinon, cette valeur est la même que celle utilisée pour l’argument TIMESTAMP.

objects

Un tableau de chaînes JSON contenant des noms d’objets complets qui s’appliquent à cet événement.

Type : chaîne

La taille maximale est de 4 KB.

additional_info

Une chaîne JSON de paires clé-valeur que le fournisseur peut utiliser pour envoyer des informations supplémentaires.

Type : chaîne

La taille maximale est de 4 KB.

Renvoie

Cette fonction renvoie les messages de statut suivants :

Message de statut

Description

Type de valeur renvoyée

Succès

Indique que l’événement facturable a été créé avec succès.

Paramètre non valide : <PARAM_NAME>.

Indique qu’un paramètre non pris en charge a été transmis à la fonction.

Ne peut être appelé qu’à partir d’une application.

Indique que la fonction a été appelée depuis l’extérieur d’une application.

La longueur de la charge utile dépasse la limite de 9 000 caractères.

Indique que l’appel à la fonction dépasse la limite de caractères.

Le nombre d’événements dépasse la limite de 100.

Indique que le nombre maximum d’événements facturables a été atteint pour l’application.

Trop d’appels. Un appel au maximum est autorisé par fenêtre d’une seconde.

Indique qu’une application a effectué un trop grand nombre d’appels à cette fonction du système dans un laps de temps donné.

Notes sur l’utilisation

Cette fonction système ne peut être appelée qu’à partir d’une procédure stockée dans le script d’installation d’une application créée à l’aide de Snowflake Native App Framework.

Exemples

Voir Exemples d’événements facturables.