Stocare
Înregistrările pot rămâne în contul tău.
Pentru multe firme din România asta nu este o preferință tehnică, ci condiția de la care începe discuția: unde stau, fizic, înregistrările apelurilor cu clienții noștri.
Înregistrările, transcrierile, mesajele și evenimentele unui apel pot fi scrise direct într-un bucket al tău, pe oricare dintre cele 8 destinații de stocare acceptate. Configurezi destinația o dată, iar produsul o verifică printr-o scriere și o citire reale înainte de a o folosi.
8 destinații de stocare.
Lista este citită din enumerarea de drivere a aplicației, iar un driver apare aici doar dacă biblioteca lui este instalată în această construcție. Nu enumerăm servicii pentru care nu avem adaptor.
platform
CallAgent platform storage
Bucketul platformei. Ce se folosește dacă nu configurezi nimic.
s3
Amazon S3
Bucket S3 în contul tău AWS, cu chei de acces.
s3_sts
Amazon S3 (STS role assumption)
S3 fără chei permanente: ne dai un rol pe care îl asumăm temporar. Varianta în care nu predai nicio credențială de durată.
r2
Cloudflare R2
Cloudflare R2, fără costuri de trafic de ieșire.
azure_blob
Azure Blob Storage
Azure Blob Storage, în abonamentul tău.
gcs
Google Cloud Storage
Google Cloud Storage. Adaptorul este instalat, dar nu a fost încă probat pe un bucket Google real.
supabase
Supabase Storage
Supabase Storage, dacă restul stivei tale este deja acolo.
s3_compatible
S3-compatible (MinIO, Wasabi, Backblaze B2)
Orice serviciu compatibil S3: MinIO la tine în rack, Wasabi, Backblaze B2.
Ce ajunge, de fapt, în bucketul tău
Nu doar fișierul audio. Un apel produce cinci feluri de artefacte, iar destinația se poate alege pe fiecare fel în parte — poți ține înregistrările la tine și lăsa restul la noi, sau invers.
Fiecare artefact are consemnat în baza de date unde a ajuns, deci custodia unui fișier este o înregistrare, nu o presupunere.
- Înregistrarea — audio pe două canale, apelantul și asistentul separat, plus forma de undă calculată
- Transcrierea — textul apelului, cu datele personale mascate dacă ai pornit mascarea
- Mesajele — schimbul complet cu modelul, inclusiv argumentele și rezultatele uneltelor chemate
- Evenimentele — cele 66 de tipuri de evenimente ale apelului, cu decalajul lor la milisecundă
- Pachetul de diagnostic — tot ce trebuie ca să reconstitui un apel care a mers prost
O destinație greșită cade la configurare, nu la primul apel
Un bucket cu permisiuni greșite care se descoperă în timpul unui apel real înseamnă o înregistrare pierdută. Așa că destinația nu se acceptă pe baza faptului că are toate câmpurile completate.
Se face un drum dus-întors adevărat, iar o destinație a cărei ultimă probă a eșuat este sărită, nu folosită. Credențialele sunt criptate în baza de date.
- 1 Scrie un obiect de probă cu conținut unic și cu ora curentă.
- 2 Îl citește înapoi din același bucket.
- 3 Compară conținutul citit cu cel scris.
- 4 Șterge obiectul de probă și consemnează rezultatul cu data lui.
Trei lucruri de știut înainte
Dacă alegi produsul asta tocmai pentru locul în care stau datele, cele de mai jos sunt exact lucrurile pe care le-ai afla singur mai târziu. Preferăm să le afli acum.
Înregistrarea trece pe la noi întâi
Poarta de acces încarcă fișierul terminat în bucketul platformei, iar planul de control îl mută apoi la destinația ta și rescrie custodia. Deci există un interval, de obicei scurt, în care înregistrarea este pe infrastructura noastră. Transcrierile, mesajele și evenimentele se scriu direct la tine.
Nicio destinație reală de client
Tabela de destinații de stocare are zero rânduri. Codul este scris și testat, dar nimeni nu a îndreptat încă produsul spre bucketul unei firme adevărate. „Acceptat” este adevărat; „rodat în producție” nu ar fi.
Google Cloud Storage nu a fost probat
Adaptorul este instalat și configurabil, dar nu a fost verificat pe un bucket Google real. Dacă asta este destinația ta, spune-ne și o probăm înainte, nu după.
Ce se întreabă despre unde stau datele
Pot ține înregistrările în contul meu?
Da. Configurezi o destinație de stocare în consolă și înregistrările, transcrierile și evenimentele se scriu în bucketul tău, pe S3, S3 cu rol asumat, Cloudflare R2, Azure Blob, Google Cloud Storage, Supabase sau orice serviciu compatibil S3.
Ce servicii de stocare sunt acceptate?
Opt: stocarea platformei, Amazon S3, Amazon S3 cu asumare de rol, Cloudflare R2, Azure Blob Storage, Google Cloud Storage, Supabase Storage și orice serviciu compatibil S3, cum sunt MinIO, Wasabi sau Backblaze B2. Toate au adaptorul instalat în această construcție.
Trebuie să vă dau cheile mele permanente?
Nu, dacă folosești varianta cu asumare de rol pe Amazon S3: ne dai un rol pe care îl asumăm temporar, deci nicio credențială de durată nu pleacă de la tine. Pentru celelalte destinații credențialele se păstrează criptate.
Fișierul trece pe la voi înainte să ajungă la mine?
Da, în cazul înregistrării audio: poarta de acces o încarcă întâi în bucketul platformei, iar apoi este mutată la destinația ta și custodia este rescrisă. Transcrierile, mesajele și evenimentele se scriu direct la tine. Spunem asta pe față fiindcă oricine alege produsul pentru locul datelor ar descoperi-o oricum.
Ce se întâmplă cu fișierele dacă plecăm?
Rămân unde sunt: în bucketul tău, în contul tău, sub controlul tău. Nu avem cum să le ștergem și nu avem nevoie să ți le exportăm, fiindcă nu au fost niciodată la noi.
Note
-
1
Driverele și verificarea disponibilității lor:
app/Enums/Storage/StorageDriver.php. Proba de conectivitate:app/Services/Storage/StorageDestinationManager.php, metodavalidate(). -
2
Mutarea înregistrării de pe bucketul platformei:
config/object_storage.php, cheiarelocate_gateway_uploads, și lucrareaRelocateArtifactToStorageDestination.
Înainte să legi un bucket de asta
Niciun bucket de client nu a fost legat încă de o instalare vie, deci al tău ar fi primul. Merită o discuție înainte să configurezi ceva, nu după.