Kategorien:

Systemfunktionen (Systemsteuerung)

SYSTEM$CREATE_BILLING_EVENT

Erstellt ein abrechenbares Ereignis, das die Nutzung einer installierten, monetarisierten Anwendung durch den Verbraucher verfolgt. Wenn Sie die Häufigkeitsbeschränkung dieser Systemfunktion von einem Ereignis pro Minute überschreiten müssen, verwenden Sie SYSTEM$CREATE_BILLING_EVENTS. Diese Systemfunktion kann nur von einer Anwendung aus aufgerufen werden, die in einem Verbraucherkonto installiert ist.

Syntax

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

Argumente

Erforderlich:

'class'

Bezeichner für die kundenspezifische Ereignisklasse.

Typ: STRING

Für den Bezeichner gelten folgende Anforderungen:

  • Muss mit einem Buchstaben (A-Z, a-z) oder einem Unterstrich („_“) beginnen.

  • Darf nur Buchstaben, Unterstriche, Dezimalziffern (0-9) und Dollarzeichen („$“) enthalten.

  • Darf nicht länger als 64 Zeichen sein.

  • Darf nicht mit SNOWFLAKE_ beginnen. SNOWFLAKE_ ist für interne Bezeichner reserviert.

Der Klassenname wird in Großbuchstaben gespeichert und aufgelöst. Beim Vergleich von Klassennamen wird die Groß-/Kleinschreibung nicht berücksichtigt.

timestamp

Gibt den Zeitstempel (UTC), wann das Ereignis erstellt wurde, als Unix-Zeitstempel in Millisekunden an.

Typ: Ganzzahl (Integer)

base_charge

Gibt den Betrag in US Dollar an, der für das abrechenbare Ereignis berechnet werden soll. Der Wert muss größer als Null und kleiner als 99.999,99 sein und darf eine Genauigkeit von zwei Dezimalstellen nicht überschreiten. Beispiel: 1.00 oder 0.07

Typ: DOUBLE

Optional:

'subclass'

Bezeichner für die kundenspezifische Ereignis-Unterklasse. Dieses Feld wird nur vom Anbieter verwendet.

Typ: STRING

Für den Bezeichner gelten die gleichen Anforderungen an die Namensgebung wie beim class-Argument.

start_timestamp

Gibt die Startzeit (UTC) des Ereignisses als Unix-Zeitstempel in Millisekunden an.

Typ: INTEGER

Verwenden Sie dieses Argument, um die Startzeit festzulegen, wenn Anbieter ein Ereignis auf Basis eines Zeitbereichs ausgegeben möchten. Andernfalls setzen Sie das Argument auf denselben Wert, der für das TIMESTAMP-Argument verwendet wird.

'objects'

Ein JSON-Zeichenfolgen-Array mit vollqualifizierten Objektnamen, die bei diesem Ereignis gelten.

Typ: STRING

Die maximale Größe beträgt 4 KB.

'additional_info'

Eine JSON-Zeichenfolge mit Schlüssel-Wert-Paaren, die der Anbieter verwenden kann, um zusätzliche Informationen zu senden.

Typ: STRING

Die maximale Größe beträgt 4 KB.

Rückgabewerte

Diese Funktion gibt die folgenden Statusmeldungen zurück:

Statusmeldung

Beschreibung

Success

Zeigt an, dass das abrechenbare Ereignis erfolgreich erstellt wurde.

Invalid parameter: <PARAM_NAME>.

Zeigt an, dass ein nicht unterstützter Parameter an die Funktion übergeben wurde.

Nur aus einer Anwendung heraus aufrufbar.

Zeigt an, dass die Funktion von außerhalb einer Anwendung aufgerufen wurde.

Die Länge der Nutzdaten (Payload) überschreitet die Grenze von 9000 Zeichen.

Zeigt an, dass der Aufruf der Funktion die Zeichenbeschränkung überschreitet.

Zu viele Aufrufe. Pro 10-Millisekunden-Fenster ist maximal 1 Aufruf erlaubt.

Zeigt an, dass eine Anwendung innerhalb eines bestimmten Zeitraums zu viele Aufrufe an diese Systemfunktion gesendet hat.

Nutzungshinweise

Diese Systemfunktion kann nur aus einer gespeicherten Prozedur im Setup-Skript einer Anwendung aufgerufen werden, die mit dem Snowflake Native App Framework erstellt wurde.

Beispiele

Siehe Beispiele für abrechenbare Ereignisse.