Imports, Exports, and Portability
Imports require size/format validation, defensive parsing, previews, row-level errors, and clear partial-versus-atomic behavior.
How to apply it
Generate exports asynchronously, store privately, bind them to an authorized tenant/user, expire the artifact, and audit generation/download. Document identifiers, timestamps, time zones, and cleanup across derived stores.
Worked example
An export worker creates a private object and issues a short-lived signed URL after rechecking authorization.
Common mistakes to avoid
Predictable public file URLs or assuming account deletion only removes a main database row.
Practice task
Implement this concept in the capstone. Add one positive test, one negative or failure-path test, and a short note explaining the trade-off you chose.
- Imports require size/format validation, defensive parsing, previews, row-level errors, and clear partial-versus-atomic behavior.
- Generate exports asynchronously, store privately, bind them to an authorized tenant/user, expire the artifact, and audit generation/download.
What is the strongest production practice for Imports, Exports, and Portability?