# Salesforce とデータベース/データウェアハウスの同期

現在、データベースウェアハウスと Salesforce を直接接続できるオプションは組み込まれていませんが、Workato ではユーザーが優れたレシピを構築できるよう幅広いアクションを用意しています。

組織プロセスの最適化が必要な場合は、Salesforce とデータベースを連携させるとよいでしょう。統合製品を使用することで、異なるシステムのデータをアライメントする際に発生する不整合に手動で対処するコストを大幅に削減できます。

# Get object schema アクション

Get object schema アクションは、Salesforce オブジェクトのスキーマ情報を取得します。このアクションは標準オブジェクトとカスタムオブジェクトの両方で使用できます。Salesforce オブジェクトの項目をデータウェアハウスの列に複製する必要がある場合に、このアクションを使用します。

このアクションでは、オブジェクトスキーマの取得元となるオブジェクトを指定する必要があります。以下のスニペットは、このアクションでカスタムオブジェクト「Commission__c」を使用した場合の出力例を示しています。

{
   "name":"Commission__c",
   "label":"Commission",
   "custom":true,
   "fields":[
      {
         "name":"Id",
         "label":"Record ID",
         "custom":false,
         "length":18,
         "scale":0,
         "precision":0,
         "type":"string"
      },
      {
         "name":"OwnerId",
         "label":"Owner ID",
         "custom":false,
         "length":18,
         "scale":0,
         "precision":0,
         "type":"string"
      },
      {
         "name":"IsDeleted",
         "label":"Deleted",
         "custom":false,
         "length":0,
         "scale":0,
         "precision":0,
         "type":"boolean"
      },
      {
         "name":"Name",
         "label":"Commission Name",
         "custom":false,
         "length":80,
         "scale":0,
         "precision":0,
         "type":"string"
      },
      {
         "name":"CreatedDate",
         "label":"Created Date",
         "custom":false,
         "length":0,
         "scale":0,
         "precision":0,
         "type":"string"
      },
      {
         "name":"CreatedById",
         "label":"Created By ID",
         "custom":false,
         "length":18,
         "scale":0,
         "precision":0,
         "type":"string"
      },
      {
         "name":"LastModifiedDate",
         "label":"Last Modified Date",
         "custom":false,
         "length":0,
         "scale":0,
         "precision":0,
         "type":"string"
      },
      {
         "name":"LastModifiedById",
         "label":"Last Modified By ID",
         "custom":false,
         "length":18,
         "scale":0,
         "precision":0,
         "type":"string"
      },
      {
         "name":"SystemModstamp",
         "label":"System Modstamp",
         "custom":false,
         "length":0,
         "scale":0,
         "precision":0,
         "type":"string"
      },
      {
         "name":"Rate__c",
         "label":"Rate",
         "custom":true,
         "length":0,
         "scale":0,
         "precision":18,
         "type":"string"
      },
      {
         "name":"Name__c",
         "label":"Name",
         "custom":true,
         "length":0,
         "scale":0,
         "precision":18,
         "type":"double"
      },
      {
         "name":"User__c",
         "label":"User",
         "custom":true,
         "length":18,
         "scale":0,
         "precision":0,
         "type":"string"
      }
   ]
}

出力には、sObject のメタデータ、および項目とそのデータ型が列挙されます。配列は、ユーザーの項目レベルのセキュリティ設定で定義された、ユーザーが表示可能な項目のみで構成されています。

返される項目の詳細については、こちらの記事 (opens new window)をご覧ください。

# Detect new or updated custom data

この boolean 型の項目は、すべての単一レコード用の Salesforce トリガー、バッチの新規および新規/更新レコードトリガー、SOQL を使用する定期的なレコード検索で使用できます。この項目は、オブジェクトレコードをデータベースに複製する場合にのみ使用してください。

[Yes] を選択すると、トリガー出力には、新しく追加/変更されたカスタムフィールドのデータが取り込まれ、その後、対応するデータベースでデータの複製アクションと組み合わせて使用されます。これは現在、Snowflake アダプターでサポートされています。

データソースから新規/更新されたデータが検出された場合、Workato がまず行うのは、既存の Snowflake テーブルスキーマに照らして新しいオブジェクト定義を検査することです。Snowflake のテーブル定義を更新すると、不一致が解消されます。その後、データは重複が排除され、Snowflake テーブルで挿入/更新されます。

その仕組みについては、こちらのレシピ (opens new window)を参照してください。


Last updated: 2023/8/31 1:07:14