mirror of
https://github.com/forcedotcom/afv-library.git
synced 2026-07-30 03:09:50 +08:00
1.8 KiB
1.8 KiB
Bulk Operations Guide
When and how to use Salesforce Bulk API operations.
Decision Matrix
| Record Count | Recommended API | Command |
|---|---|---|
| 1-10 | Single Record | sf data create record |
| 11-2000 | Standard API | sf data query + Apex |
| 2000-10M | Bulk API 2.0 | sf data import bulk |
| 10M+ | Data Loader | External tool |
Bulk API 2.0 Commands
Import (Insert)
sf data import bulk \
--file accounts.csv \
--sobject Account \
--target-org myorg \
--wait 30
Update
sf data update bulk \
--file updates.csv \
--sobject Account \
--target-org myorg \
--wait 30
Upsert (Insert or Update)
sf data upsert bulk \
--file upsert.csv \
--sobject Account \
--external-id External_Id__c \
--target-org myorg \
--wait 30
Delete
sf data delete bulk \
--file delete.csv \
--sobject Account \
--target-org myorg \
--wait 30
Export
sf data export bulk \
--query "SELECT Id, Name FROM Account" \
--output-file accounts.csv \
--target-org myorg \
--wait 30
CSV Format Requirements
- First row: Field API names
- UTF-8 encoding
- Comma delimiter (default)
- Max 100MB per file
Bulk API Limits
| Limit | Value |
|---|---|
| Batches per 24 hours | 10,000 |
| Records per 24 hours | 10,000,000 |
| Max file size | 100 MB |
| Max concurrent jobs | 100 |
Error Handling
# Check job status
sf data resume --job-id [job-id] --target-org myorg
# Get results
sf data bulk results --job-id [job-id] --target-org myorg
Best Practices
- Chunk large files - Split files >100MB
- Use --wait - Monitor completion
- Handle partial failures - Check result files
- Test in sandbox - Validate before production