日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Salesforce數據源

Salesforce提供按需定制的軟件服務,這些服務涉及客戶關系管理的各個方面,例如從普通的聯系人管理、產品目錄到訂單管理、機會管理、銷售管理等。DataWorks數據集成支持讀取Salesforce類型的數據源,本文為您介紹Salesforce的使用詳情。

支持的字段類型

字段類型

腳本模式數據類型

address

STRING

anyType

STRING

base64

BYTES

boolean

BOOL

combobox

STRING

complexvalue

STRING

currency

DOUBLE

date

DATE

datetime

DATE

double

DOUBLE

email

STRING

encryptedstring

STRING

id

STRING

int

LONG

json

STRING

long

LONG

multipicklist

STRING

percent

DOUBLE

phone

STRING

picklist

STRING

reference

STRING

string

STRING

textarea

STRING

time

DATE

url

STRING

geolocation

STRING

創建數據源

在進行數據同步任務開發時,您需要在DataWorks上創建一個對應的數據源,操作流程請參見創建并管理數據源詳細的配置參數解釋可在配置界面查看對應參數的文案提示

Salesforce支持如下方式創建數據源:

  • Salesforce官方:通過登錄Salesforce官網自動獲取Salesforce訪問地址信息,創建數據源。

  • 自定義:通過指定您自己部署的Connected App的Consumer KeyConsumer Secret,自動獲取Salesforce訪問地址,創建數據源。

    自定義模式數據源配置方式

    創建Connected App

    1. 進入創建頁面。

      1. 前往Salesforce官網并登錄。

      2. 在頂部單擊image,然后在左側導航欄單擊App Manager

      3. Lightning Experience App Manager頁面,單擊New Connected App

        image

    2. 填寫Connected App相關配置。

      image

      關鍵參數配置:

      序號

      參數說明

      根據業務需求,創建符合Salesforce規范的應用名(Connected App Name)、API名稱(API Name)及聯系人郵箱(Contact Email)。

      開啟Enable OAuth Settings。回調URL(Callback URL)填寫為https://bff-cn-shanghai.data.aliyun.com/di/oauth/callback/index.html

      Selected OAuth Scopes中添加以下Scope:

      • Access Connect REST API resources (chatter api)

      • Access the identity URL service (id, profile, email, address, phone)

      • Access unique user identifiers (openid)

      • Manage user data via APIs (api)

      • Perform requests at any time (refresh token, offline_access)

      • 關閉Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows

      • 開啟Require Secret for Web Server Flow

      • 開啟Require Secret for Refresh Token Flow

    3. 查看Connected App的Consumer Key and Secret

      1. 在App Manager列表中找到已創建的App,點擊App右側的image,然后單擊View

      2. 在App詳情頁面,查看Consumer Key and Secret

        image

      3. 復制Consumer KeyConsumer Secret值用于后續創建Saleforce數據源時使用。

        image

    填寫數據源參數

    1. 進入數據集成頁面。

      登錄DataWorks控制臺,切換至目標地域后,單擊左側導航欄的數據開發與治理 > 數據集成,在下拉框中選擇對應工作空間后單擊進入數據集成

    2. 單擊左側導航欄的數據源,進入數據源管理頁面。

    3. 單擊新增數據源,搜索Salesforce并打開,在新增Salesforce數據源頁面,配置數據源類型自定義

      image

      關鍵參數配置:

      參數

      說明

      登錄地址

      填寫為https://<Salesforce域名>/services/oauth2/authorize

      認證地址

      填寫為https://<Salesforce域名>/services/oauth2/token

      Consumer KeyConsumer Secret

      填寫為已獲取Connected App詳情中的Consumer KeyConsumer Secret

      單擊登錄Salesforce,在授權頁面填寫用戶名、密碼后,單擊允許授權(Allow),完成數據源配置。

      image

數據同步任務開發

數據同步任務的配置入口和通用配置流程可參見下文的配置指導。

單表離線同步任務配置指導

附錄:腳本Demo與參數說明

離線任務腳本配置方式

如果您配置離線任務時使用腳本模式的方式進行配置,您需要按照統一的腳本格式要求,在任務腳本中編寫相應的參數,詳情請參見通過腳本模式配置離線同步任務,以下為您介紹腳本模式下數據源的參數配置詳情。

Reader腳本Demo

案例1:查詢Salesforce Object

{
  "type":"job",
  "version":"2.0",
  "steps":[
    {
      "stepType":"salesforce",
      "parameter":{
        "datasource":"",
        "serviceType": "sobject",
        "table": "Account",
        "beginDateTime": "20230817184200",
        "endDateTime": "20231017184200",
        "where": "",
        "column": [
          {
            "type": "STRING",
            "name": "Id"
          },
          {
            "type": "STRING",
            "name": "Name"
          },
          {
            "type": "BOOL",
            "name": "IsDeleted"
          },
          {
            "type": "DATE",
            "name": "CreatedDate"
          }
        ]
      },
      "name":"Reader",
      "category":"reader"
    },
    {
      "stepType":"stream",
      "parameter":{},
      "name":"Writer",
      "category":"writer"
    }
  ],
  "setting":{
    "errorLimit":{
      "record":"0"
    },
    "speed":{
      "throttle":true,
      "concurrent":1,
      "mbps":"12"
    }
  },
  "order":{
    "hops":[
      {
        "from":"Reader",
        "to":"Writer"
      }
    ]
  }
}

案例2:使用BULK API1.0查詢Salesforce Object

{
  "type":"job",
  "version":"2.0",
  "steps":[
    {
      "stepType":"salesforce",
      "parameter":{
        "datasource":"",
        "serviceType": "bulk1",
        "table": "Account",
        "beginDateTime": "20230817184200",
        "endDateTime": "20231017184200",
        "where": "",
        "blockCompoundColumn":true,
        "bulkQueryJobTimeoutSeconds":86400,
        "column": [
          {
            "type": "STRING",
            "name": "Id"
          },
          {
            "type": "STRING",
            "name": "Name"
          },
          {
            "type": "BOOL",
            "name": "IsDeleted"
          },
          {
            "type": "DATE",
            "name": "CreatedDate"
          }
        ]
      },
      "name":"Reader",
      "category":"reader"
    },
    {
      "stepType":"stream",
      "parameter":{
        "print": true
      },
      "name":"Writer",
      "category":"writer"
    }
  ],
  "setting":{
    "errorLimit":{
      "record":"0"
    },
    "speed":{
      "concurrent":1
    }
  },
  "order":{
    "hops":[
      {
        "from":"Reader",
        "to":"Writer"
      }
    ]
  }
}

案例3:使用BULK API2.0查詢Salesforce Object

{
  "type":"job",
  "version":"2.0",
  "steps":[
    {
      "stepType":"salesforce",
      "parameter":{
        "datasource":"",
        "serviceType": "bulk2",
        "table": "Account",
        "beginDateTime": "20230817184200",
        "endDateTime": "20231017184200",
        "where": "",
        "blockCompoundColumn":true,
        "bulkQueryJobTimeoutSeconds":86400,
        "column": [
          {
            "type": "STRING",
            "name": "Id"
          },
          {
            "type": "STRING",
            "name": "Name"
          },
          {
            "type": "BOOL",
            "name": "IsDeleted"
          },
          {
            "type": "DATE",
            "name": "CreatedDate"
          }
        ]
      },
      "name":"Reader",
      "category":"reader"
    },
    {
      "stepType":"stream",
      "parameter":{},
      "name":"Writer",
      "category":"writer"
    }
  ],
  "setting":{
    "errorLimit":{
      "record":"0"
    },
    "speed":{
      "throttle":true,
      "concurrent":1,
      "mbps":"12"
    }
  },
  "order":{
    "hops":[
      {
        "from":"Reader",
        "to":"Writer"
      }
    ]
  }
}

案例4:使用SOQL查詢語句

{
  "type":"job",
  "version":"2.0",
  "steps":[
    {
      "stepType":"salesforce",
      "parameter":{
        "datasource":"",
        "serviceType": "query",
        "query": "select Id, Name, IsDeleted, CreatedDate from Account where Name!='Aliyun' ",
        "column": [
          {
            "type": "STRING",
            "name": "Id"
          },
          {
            "type": "STRING",
            "name": "Name"
          },
          {
            "type": "BOOL",
            "name": "IsDeleted"
          },
          {
            "type": "DATE",
            "name": "CreatedDate"
          }
        ]
      },
      "name":"Reader",
      "category":"reader"
    },
    {
      "stepType":"stream",
      "parameter":{},
      "name":"Writer",
      "category":"writer"
    }
  ],
  "setting":{
    "errorLimit":{
      "record":"0"
    },
    "speed":{
      "throttle":true,
      "concurrent":1,
      "mbps":"12"
    }
  },
  "order":{
    "hops":[
      {
        "from":"Reader",
        "to":"Writer"
      }
    ]
  }
}

Reader腳本參數

參數

是否必選

描述

默認值

datasource

數據源名稱,腳本模式支持添加數據源,此配置項填寫的內容必須與添加的數據源名稱保持一致。

serviceType

同步方式,支持以下配置項:

  • sobject:查詢Salesforce Object。

  • query:通過SOQL查詢語句查詢數據。

  • bulk1:使用Salesforce Bulk API 1.0查詢Salesforce Object。

  • bulk2:使用Salesforce Bulk API 2.0查詢Salesforce Object。

    重要
    • bulk1、bulk2模式不支持address、geolocation等組合字段類型。

    • bulk2模式不支持分布式任務。

    • 在某些情況下,bulk1的性能表現會比bulk2更好,您可以根據自己的Salesforce Object測試性能并選擇。

sobject

table

Salesforce Object,和表名類似,例如Account、Case、Group。當serviceType配置為sobject、bulk1或bulk2時必填。

beginDateTime

  • 數據消費的開始、結束時間位點。當serviceType配置為sobject、bulk1或bulk2時使用。

  • 使用Salesforce Object的最后修改時間過濾數據,最后修改時間字段會按照以下優先級自動尋找:SystemModstamp>LastModifiedDate>CreatedDate。

  • 遵循左閉右開原則。

  • yyyymmddhhmmss格式的時間字符串,您可以配合調度參數,實現增量抽取數據的效果。

endDateTime

splitPk

  • 切分鍵。當serviceType配置為sobject時使用。

  • Salesforce Reader進行數據抽取時,如果指定splitPk,表示您希望使用splitPk代表的字段進行數據分片,數據同步因此會啟動并發任務進行數據同步,提高數據同步的效能。

  • splitPk支持datetime、int、long字段,不符合這3個數據類型時,任務報錯。

blockCompoundColumn

組合數據類型行為。當serviceType配置為bulk1或bulk2時使用。取值:

  • true:表示存在組合數據類型時,任務失敗,您需要去掉組合數據類型的列映射后重新運行。

  • false:表示將組合數據類型作為NULL值讀取。

true

bulkQueryJobTimeoutSeconds

  • 批量數據準備超時,單位:秒。當serviceType配置為bulk1或bulk2時使用。

  • 在開始讀取數據之前,Salesforce服務端需要先運行準備批量數據的任務,如果該任務運行時間超過本配置,則視為準備數據超時,任務失敗。

86400

batchSize

  • 單批下載條數。當serviceType配置為bulk1或bulk2時使用。

  • 本配置只需要比Salesforce批量數據準備任務自動分片的單批條數稍大即可獲得最高下載性能。

  • 數據下載是流式的,增大此配置項不會占用更多內存。

  • 高級模式,向導模式不支持此參數的配置。

300000

where

  • 篩選條件。當serviceType配置為sobject、bulk1或bulk2時使用。

  • 在實際業務場景中,可以進行數據篩選,例如Name != 'Aliyun'。

  • 如果不填寫where語句,數據同步均視作同步全量數據。

  • 不可以將where條件指定為limit 10,這不符合SOQL WHERE子句約束。

query

  • 查詢語句。當serviceType配置為query時使用。

  • 在部分業務場景中,where配置項不足以描述所篩選的條件,您可以通過該配置項來自定義篩選SQL。配置該項后,數據同步系統會忽略table、column、beginDateTime、endDateTime、where和splitPk配置項,直接使用該項配置的內容對數據進行篩選。例如:select Id, Name, IsDeleted from Account where Name!='Aliyun'

  • 高級模式,向導模式不支持此參數的配置。

queryAll

  • 查詢語句,包含已刪除的數據。當serviceType配置為sobject或query時使用。

  • 配置為true時查詢包含已刪除的記錄,IsDeleted字段可以用于區分記錄是否已刪除。

false

column

所配置的表中需要同步的列名集合,使用JSON的數組描述字段信息。

  • 支持列裁剪,可以挑選部分列進行導出。

  • 支持列換序,可以不按照表schema信息順序進行導出。

  • 支持常量配置,如下:

    [
      {
        "name": "Id",
        "type": "STRING"
      },
      {
        "name": "Name",
        "type": "STRING"
      },
      {
        "name": "'123'",
        "type": "LONG"
      },
      {
        "name": "'abc'",
        "type": "STRING"
      }
    ]
    說明
    • Id、Name為普通列名。

    • '123'為整型數字常量(注意需要加上一對單引號)。

    • 'abc'為字符串常量(注意需要加上一對單引號)。

  • column必須顯示指定同步的列集合,不允許為空。

connectTimeoutSeconds

  • 建立HTTP連接的超時時間,單位:秒,超過本配置項時,任務失敗。

  • 高級模式,向導模式不支持此參數的配置。

30

socketTimeoutSeconds

  • HTTP連接失去響應,單位:秒,前后報文傳輸間隔大于此配置項時,任務失敗。

  • 高級模式,向導模式不支持此參數的配置。

600

retryIntervalSeconds

  • 重試間隔,單位:秒。

  • 高級模式,向導模式不支持此參數的配置。

60

retryTimes

  • 重試次數。

  • 高級模式,向導模式不支持此參數的配置。

3