afv-library/skills/platform-data-manage/references/bulk-operations-guide.md

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

  1. Chunk large files - Split files >100MB
  2. Use --wait - Monitor completion
  3. Handle partial failures - Check result files
  4. Test in sandbox - Validate before production