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. Si vous devez dépasser la limite de fréquence d’un événement par minute de cette fonction du système, utilisez SYSTEM$CREATE_BILLING_EVENTS. 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 : STRING

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 dollars US à facturer pour l’événement facturable. La valeur doit être supérieure à zéro, inférieure à 99999,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 : STRING

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

start_timestamp

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

Type : INTEGER

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 : STRING

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 : STRING

La taille maximale est de 4 KB.

Renvoie

Cette fonction renvoie les messages de statut suivants :

Message de statut

Description

Succès

Indique que l’événement facturable a bien été créé.

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.

Trop d’appels. Au plus 1 appel est autorisé par fenêtre de 10 millisecondes.

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

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.