Licences de fonctionnalités et limites d’utilisation
L’autorisation d’exporter diffère de 500 exports par mois. RunFeature vérifie l’accès ; RunMeteredFeature confirme l’usage après réussite.
Autoriser 500 exports par mois
Ajoutez export aux fonctions, puis un quota : export, 500, Mensuel. Par défaut, l’usage est refusé après épuisement. Pour autoriser un dépassement, fixez son maximum ; le système le comptabilise pour votre système de commandes.
Quotas quotidiens et mensuels renouvelés à minuit UTC ; quotas cumulés sans remise à zéro. Changer la limite n’efface pas l’usage consommé.
Confirmer l’utilisation après un export réussi
Passez votre fonction métier au SDK. Nouveau travail : nouvel ID ; reprise : mêmes ID, fonction et quantité. Ne lancez pas le même ID dans plusieurs processus.
| Langue | Appel d’opération comptée |
|---|---|
| Go | client.RunMeteredFeature(ctx, "export", 1, jobID, exportReport) |
| Java | client.runMeteredFeature("export", 1, jobID, this::exportReport) |
| Node.js | await client.runMeteredFeature("export", 1, jobID, exportReport) |
| Python | client.run_metered_feature("export", 1, job_id, export_report) |
| C# | await client.RunMeteredFeature("export", 1, jobID, ExportReport) |
| C++ | client.RunMeteredFeature("export", 1, jobID, exportReport) |
| Rust | client.run_metered_feature("export", 1, &job_id, || export_report())? |
| Ruby | client.run_metered_feature("export", 1, job_id) { export_report } |
| C | ln_run_metered_feature(client, "export", 1, job_id, export_report, context) |
Configure a meter for the actual feature in your policy, then generate the AI integration prompt. AI should use the language's RunMeteredFeature with a stable business operation ID, preserving that ID when retrying the same task.
Si le travail réussit mais pas la confirmation, une reprise ne fait que confirmer. Un crash pendant le travail bloque la répétition automatique. Vérifiez le résultat durable puis utilisez ResolveMeteredFeature. L’usage distant et le travail local ne forment pas une transaction unique.
Pour contrôler vous-même les réservations
- Créez et conservez un identifiant de tâche pour cet export.
- Réservez une unité et exportez seulement après pending. committed indique une tâche déjà terminée ; ne la répétez pas.
- Après un export réussi et l’enregistrement du résultat, appelez Commit pour confirmer l’utilisation.
- Si l’export échoue avant la fin, appelez Cancel pour libérer la réservation sans débiter d’unités.
Une réservation dure 15 minutes par défaut, raccourcies au changement de période UTC. L’API permet reservation_seconds de 30 à 3600 secondes.
| Langue | Réserver | Confirmer / Annuler |
|---|---|---|
| Go | Reserve(ctx, "export", 1, jobID) | Commit / Cancel(ctx, hold.ID, jobID) |
| Java / Node.js | reserve("export", 1, jobID) | commit / cancel(id, jobID) |
| C | ln_reserve(client, "export", 1, jobID) | ln_commit / ln_cancel(client, id, jobID) |
| C++ / C# | Reserve("export", 1, jobID) | Commit / Cancel(id, jobID) |
| Python | reserve("export", 1, jobID) | commit / cancel(id, jobID) |
Comment lire les champs de réponse ?
| Champ | Signification |
|---|---|
| reservation_id / operation_id | Identifiant de réservation et de tâche d’origine ; conservez les mêmes valeurs lors des reprises. |
| status / expires_at | État et échéance : pending attend la fin, committed est débité, canceled est libéré, expired a expiré. |
| consumption.used / reserved | Utilisations confirmées sur la période / unités réservées par toutes les tâches valides. |
| consumption.limit / remaining | Quota de base / unités de base disponibles. remaining = max(0, limit - used - reserved), hors dépassement autorisé. |
| consumption.quantity / overage | Unités de cette tâche / unités confirmées au-delà du quota de base ; aucun paiement client n’est encaissé. |
| consumption.period / reset_at | Période UTC / prochaine remise à zéro ; un quota à vie a reset_at = null. |
Pour les requêtes, réponses et types de champs, consultez Reserve, Commit et Cancel dans la référence de l’API d’exécution.
Après réussite, n’annulez pas et ne répétez pas l’export. Conservez identifiants et résultat puis réessayez Commit. Si la réservation a expiré, gardez la tâche pour rapprochement. Le débit distant et l’action locale ne partagent pas une transaction atomique.
Consume débite toujours immédiatement. Utilisez la réservation pour ne pas facturer une action échouée. Tous les compteurs fonctionnels exigent une connexion et sont exclus des quatre appels API facturables de la plateforme.