Generoi valheellinen JSON-tietoaineisto
- Hallintapaneeli
- Dokumentaatio
- API
Mihin keinotekoista dataa käytetään?
Tarve toistuu kaikissa kehityssyklin vaiheissa. Demoa varten tarvidaan uskottavia käyttäjiä, ei katkaistua Lorem Ipsumia. Integraatiotesteissä halutaan toistettava mutta monipuolinen tietojoukko. GDPR:stä eristetyssä esi-tuotantoympäristössä todelliset tiedot korvataan keinotekoisilla vastineilla. UI-mallinnuksessa taulukot on täytettävä uskottavilla tiedoilla. Keinotekoisen datan generaattori kattaa nämä tapaukset tuottamalla yksinkertaisen skeeman mukaisia JSON-tietueita.
Skeeman muoto
Skeema on JSON-objekti, jossa jokainen avain on luotavan kentän nimi ja arvo on Faker-tyyppi. Esimerkiksi:
{
"name": "name",
"email": "email",
"age": "number 18-65",
"active": "boolean",
"registered_on": "date"
}
Työkalu generoi sitten N tietuetta tämän skeeman mukaisesti valitulla lokaalilla (ranska tai englanti). Tuloksena on JSON-taulukko, jota voidaan käyttää suoraan testidatana (fixture), API-pyynnön rungossa tai tietokannan seederin syötteenä.
Tuetut tyypit
- name: koko nimi ("Marie Dupont").
- firstName / lastName: etunimi ja sukunimi erikseen.
- email: keinotekoinen sähköpostiosoite (käyttää Fakerin
safeEmail-toimintoa, joka tuottaa varattujaexample.com-verkkotunnuksia, joihin ei saa yhteyttä). - phone: lokaalin mukaan muotoiltu puhelinnumero.
- address: täydellinen postiosoite.
- number: satunnainen kokonaisluku oletuksena välillä 0–1000 tai
number a-bmukautetulle välille. - boolean: satunnainen
truetaifalse. - date: päivämäärä ISO 8601 -muodossa (
YYYY-MM-DD). - uuid: UUID v4.
- text: lyhyt lorem-ipsum-mainen kappale (~120 merkkiä).
- string: kolme satunnaista sanaa.
- url: keinotekoinen URL (
https://example.org/...).
Tuntemattomat tyypit säilytetään tuloksessa sellaisenaan. Tämä on tietoinen valinta: jos asetat
skeemaan "role": "admin", jokaisessa tietueessa on "role": "admin". Tämä
mahdollistaa vakioarvojen ja dynaamisten kenttien sekoittamisen ilman työkalun vaihtamista.
Lokaalin valinta
Fakerissa on kymmeniä lokaaleja. Työkalu tarjoaa kaksi hyödyllisintä ranskankielisessä kontekstissa:
- fr_FR: ranskalaiset nimet, osoitteet, puhelinnumerot ja lorem-ipsum-lauseet summittaisella ranskalla.
- en_US: amerikkalaiset nimet ja osoitteet sekä US-muotoiset puhelinnumerot.
Ranskankielisen demon johdonmukaisuuden vuoksi valitse fr_FR. Kansainvälistymistestiä varten
yhdistele molempia ajoja tai lisää tietueiden määrää saadaksesi erilaista alkuperää olevia tietoja.
Käyttötapaukset
- Testidatat (fixtures): generoi 50 käyttäjää, liitä ne AliceBundlen YAML-tiedostoon tai seederiin. Toistettavissa, kun käytetään kiinteää Faker-siementä (seed), muuten vaihteleva.
- UI-mallinnukset: täytä React/Vue-taulukko uskottavilla tiedoilla. Paljon
puhuvampi kuin tyhjä taulukko tai
foo / bar / baz. - Kuormitustesti: generoi suuri JSON-hyötykuorma siirtonopeustestiä varten (k6, JMeter, Locust).
- Myyntidemot: täytä demojärjestelmä syötteillä, jotka näyttävät todellisilta tapauksilta mutta eivät vaaranna herkkien tietojen vuotamista.
- Anonymisointi: korvaa tuotantovienti keinotekoisella vastineella ennen sen jakamista alihankkijalle tai sen käyttöä esi-tuotannossa.
Tietoiset rajoitukset
Helppokäyttöisyyden säilyttämiseksi työkalu ei tue sisäkkäisiä skeemoja (kenttä, joka olisi itsessään
objekti tai objekti-taulukko). Tällaisiin tarpeisiin on parempi kirjoittaa oma Faker-skripti tai
yhdistellä useita peräkkäisiä kutsuja. Tietoinen rajoitus välttää myös absurdien yhdistelmien
("items": "name" satunnaisella kardinaliteetilla) syntymisen, mikä tekisi työkalusta vähemmän ennustettavan.
Tietueiden määrä on rajoitettu 500:aan. Tämän ylittävissä tapauksissa testausympäristön odotetaan generoivan testidatansa siihen tarkoitetulla koodilla (Faker CLI, Foundry, factory_bot jne.). Web-työkalu on hyödyllinen muutamaan sataan tietueeseen asti; sen yli mentäessä muisti ja vastausaika rajoittavat käyttökokemusta.
Toistettavuus ja turvallisuus
Arvot tuotetaan ei-deterministisellä PRNG-generaattorilla: jokainen ajo tuottaa erilaista dataa. Toistettavuutta vaativissa testeissä (CI) tallenna tulos kerran ja committaa se. Todella herkille tiedoille (tuotannon anonymisointi) on muistettava, että generointi julkisella palvelimella ei ole oikea kanava: suosi paikallista skriptiä, joka ei koskaan poistu koneeltasi.
Usein kysytyt kysymykset
Ovatko generoidut sähköpostit voimassa olevia?
Muoto on voimassa (RFC 5322), mutta verkkotunnus on example.com tai vastaava IANA:n
varaama tunnus. Mikään näistä sähköposteista ei voi vastaanottaa viestejä; tämä on tarkoituksellista, jotta vältetään
vahingossa tapahtuva roskapostitus todellisiin osoitteisiin.
Voinko saada saman tietojoukon useita kertoja?
Ei web-käyttöliittymän kautta: työkalu ei käytä kiinteää siementä. Ehdotonta toistettavuutta varten
skriptaa generointi paikallisesti Fakerilla ja kiinteällä siemenellä ($faker->seed(1234);).
Miten generoin sisäkkäisen objektin?
Työkalu tukee vain litteää skeemaa. Sisäkkäisiä rakenteita varten jatkokäsittele tulosta skriptillä tai kirjoita suoraan vastaava Faker-koodi.
Miksi numeroni ovat kaikki välillä 0–1000?
Se on oletusväli. Määritä väli: "age": "number 18-65",
"price": "number 1-9999" jne.
Mitä yhteyksiä tällä on sivuston muihin työkaluihin?
UUID-tunnuksia varten katso UUID-generaattori. Salasanoja varten salasanageneraattori. Tekstiä varten tekstigeneraattori. Keinotekoisen datan generaattori on monipuolinen työkalu, joka yhdistää useita näistä toiminnoista.
Pyyntöesimerkki
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"}'
Syöteskeema
| Kenttä | Tyyppi | Pakollinen | Oletus |
|---|---|---|---|
schema |
text | ✓ | {"name": "name", "email": "email", "age": "number 18-65"} |
count |
integer | ✓ | 5 |
locale |
choice (fr_FR, en_US) | ✓ | fr_FR |
Päätepisteet
GET https://cdrn.fr/api/v1/tools- listaa kaikki saatavilla olevat työkalutGET https://cdrn.fr/api/v1/tools/mock-data-generator- hakee tämän työkalun skeemanPOST https://cdrn.fr/api/v1/tools/mock-data-generator/execute- suorittaa tämän työkalun JSON-payloadilla