Δημιουργία ψεύτικου dataset JSON

δημιουργεί N εγγραφές JSON που αντιστοιχούν σε απλό σχήμα, από Faker (locale fr_FR ή en_US)

Σε τι χρησιμοποιούνται τα εικονικά δεδομένα;

Η ανάγκη προκύπτει σε όλα τα στάδια του κύκλου ανάπτυξης. Για μια επίδειξη, χρειαζόμαστε χρήστες αληθοφανές, μη περικομμένο Lorem Ipsum. Για δοκιμές ολοκλήρωσης, θέλουμε ένα σύνολο δεδομένων αναπαραγώγιμη αλλά ποικίλη. Για ένα περιβάλλον προπαραγωγής απομονωμένο από το GDPR, αντικαθιστούμε τα δεδομένα πραγματικό με τεχνητά ισοδύναμα. Για ένα μοντέλο διεπαφής χρήστη, πρέπει να συμπληρώσετε πίνακες με καταχωρίσεις αξιόπιστη. Η εικονική δημιουργία δεδομένων καλύπτει αυτές τις περιπτώσεις με την παραγωγή Οι εγγραφές JSON συμμορφώνονται με ένα απλό σχήμα.

Η μορφή του διαγράμματος

Το σχήμα είναι ένα αντικείμενο JSON όπου κάθε κλειδί είναι το όνομα του παραγόμενου πεδίου και η τιμή είναι τύπος Faker. Από παράδειγμα:

{
  "όνομα": "όνομα",
  "email": "email",
  "ηλικία": "αριθμός 18-65",
  "active": "boolean",
  "registered_on": "ημερομηνία"
}

Στη συνέχεια, το εργαλείο δημιουργεί N εγγραφές σε σχέση με αυτό το σχήμα, στην επιλεγμένη τοποθεσία (γαλλικά ή αγγλικά). Το αποτέλεσμα είναι ένας πίνακας JSON που μπορεί να χρησιμοποιηθεί απευθείας ως προσάρτημα, ως το σώμα ενός αιτήματος API ή ως είσοδος σε πρόγραμμα εκκίνησης βάσης δεδομένων.

Υποστηριζόμενοι τύποι

  • όνομα: πλήρες όνομα ("Marie Dupont").
  • όνομα / επώνυμο: το όνομα και το επίθετο χωρίζονται.
  • email: ψεύτικη διεύθυνση email (χρησιμοποιεί το safeEmail από την Faker, η οποία παράγει δεσμευμένοι τομείς example.com δεν είναι προσβάσιμοι).
  • τηλέφωνο: τοπικά μορφοποιημένος αριθμός τηλεφώνου.
  • διεύθυνση: πλήρης ταχυδρομική διεύθυνση.
  • number: τυχαίος ακέραιος μεταξύ 0 και 1000 από προεπιλογή ή number a-b για μια εξατομικευμένη σειρά.
  • boolean: true ή false τυχαία.
  • ημερομηνία: ημερομηνία σε μορφή ISO 8601 (ΕΕΕΕ-ΜΜ-ΗΗ).
  • uuid: UUID v4.
  • κείμενο: σύντομη lorem-ipsumesque παράγραφος (~120 χαρακτήρες).
  • string: τρεις τυχαίες λέξεις.
  • url: εικονική διεύθυνση URL (https://example.org/...).

Τυχόν μη αναγνωρισμένοι τύποι διατηρούνται ως έχουν στο αποτέλεσμα. Είναι επιλογή: αν βάλεις "role": "admin" στο σχήμα, κάθε εγγραφή θα έχει "role": "admin". Αυτό σας επιτρέπει να συνδυάσετε σταθερές τιμές και δυναμικά πεδία χωρίς να αλλάξετε εργαλεία.

Επιλογή τοποθεσίας

Ο Faker έχει δεκάδες εγκαταστάσεις. Το εργαλείο εκθέτει τα δύο πιο χρήσιμα στο πλαίσιο Γαλλόφωνος:

  • fr_FR: Γαλλικά ονόματα, γαλλικές διευθύνσεις, αριθμοί τηλεφώνου σε γαλλική μορφή, Προτάσεις lorem-ipsum σε κατά προσέγγιση γαλλικά.
  • en_US: Ονόματα και διευθύνσεις Αμερικανών, αριθμοί τηλεφώνου σε μορφή ΗΠΑ.

Για επίδειξη συνέπειας στη γαλλική πλευρά, επιλέξτε fr_FR. Για μια δοκιμή διεθνοποίηση, συνδυάστε τις δύο εκτελέσεις ή αυξήστε τον αριθμό των εγγραφών που πρέπει να έχετε από ποικίλες προελεύσεις.

Θήκες χρήσης

  • Δοκιμαστικές διορθώσεις: δημιουργήστε 50 χρήστες, επικολλήστε τους σε ένα αρχείο YAML από το AliceBundle ή ένα seer. Δυνατότητα αναπαραγωγής όταν ορίζετε ένα Faker seed, διαφορετικά ποικίλλει.
  • Mockup UI: συμπληρώστε έναν πίνακα React/Vue με εύλογα δεδομένα. Πολλά πιο νόημα από έναν κενό πίνακα ή foo / bar / baz.
  • Δοκιμαστικό φορτίο: δημιουργήστε ένα μεγάλο ωφέλιμο φορτίο JSON για μια δοκιμή απόδοσης (k6, JMeter, Ακρίδα).
  • Εμπορικές επιδείξεις: συμπληρώστε μια παρουσία επίδειξης με εισόδους που μοιάζουν με πραγματικές περιπτώσεις, αλλά μην κινδυνεύετε να διαρρεύσετε ευαίσθητες πληροφορίες.
  • Ανωνυμοποίηση: αντικαταστήστε μια εξαγωγή παραγωγής με ένα εικονικό ισοδύναμο πριν μοιραστείτε το με έναν υπεργολάβο ή χρησιμοποιήστε το στην προπαραγωγή.

Εθελούσια όρια

Για να παραμείνει απλό στη χρήση, το εργαλείο δεν υποστηρίζει ένθετα σχήματα (ένα πεδίο που θα ήταν το ίδιο ένα αντικείμενο ή μια σειρά αντικειμένων). Για τέτοιες ανάγκες, είναι καλύτερο να γράψετε ένα αποκλειστικό σενάριο Faker, ή καλέστε πολλές διαδοχικές κλήσεις. Το εκούσιο όριο αποφεύγει επίσης τους παράλογους συνδυασμούς ("item": "name" με τυχαία καρδινάτητα) που θα καθιστούσε το εργαλείο λιγότερο προβλέψιμο.

Ο αριθμός των εγγραφών περιορίζεται σε 500. Από εκεί και πέρα, περιμένουμε ένα περιβάλλον ελέγξτε ότι δημιουργεί τα φωτιστικά του μέσω αποκλειστικού κώδικα (Faker στο CLI, Foundry, factory_bot, κ.λπ.). Το εργαλείο Ιστού είναι χρήσιμο για έως και μερικές εκατοντάδες εγγραφές. πέρα από αυτό, η μνήμη και ο χρόνος απόκρισης οροπέδιο εμπειρία.

Αναπαραγωγιμότητα και ασφάλεια

Οι τιμές παράγονται με ένα μη ντετερμινιστικό PRNG: κάθε εκτέλεση παράγει δεδομένα διαφορετικά. Για δοκιμές που πρέπει να είναι αναπαραγώγιμες (CI), καταγράψτε την έξοδο μία φορά και δεσμεύστε το. Για πραγματικά ευαίσθητα δεδομένα (ανωνυμοποίηση παραγωγής), έχετε υπόψη σας ότι το Η δημιουργία δημόσιου διακομιστή δεν είναι το σωστό κανάλι: προτιμήστε ένα τοπικό σενάριο που δεν βγαίνει ποτέ τη θέση σας.

Συχνές ερωτήσεις

Είναι έγκυρα τα μηνύματα ηλεκτρονικού ταχυδρομείου που δημιουργούνται;

Η μορφή είναι έγκυρη (RFC 5322), αλλά ο τομέας είναι example.com ή ισοδύναμος δεσμευμένος από το IANA. Κανένα από αυτά τα μηνύματα ηλεκτρονικού ταχυδρομείου δεν μπορεί να λάβει μηνύματα. Αυτό είναι εθελοντικό για την αποφυγή ανεπιθύμητων μηνυμάτων τυχαία σε πραγματικές διευθύνσεις.

Μπορώ να λάβω το ίδιο σύνολο δεδομένων πολλές φορές;

Όχι μέσω της διεπαφής ιστού: το εργαλείο δεν ορίζει έναν σπόρο. Για αυστηρή αναπαραγωγιμότητα, γράψτε το τοπική γενιά με Faker και σταθερό σπόρο ($faker->seed(1234);).

Πώς να δημιουργήσετε ένα ένθετο αντικείμενο;

Το εργαλείο υποστηρίζει μόνο ένα επίπεδο διάγραμμα. Για ενσωματωμένη, μεταγενέστερη επεξεργασία της εξόδου με ένα σενάριο ή γράψτε απευθείας τον αντίστοιχο κωδικό Faker.

Γιατί οι αριθμοί μου είναι όλοι μεταξύ 0 και 1000;

Αυτό είναι το προεπιλεγμένο εύρος. Καθορίστε ένα εύρος: "age": "number 18-65", "price": "number 1-9999", κ.λπ.

Ποιοι είναι οι σύνδεσμοι με άλλα εργαλεία στον ιστότοπο;

Για τις ποσότητες UUID, ανατρέξτε στην γεννήτρια UUID. Για κωδικούς πρόσβασης, το δημιουργία κωδικών πρόσβασης. Για κείμενο, την δημιουργία κειμένου. Η εικονική γεννήτρια δεδομένων είναι το εργαλείο εγκάρσιο το οποίο συνδυάζει αρκετές από αυτές τις γενιές.

Παράδειγμα αιτήματος

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"}'

Σχήμα εισόδου

Πεδίο Τύπος Απαιτείται Προεπιλογή
schema text {"name": "name", "email": "email", "age": "number 18-65"}
count integer 5
locale choice (fr_FR, en_US) fr_FR

Σημεία πρόσβασης

  • GET https://cdrn.fr/api/v1/tools - εμφανίζει όλα τα διαθέσιμα εργαλεία
  • GET https://cdrn.fr/api/v1/tools/mock-data-generator - ανακτά το σχήμα αυτού του εργαλείου
  • POST https://cdrn.fr/api/v1/tools/mock-data-generator/execute - εκτελεί αυτό το εργαλείο με payload JSON