Vai al contenuto
LICENTIVO / INTEGRATION

Limita le esportazioni di file con un contatore di utilizzo mensile

Configura 500 esportazioni per UTC mese e lascia che SDK prenoti, esegua e risolva ogni attività. Mantieni stabile l'identità dell'attività aziendale in modo che i nuovi tentativi non raddoppino l'addebito o ripetano il lavoro completato.

Flusso di lavoro delle funzionalità · tutti e nove gli SDKAggiornato

1. Configurare il contatore delle funzionalità

Abilita una funzione di esportazione nella politica di autorizzazione e assegnale un limite di 500 al mese. Decidi se il superamento del limite è bloccato o consentito in base alla regola di superamento configurata di quella funzionalità.

I contatori delle funzionalità appartengono alla licenza del cliente. Sono separati dal dispositivo dell'area di lavoro del fornitore e dalle quote di abbonamento API. I periodi di funzionalità giornalieri e mensili utilizzano UTC; un periodo mensile si reimposta all'inizio del successivo mese di calendario UTC.

2. Aprire un client SDK

Copia l’ID prodotto da Console > Prodotti. Apri le chiavi pubbliche di firma dello stesso prodotto e inserisci tutte le coppie ID chiave/chiave pubblica nel codice di inizializzazione, sostituendo YOUR_PRODUCT_ID, YOUR_KEY_ID e YOUR_PUBLIC_KEY. L’integrazione rapida può generare il codice. Non serve un file di configurazione; l’SDK usa https://www.licentivo.com per impostazione predefinita.

Per un diritto normale utilizzare RunFeature. Per un'azione di utilizzo limitato utilizzare RunMeteredFeature. Una verifica dei diritti locali riuscita non dimostra che la quota online rimane.

3. Concludere l'azione commerciale

Mantenere un ID lavoro univoco prima di chiamare il numero SDK. Riutilizzare quell'ID quando si riprova a eseguire la stessa attività aziendale. Il numero SDK prima riserva un utilizzo, quindi richiama la callback, quindi conferma il lavoro riuscito o annulla un fallimento aziendale noto.

Go · inside a function returning error
// client was opened once at application startup.
// jobID comes from your durable business task record.
jobID := os.Getenv("LICENTIVO_OPERATION_ID")
if jobID == "" {
    return fmt.Errorf("persist a unique task ID before exporting")
}
err := client.RunMeteredFeature(ctx, "export", 1, jobID, func() error {
    // Return success only after the output has been saved.
    return os.WriteFile("licensed-report.txt", []byte("Metered export\n"), 0600)
})
if err != nil {
    return err
}

4. Recuperare il lavoro interrotto

Quando un'attività è già registrata come riuscita, riprovare il suo ID consente al SDK di liquidare la contabilità in sospeso senza rieseguire la callback. Se il processo è terminato mentre la callback aziendale era in esecuzione, SDK non può sapere se l'operazione esterna è terminata.

Controlla il risultato aziendale salvato. Chiama ResolveMeteredFeature(ctx, jobID, true) per il successo confermato o false per il fallimento confermato. Questo risolve solo la contabilità. Non ripetere mai ciecamente un pagamento, la consegna di un file o un'altra azione irreversibile.

La prenotazione predefinita dura 15 minuti ed è vincolata da un periodo di reimpostazione UTC. Finire e saldare prima della scadenza; non utilizzare il wrapper semplice per un lavoro che potrebbe sopravvivere alla sua prenotazione. Un'attività aziendale annullata necessita di un nuovo ID se il cliente avvia deliberatamente un nuovo tentativo.

5. Verificare il comportamento del contatore

  1. Inizia con un piccolo limite di prova. Un'esportazione di successo dovrebbe aumentare l'utilizzo di uno.
  2. Fai in modo che la callback restituisca un errore prima di completare il lavoro: la sua prenotazione dovrebbe essere cancellata.
  3. Riprovare un ID lavoro registrato correttamente e verificare che la callback non venga ripetuta.
  4. Esaurire una quota bloccata e verificare che la callback non venga eseguita. Mostra un messaggio chiaro con l'orario di ripristino successivo.
  5. Simula un'attività interrotta nel tuo ambiente di test e risolvila dalla documentazione aziendale durevole.

Errori comuni

Le operazioni di contatore richiedono la connettività. Una sola licenza memorizzata nella cache offline non autorizza una prenotazione o un commit offline. Non trasformare silenziosamente un'azione misurata negata in un'azione non misurata.

Una chiamata diretta al consumo viene detratta immediatamente. Utilizza la callback a consumo quando l'utilizzo deve essere conteggiato solo dopo il successo aziendale. Un guasto alla rete al termine del lavoro è un problema di ripristino della contabilità; non dare per scontato che il lavoro sia fallito.

Gli ID attività stabili e i diari SDK aiutano i tentativi; non sostituiscono la transazione commerciale o l'archiviazione duratura dei risultati. Mantieni disponibili sia il risultato aziendale che la cache privata di SDK durante il ripristino.