ServiceNow エンティティからの読み取り
前提条件
読み取り元の ServiceNow Tables オブジェクト。pa_bucket や Incident などのオブジェクト名が必要になります。
例:
servicenow_read = glueContext.create_dynamic_frame.from_options( connection_type="servicenow", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "pa_buckets", "API_VERSION": "v2" "instanceUrl": "https://<instance-name>.service-now.com" } )
ServiceNow エンティティとフィールドの詳細:
次のエンティティについて、ServiceNow はメタデータを動的に取得するためのエンドポイントを備えているため、オペレータのサポートは各エンティティのデータ型レベルでキャプチャされます。
エンティティ | データ型 | サポートされている演算子 |
---|---|---|
表 (動的エンティティ) | 整数 | =, !=, <, <=, >, >=, BETWEEN |
BigDecimal | =, !=, <, <=, >, >=, BETWEEN | |
浮動小数点数 | =, !=, <, <=, >, >=, BETWEEN | |
Long | =, !=, <, <=, >, >=, BETWEEN | |
日付 | =, !=, <, <=, >, >=, BETWEEN | |
DateTime | =, !=, <, <=, >, >=, BETWEEN | |
ブール値 | =, != | |
文字列 | =、!=、<、<=、>、>=、BETWEEN、LIKE | |
Struct | 該当なし |
注記
構造体データ型は、コネクタの応答で文字列データ型に変換されます。
注記
DML_STATUS
は、CREATED/UPDATED レコードの追跡に使用される追加のユーザー定義属性です。
パーティショニングクエリ
フィールドベースのパーティショニング:
Spark で同時実行を使用する場合は、追加の Spark オプション PARTITION_FIELD
、LOWER_BOUND
、UPPER_BOUND
、および NUM_PARTITIONS
を指定できます。これらのパラメータを使用すると、元のクエリは Spark タスクで同時に実行できるサブクエリの NUM_PARTITIONS
の数に分割されます。
エンティティ名 | パーティション分割フィールド | データ型 |
---|---|---|
動的エンティティ | sys_mod_count | 整数 |
sys_created_on、sys_updated_on | DateTime |
PARTITION_FIELD
: クエリのパーティション化に使用するフィールドの名前。LOWER_BOUND
: 選択したパーティションフィールドの包括的な下限値。Datetime フィールドでは、SPark SQL クエリで使用される Spark タイムスタンプ形式を受け入れます。
有効な値の例は次のとおりです:
"2024-01-30T06:47:51.000Z"
UPPER_BOUND
: 選択したパーティションフィールドの排他的上限値。NUM_PARTITIONS
: パーティション数。
次の表に、エンティティパーティション分割フィールドのサポートの詳細を示します:
例:
servicenow_read = glueContext.create_dynamic_frame.from_options( connection_type="servicenow", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "pa_buckets", "API_VERSION": "v2", "instanceUrl": "https://<instance-name>.service-now.com" "PARTITION_FIELD": "sys_created_on" "LOWER_BOUND": "2024-01-30T06:47:51.000Z" "UPPER_BOUND": "2024-06-30T06:47:51.000Z" "NUM_PARTITIONS": "10" }
レコードベースのパーティション分割:
Spark で並行処理を使用する場合は、追加の Spark オプション NUM_PARTITIONS
を指定できます。これらのパラメータを使用すると、元のクエリは Spark タスクで同時に実行できるサブクエリの NUM_PARTITIONS
数に分割されます。
レコードベースのパーティショニングでは、存在するレコードの合計数が ServiceNow API からクエリされ、指定された NUM_PARTITIONS
数で割られます。その後、結果のレコード数は、各サブクエリによって同時に取得されます。
NUM_PARTITIONS
: パーティション数。
例:
servicenow_read = glueContext.create_dynamic_frame.from_options( connection_type="servicenow", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "pa_buckets", "API_VERSION": "v2", "instanceUrl": "https://<instance-name>.service-now.com" "NUM_PARTITIONS": "2" }