Salesforce からの読み取り - AWS Glue

Salesforce からの読み取り

前提条件

読み取る Salesforce sObject。AccountCase、または Opportunity などのオブジェクト名が必要です。

:

salesforce_read = glueContext.create_dynamic_frame.from_options( connection_type="salesforce", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "Account", "API_VERSION": "v60.0" }

パーティショニングクエリ

Spark で同時実行を使用する場合は、追加の Spark オプション PARTITION_FIELDLOWER_BOUNDUPPER_BOUND、および NUM_PARTITIONS を指定できます。これらのパラメータを使用すると、元のクエリは Spark タスクで同時に実行できるサブクエリの NUM_PARTITIONS の数に分割されます。

  • PARTITION_FIELD: クエリのパーティション化に使用するフィールドの名前。

  • LOWER_BOUND: 選択したパーティションフィールドの包括的な下限値。

    日付またはタイムスタンプフィールドについて、コネクタは Spark SQL クエリで使用される Spark タイムスタンプ形式を受け入れます。

    有効な値の例は次のとおりです。

    "TIMESTAMP \"1707256978123\"" "TIMESTAMP '2018-01-01 00:00:00.000 UTC'" "TIMESTAMP \"2018-01-01 00:00:00 Pacific/Tahiti\"" "TIMESTAMP \"2018-01-01 00:00:00\"" "TIMESTAMP \"-123456789\" Pacific/Tahiti" "TIMESTAMP \"1702600882\""
  • UPPER_BOUND: 選択したパーティションフィールドの排他的上限値。

  • NUM_PARTITIONS: パーティション数。

  • TRANSFER_MODE: SYNCASYNC の 2 つのモードをサポートしています。デフォルトは SYNC です。ASYNC に設定すると、Bulk API 2.0 クエリが処理に使用されます。

例:

salesforce_read = glueContext.create_dynamic_frame.from_options( connection_type="salesforce", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "Account", "API_VERSION": "v60.0", "PARTITION_FIELD": "SystemModstamp", "LOWER_BOUND": "TIMESTAMP '2021-01-01 00:00:00 Pacific/Tahiti'", "UPPER_BOUND": "TIMESTAMP '2023-01-10 00:00:00 Pacific/Tahiti'", "NUM_PARTITIONS": "10", "TRANSFER_MODE": "ASYNC" }