本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從 ServiceNow 實體讀取
必要條件
您要讀取的 ServiceNow 資料表物件。您需要物件名稱,例如 pa_bucket 或 事件。
範例:
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 提供端點以動態方式擷取中繼資料,以便在每個實體的資料類型層級擷取運算子支援。
實體 | 資料類型 | 支援的運算子 |
---|---|---|
資料表 (動態實體) | Integer | =, !=, <, <=, >, >=, BETWEEN |
BigDecimal | =, !=, <, <=, >, >=, BETWEEN | |
Float | =, !=, <, <=, >, >=, BETWEEN | |
Long | =, !=, <, <=, >, >=, BETWEEN | |
日期 | =, !=, <, <=, >, >=, BETWEEN | |
DateTime | =, !=, <, <=, >, >=, BETWEEN | |
Boolean | =, != | |
字串 | =, !=, <, <=, >, >=, BETWEEN, LIKE | |
Struct | N/A |
注意
在連接器的回應中,Struct 資料類型會轉換為字串資料類型。
注意
DML_STATUS
是用於追蹤 CREATED/UPDATED 記錄的額外使用者定義屬性。
分割查詢
欄位基礎分割:
如果您想要在 Spark 中使用NUM_PARTITIONS
並行PARTITION_FIELD
,您可以提供額外的 Spark LOWER_BOUND
選項 UPPER_BOUND
、、 和 。透過這些參數,原始查詢會分割為 Spark 任務可同時執行的子查詢NUM_PARTITIONS
數目。
實體名稱 | 分割欄位 | 資料類型 |
---|---|---|
動態實體 | sys_mod_count | Integer |
sys_created_on、sys_updated_on | DateTime |
PARTITION_FIELD
:用於分割查詢的欄位名稱。LOWER_BOUND
:所選分割區欄位的包含下限值。對於 Datetime 欄位,我們接受SParkSQL查詢中使用的 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" }
以記錄為基礎的分割:
NUM_PARTITIONS
如果您想要在 Spark 中使用並行,您可以提供額外的 Spark 選項。使用此參數,原始查詢會分割為 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" }