Generirati izmišljen JSON nabor podatkov
- Nadzorna plošča
- Dokumentacija
- API
Za kaj se uporabljajo navidezni podatki?
Potreba se pojavi na vseh stopnjah razvojnega cikla. Za demo potrebujemo uporabnike verjeten, ne okrnjen Lorem Ipsum. Za integracijske teste želimo nabor podatkov ponovljive, a raznolike. Za predprodukcijsko okolje, izolirano od GDPR, zamenjamo podatke pravi z umetnimi ekvivalenti. Za model uporabniškega vmesnika morate tabele napolniti z vnosi verodostojen. Navidezni generator podatkov pokriva te primere s proizvodnjo Zapisi JSON v skladu s preprosto shemo.
Oblika diagrama
Shema je predmet JSON, kjer je vsak ključ ime proizvedenega polja, vrednost pa je tip Faker. Avtor: primer:
{
"ime": "ime",
"e-pošta": "e-pošta",
"age": "številka 18-65",
"aktiven": "boolean",
"registered_on": "datum"
}
Orodje nato ustvari N posnetkov, ki upoštevajo to shemo, v izbranem jeziku (francoščina oz angleščina). Rezultat je polje JSON, ki ga je mogoče uporabiti neposredno kot stalnico, kot telo zahteve API ali kot vnos v sejalnik baze podatkov.
Podprte vrste
- ime: polno ime (»Marie Dupont«).
- ime / priimek: ime in priimek sta ločena.
- email: lažni e-poštni naslov (uporablja
safeEmailpodjetja Faker, ki ustvari rezervirane domeneexample.comniso dosegljive). - telefon: lokalno oblikovana telefonska številka.
- naslov: polni poštni naslov.
- število: privzeto naključno celo število med 0 in 1000 ali
število a-bza prilagojen izbor. - boolean:
truealifalsenaključno. - datum: datum v formatu ISO 8601 (
LLLL-MM-DD). - uuid: UUID v4.
- besedilo: kratek lorem-ipsumesque odstavek (~120 znakov).
- niz: tri naključne besede.
- url: navidezni URL (
https://example.org/...).
Vse neprepoznane vrste se ohranijo takšne, kot so v rezultatu. To je izbira: če postavite
"role": "admin" v shemi bo imel vsak zapis "role": "admin". to
omogoča mešanje konstantnih vrednosti in dinamičnih polj brez spreminjanja orodij.
Izbira lokacije
Faker ima na desetine prostorov. Orodje izpostavi dva najbolj uporabna v kontekstu francosko govoreči:
- fr_FR: francoska imena, francoski naslovi, telefonske številke v francoski obliki, lorem-ipsum stavki v približni francoščini.
- en_US: Ameriška imena in naslovi, telefonske številke v ameriški obliki.
Za doslednost predstavitev na francoski strani izberite fr_FR. Za preizkus
internacionalizacijo, zmešajte obe izvedbi ali povečajte število zapisov
iz različnih izvorov.
Primeri uporabe
- Testni popravki: ustvarite 50 uporabnikov, prilepite jih v datoteko YAML iz AliceBundle ali sejalnika. Ponovljivo, ko nastavite seme Faker, sicer pa spremenljivo.
- Modeje uporabniškega vmesnika: izpolnite tabelo React/Vue z verjetnimi podatki. Veliko
bolj smiselno kot prazno polje ali
foo / bar / baz. - Preskusna obremenitev: ustvarite veliko koristno obremenitev JSON za preizkus prepustnosti (k6, JMeter, kobilica).
- Komercialne predstavitve: izpolnite predstavitveni primerek z vnosi, ki spominjajo na resnične primere, vendar ne tvegajo uhajanja občutljivih informacij.
- Anonimizacija: zamenjajte proizvodni izvoz z navideznim enakovrednim prejšnjim delite s podizvajalcem ali uporabite v predprodukciji.
Prostovoljne omejitve
Da bi orodje ostalo preprosto za uporabo, ne podpira ugnezdenih shem (polja, ki bi bilo samo po sebi
predmet ali niz predmetov). Za takšne potrebe je bolje napisati namensko Faker skripto oz
pokličite več zaporednih klicev. Prostovoljna omejitev se tudi izogiba absurdnim kombinacijam
("items": "name" z naključno kardinalnostjo), zaradi česar bi bilo orodje manj predvidljivo.
Število zapisov je omejeno na 500. Poleg tega pričakujemo okolje preizkusite, ali generira svoje napeljave prek namenske kode (Faker v CLI, Foundry, factory_bot itd.). Spletno orodje je uporaben za do nekaj sto zapisov; poleg tega plato spomina in odzivnega časa izkušnje.
Ponovljivost in varnost
Vrednosti so proizvedene z nedeterminističnim PRNG: vsaka izvedba ustvari podatke drugačen. Za teste, ki morajo biti ponovljivi (CI), zajemite rezultat enkrat in storiti. Za resnično občutljive podatke (anonimizacija proizvodnje) upoštevajte, da generiranje na strani javnega strežnika ni pravi kanal: raje lokalni skript, ki nikoli ne zapusti vaš položaj.
Pogosta vprašanja
Ali so ustvarjena e-poštna sporočila veljavna?
Format je veljaven (RFC 5322), vendar je domena example.com ali enakovredna rezervirana
s strani IANA. Nobeden od teh e-poštnih naslovov ne more prejemati sporočil; to je prostovoljno, da bi se izognili neželeni pošti
naključno na resničnih naslovih.
Ali lahko večkrat pridobim isti nabor podatkov?
Ne prek spletnega vmesnika: orodje ne nastavi semena. Za natančno ponovljivost skriptirajte
lokalna generacija s Fakerjem in fiksnim semenom ($faker->seed(1234);).
Kako ustvariti ugnezdeni predmet?
Orodje podpira le ploščat diagram. Za vdelane naknadno obdelajte izpis s skriptom oz neposredno napišite ustrezno kodo Faker.
Zakaj so vse moje številke med 0 in 1000?
To je privzeti obseg. Določite obseg: "age": "number 18-65",
"cena": "številka 1-9999" itd.
Kakšne so povezave z drugimi orodji na spletnem mestu?
Za količinske UUID-je si oglejte generator UUID-jev. Za gesel, generator gesel. Za besedilo, generator besedila. Lažni generator podatkov je orodje transverzala, ki združuje več teh generacij.
Primer zahteve
curl -X POST https://cdrn.fr/api/v1/tools/mock-data-generator/execute \
-H "Content-Type: application/json" \
-d '{"schema":"{\"name\": \"name\", \"email\": \"email\", \"age\": \"number 18-65\"}","count":5,"locale":"fr_FR"}'
Vhodna shema
| Polje | Tip | Obvezno | Privzeto |
|---|---|---|---|
schema |
text | ✓ | {"name": "name", "email": "email", "age": "number 18-65"} |
count |
integer | ✓ | 5 |
locale |
choice (fr_FR, en_US) | ✓ | fr_FR |
Končne točke
GET https://cdrn.fr/api/v1/tools- izpiše vsa razpoložljiva orodjaGET https://cdrn.fr/api/v1/tools/mock-data-generator- pridobi shemo tega orodjaPOST https://cdrn.fr/api/v1/tools/mock-data-generator/execute- izvede to orodje s JSON payloadom