Salesforce に CSV ファイルをインポートまたは更新するための準備方法を解説します。データのバックアップを行い、少数のレコードでテストを実施することを推奨します。CSV ファイルの形式やリレーションの設定方法についても詳しく説明します。
| 警告 データ操作を実行する前にデータのバックアップを必ず実行してください。詳細は、「Salesforce からバックアップデータをエクスポートする」または「データのエクスポート」を参照してください。少数のレコードセットでテストを実行し、Salesforce 内の対応するレコードを手動で開き、レコードが正しいことを確認して、操作が正常に終了したことを確認することをお勧めします。 |
CSV ファイルの最初の行 (ヘッダー行) には、処理するオブジェクトの項目名を記述します。2 行目以降は、Salesforce の各レコードに対応します。レコードは一連の項目で構成され、項目と項目の間はカンマで区切られます。1 つの CSV ファイルに複数のレコードを含めることができ、これを「バッチ」と呼びます。
CSV ファイル内のレコードは、すべて同一オブジェクトのレコードである必要があります。オブジェクトは、バッチに関連付けられたジョブで指定します。ある特定のジョブに関連付けられたすべてのバッチに含まれるレコードは、すべて同一オブジェクトのものである必要があります。
Bulk API を使用した CSV ファイルの処理:
Salesforce のオブジェクトの多くは、別のオブジェクトに関連付けられています。たとえば、取引先は取引先責任者の親オブジェクトです。CSV ファイルでは、列ヘッダーでリレーションを示すことにより、関連付けられたオブジェクトへの参照を追加できます。
Bulk API でレコードを処理する場合、CSV ファイルの列ヘッダーで RelationshipName.IndexedFieldName という構文を使用して、オブジェクトとその親オブジェクトのリレーションを記述します。RelationshipName は項目のリレーション名、IndexedFieldName は親レコードを一意に識別するインデックス化された項目の名前を示します。項目の relationshipName プロパティの値を取得するには、SOAP ベースの SOAP API で describeSObjects() コールを使用します。
自身に関連付けられているオブジェクトもあります。たとえば、取引先責任者の [上司] 項目は、別の取引先責任者を参照します。このような場合、列ヘッダーで ReportsTo.Email と記述すると、[メール] 項目の値に基づいて、各取引先責任者の [上司] 項目を一意に識別できます。
列ヘッダーの ReportsTo の部分は、[上司] 項目の relationshipName プロパティの値です。
リレーションを使用した CSV ファイルの例を次に示します。
1 FirstName,LastName,ReportsTo.Email 2 Tom,Jones,buyer@salesforcesample.com
注意:
true に設定されている場合、インデックス化されています。 カスタムオブジェクトでは、カスタム項目を使用してオブジェクト間のリレーションを追跡します。2 つのカスタムオブジェクト間のリレーションを示すには、__r (アンダースコア 2 つと「r」) で終わるリレーション名を使用します。列ヘッダーでこのリレーションを指定して、関連オブジェクトへの参照を追加できます。
たとえば、子オブジェクトに、あるカスタムオブジェクトを親として参照する Mother_Of_Child__c という [API 参照名] を持つカスタム項目があり、親となるオブジェクトに External_ID__c という [API 参照名] を持つ項目がある場合は、Mother_Of_Child__r.External_ID__c という列ヘッダーを記述することにより、親オブジェクトの [外部 ID] 項目を使用して、[Mother Of Child] 項目を一意に識別できます。列ヘッダー内のリレーション名では、子オブジェクトのカスタム項目の __c を __r で置き換えた値を入力します。
リレーションを使用した CSV ファイルの例を次に示します。
1 Name,Mother_Of_Child__r.External_ID__c 2 CustomObject1,123456
詳細は、「SOQL および SOSL の概要」を参照してください。
多態的な項目では、2 種類以上のオブジェクトを親として参照できます。たとえば、取引先責任者またはリードを ToDo の親にすることができます。つまり、ToDo の WhoId 項目に取引先責任者またはリードの ID を含めることができます。
多態的な項目は柔軟性が高く、列ヘッダーの構文に、親オブジェクトの種別を定義する要素を追加できるようになっています。この構文は ObjectType:RelationshipName.IndexedFieldName です。
後続のサンプルには、次の 2 つの参照項目が含まれています。
Who という relationshipName が使用されています。ここでは、リードを参照し、インデックス化された [メール] 項目を使用して親レコードを一意に識別します。Owner という relationshipName が使用されています。ユーザを参照し、インデックス化された Id 項目を使用して親レコードを一意に識別します。多態的な項目を使用した CSV ファイルの例を次に示します。
1 Subject,Priority,Status,Lead:Who.Email,OwnerId 2 Test Bulk API polymorphic reference field,Normal,NotStarted,lead@salesforcesample.com,005D0000001AXYz
CSV のレコード行の有効な形式
項目の列ヘッダーで使用する ObjectType: という要素は、多態的な項目でのみ必須となります。多態的な項目でこの要素を省略するとエラーが返されますが、それ以外の項目でこの要素を使用した場合もエラーが返されます。
Bulk API は、大量データの処理用に最適化されており、項目の値の形式に厳格な制限を設けています。Salesforce レコードを含む CSV ファイルを作成する場合は、次の点に注意してください。
注意:
次に示すサンプルの CSV ファイルには、取引先責任者オブジェクトのレコードが 2 つ含まれています。各レコードの項目は 6 つです。処理対象のオブジェクトの項目であればすべて追加できます。このファイルを使用して既存のレコードを更新する場合、CSV ファイル内に定義されていない項目は無視されます。
レコードを作成するときは、必須項目はもれなく含める必要があります。
1 FirstName,LastName,Title,ReportsTo.Email,Birthdate,Description 2 Tom,Jones,Senior Director,buyer@salesforcesample.com,1940-06-07Z,"Self-described as ""the top"" branding guru on the West Coast" 3 Ian,Dury,Chief Imagineer,cto@salesforcesample.com,,"World-renowned expert in fuzzy logic design. 4 Influential in technology purchases."
最後のレコードの Description 項目には改行が含まれるため、項目値が二重引用符で囲まれています。
Apex データローダを使用してファイルを挿入、削除、または更新するときに、[Mapping Dialog] ウィンドウを使用して、Salesforce 項目を CSV ファイルの列に対応付けます。
これらのルールを満たしていない CSV ファイルからデータをインポートするには、CSV ファイルのデータ項目を Salesforce データ項目に対応付けます。「データ項目の対応付け」を参照してください。
関連情報:
Salesforce YouTube 動画
000381876

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.