Bulk API 2.0 クエリについて
可用性
Bulk API 2.0 のクエリジョブは、API バージョン 47.0 以降で使用できます。
サポートされる URI およびメソッド
次の表は、Bulk API 2.0 のクエリでサポートされる URI およびメソッドを示しています。
| URI | HTTP メソッド | 説明 |
|---|---|---|
| /services/data/vXX.X/jobs/query | POST |
クエリジョブを作成します。 |
| /services/data/vXX.X/jobs/query | GET |
組織内のすべてのクエリジョブに関する情報を取得します。 |
| /services/data/vXX.X/jobs/query/queryJobId | GET |
1 つのクエリジョブに関する情報を取得します。 |
| /services/data/vXX.X/jobs/query/queryJobId/results | GET |
クエリジョブの結果を取得します。 |
| /services/data/vXX.X/jobs/query/queryJobId | PATCH |
クエリジョブを中止します。 |
| /services/data/vXX.X/jobs/query/queryJobId | DELETE |
クエリジョブを削除します。 |
クエリジョブのチャンク処理
Bulk API 2.0 クエリジョブでは、SOQL クエリを非同期で処理できます。バッチを手動で設定する代わりに Bulk API 2.0 クエリジョブは、クエリジョブを小さなチャンクに分割するための最良の方法を自動的に決定します。これにより、失敗やタイムアウトが回避されます。再試行は API が自動的に処理します。API の再試行が 15 回を超えたというメッセージを受け取った場合は、検索条件を適用してもう一度実行してください。クエリジョブの結果を取得するときに、レスポンスボディは常に圧縮されています。
Bulk API では、PK Chunking を使用せずにバッチを作成すると 1 つのバッチのみが作成されます。PK Chunking を有効化してバッチを作成する場合、バッチはチャンクのレコード数に基づいて分割されます。レコード数の範囲は 100,000 から 250,000 までです。
Bulk API 2.0 は次のオブジェクトを持つ大きなクエリジョブをチャンクするように最適化されています。
- Account
- AccountContactRelation
- AccountTeamMember
- AiVisitSummary
- Asset
- AssignedResource
- B2BMktActivity
- B2BMktProspect
- Campaign
- CampaignMember
- CandidateAnswer
- Case
- CaseArticle
- CaseComment
- CaseRelatedIssue
- ChangeRequest
- ChangeRequestRelatedIssue
- ChangeRequestRelatedItem
- Claim
- ClaimParticipant
- Contact
- ContentDistribution
- ContentDocument
- ContentVersion
- Contract
- ContractLineItem
- ConversationDefinitionEventLog
- ConversationEntry
- ConversationReason
- ConversationReasonExcerpt
- ConversationReasonGroup
- CustomerProperty
- EinsteinAnswerFeedback
- EmailMessage
- EngagementScore
- Entitlement
- Event
- EventRelation
- FeedItem
- Incident
- IncidentRelatedItem
- Individual
- InsurancePolicy
- InsurancePolicyAsset
- InsurancePolicyParticipant
- Lead
- LeadInsight
- LinkedArticle
- LiveChatTranscript
- LoginHistory
- LoyaltyAggrPointExprLedger
- LoyaltyLedger
- LoyaltyMemberCurrency
- LoyaltyMemberTier
- LoyaltyPartnerProduct
- LoyaltyProgramMbrPromotion
- LoyaltyProgramMember
- LoyaltyProgramPartner
- LoyaltyProgramPartnerLedger
- MlRetrainingFeedback
- Note
- ObjectTerritory2Association
- Opportunity
- OpportunityContactRole
- OpportunityHistory
- OpportunityLineItem
- OpportunitySplit
- OpportunityTeamMember
- Order
- OrderItem
- Pricebook2
- PricebookEntry
- Problem
- ProblemIncident
- ProblemRelatedItem
- Product2
- ProductConsumed
- ProductRequired
- QuickText
- Quote
- QuoteLineItem
- ReplyText
- ScoreIntelligence
- ServiceContract
- Task
- TaskRelation
- TermDocumentFrequency
- TransactionJournal
- User
- UserRole
- VoiceCall
- VoiceCallRecording
- Voucher
- WebCart
- WorkloadUnit
- WorkOrder
- WorkOrderLineItem
- WorkPlan
- WorkPlanTemplate
この最適化には、カスタムオブジェクトと、標準オブジェクトをサポートする共有テーブルおよび履歴テーブルも含まれます。
SOQL に関する考慮事項
- GROUP BY、ORDER BY、OFFSET、TYPEOF 句。
ORDER BY は、クエリの PKChunking を無効にするため使用しないでください。PKChunking が無効になると、クエリの実行に時間がかかり、クエリのタイムアウトが発生する可能性があります。ORDER BY を使用しているときに、クエリのタイムアウトが発生した場合は、トラブルシューティングとして、まず ORDER BY 句を削除してみてください。
- COUNT() などの集計関数。
- GROUP BY 句の日付関数。(WHERE 句の日付関数はサポートされます。)
- 複合の住所項目または地理位置情報項目。(代わりに、複合項目の個々のコンポーネントを照会してください。)
- 親 - 子リレーションクエリ。(子 - 親リレーションクエリはサポートされます。)