區段匯出作業端點
匯出作業是用來將受眾區段成員保留至資料集的非同步程式。 您可以使用Adobe Experience Platform Segmentation API中的/export/jobs端點,以程式設計方式擷取、建立和取消匯出作業。
快速入門
本指南中使用的端點是Adobe Experience Platform Segmentation Service API的一部分。 繼續之前,請檢閱快速入門手冊以取得您成功呼叫API所需瞭解的重要資訊,包括必要的標頭以及如何讀取範例API呼叫。
擷取匯出作業清單 retrieve-list
您可以對/export/jobs端點發出GET要求,以擷取組織的所有匯出工作清單。
API格式
/export/jobs端點支援數個查詢引數,以協助篩選結果。 雖然這些引數是選用的,但強烈建議使用這些引數來協助減少昂貴的額外負荷。 在不使用引數的情況下呼叫此端點將會擷取您的組織可用的所有匯出作業。 可以包含多個引數,以&符號(&)分隔。
GET /export/jobs
GET /export/jobs?{QUERY_PARAMETERS}
            查詢引數
| table 0-row-3 1-row-3 2-row-3 3-row-3 | ||
|---|---|---|
| 參數 | 說明 | 範例 | 
limit | 
                    指定傳回的匯出工作數目。 | limit=10 | 
                  
offset | 
                    指定結果頁面的位移。 | offset=1540974701302_96 | 
                  
status | 
                    根據狀態篩選結果。 支援的值為「NEW」、「SUCCEEDED」和「FAILED」。 | status=NEW | 
                  
要求
下列請求將會擷取組織內最後兩個匯出工作。
| code language-shell | 
|---|
                      
                     | 
                  
回應
下列回應會根據請求路徑中提供的查詢引數,傳回HTTP狀態200,其中包含已成功完成的匯出作業清單。
| code language-json | 
|---|
                      
                     | 
                  
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 | |
|---|---|
| 屬性 | 說明 | 
destination | 
                    
                       已匯出資料的目的地資訊: 
  | 
                  
fields | 
                    匯出的欄位清單,以逗號分隔。 | 
schema.name | 
                    與要匯出資料的資料集相關聯的結構描述名稱。 | 
filter.segments | 
                    
                       匯出的區段。 包括下列欄位: 
  | 
                  
mergePolicy | 
                    合併已匯出資料的原則資訊。 | 
metrics.totalTime | 
                    表示執行匯出作業所花費總時間的欄位。 | 
metrics.profileExportTime | 
                    表示設定檔匯出所需時間的欄位。 | 
page | 
                    請求之匯出作業分頁的相關資訊。 | 
link.next | 
                    匯出作業下一頁的連結。 | 
建立新的匯出工作 create
您可以對/export/jobs端點發出POST要求,以建立新的匯出作業。
API格式
POST /export/jobs
            要求
以下請求會建立新的匯出作業,並依據承載中提供的引數加以設定。
| code language-shell | 
|---|
                      
                     | 
                  
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 | |
|---|---|
| 屬性 | 說明 | 
fields | 
                    匯出的欄位清單,以逗號分隔。 如果保留為空白,則會匯出所有欄位。 | 
mergePolicy | 
                    指定合併原則以控管匯出的資料。 匯出多個區段時包含此引數。 如果未提供,匯出將會採用與指定區段相同的合併原則。 | 
filter | 
                    此物件會根據下列子屬性來指定要依據ID、資格時間或擷取時間包含在匯出作業中的區段。 如果保留為空白,將會匯出所有資料。 | 
filter.segments | 
                    
                       指定要匯出的區段。 省略此值將導致所有設定檔中的所有資料被匯出。 接受區段物件的陣列,每個物件包含下列欄位: 
  | 
                  
filter.segmentQualificationTime | 
                    根據區段資格時間進行篩選。 可提供開始時間及/或結束時間。 | 
filter.segmentQualificationTime.startTime | 
                    指定狀態的區段ID的區段資格開始時間。 若未提供,區段ID資格的開始時間將沒有篩選器。 時間戳記必須以RFC 3339格式提供。 | 
filter.segmentQualificationTime.endTime | 
                    指定狀態的區段ID的區段資格結束時間。 若未提供,區段ID資格的結束時間將沒有篩選器。 時間戳記必須以RFC 3339格式提供。 | 
filter.fromIngestTimestamp | 
                    
                       限制匯出的設定檔,以僅包含在此時間戳記之後更新的設定檔。 時間戳記必須以RFC 3339格式提供。 
  | 
                  
filter.emptyProfiles | 
                    布林值,指示是否篩選空白設定檔。 設定檔可包含設定檔記錄、ExperienceEvent記錄,或同時包含兩者。 沒有設定檔記錄且只有ExperienceEvent記錄的設定檔稱為「emptyProfiles」。 若要匯出設定檔存放區中的所有設定檔,包括「emptyProfiles」,請將emptyProfiles的值設定為true。 如果emptyProfiles設為false,則只會匯出存放區中具有設定檔記錄的設定檔。 根據預設,如果未包含emptyProfiles屬性,則只會匯出包含設定檔記錄的設定檔。 | 
                  
additionalFields.eventList | 
                    
                       提供下列一或多個設定,控制為子或關聯物件匯出的時間序列事件欄位: 
  | 
                  
destination | 
                    
                       (必要)有關匯出資料的資訊: 
  | 
                  
schema.name | 
                    (必要)與要匯出資料的資料集相關聯的結構描述名稱。 | 
evaluationInfo.segmentation | 
                    (選擇性)布林值,若未提供,預設值為false。 值為true表示需要對匯出作業執行分段。 | 
                  
回應
成功的回應會傳回HTTP狀態200以及您新建立的匯出工作的詳細資訊。
| code language-json | 
|---|
                      
                     | 
                  
| table 0-row-2 1-row-2 | |
|---|---|
| 屬性 | 說明 | 
id | 
                    系統產生的唯讀值,用於識別剛建立的匯出作業。 | 
或者,如果destination.segmentPerBatch已設定為true,則上述destination物件將具有batches陣列,如下所示:
| code language-json | 
|---|
                      
                     | 
                  
擷取特定匯出作業 get
您可以向/export/jobs端點發出GET請求,並在請求路徑中提供您要擷取之匯出作業的識別碼,藉此擷取特定匯出作業的詳細資訊。
API格式
GET /export/jobs/{EXPORT_JOB_ID}
            {EXPORT_JOB_ID}id。要求
| code language-shell | 
|---|
                      
                     | 
                  
回應
成功的回應會傳回HTTP狀態200,其中包含指定匯出工作的詳細資訊。
| code language-json | 
|---|
                      
                     | 
                  
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 | |
|---|---|
| 屬性 | 說明 | 
destination | 
                    
                       已匯出資料的目的地資訊: 
  | 
                  
fields | 
                    匯出的欄位清單,以逗號分隔。 | 
schema.name | 
                    與要匯出資料的資料集相關聯的結構描述名稱。 | 
filter.segments | 
                    
                       匯出的區段。 包括下列欄位: 
  | 
                  
mergePolicy | 
                    合併已匯出資料的原則資訊。 | 
metrics.totalTime | 
                    表示執行匯出作業所花費總時間的欄位。 | 
metrics.profileExportTime | 
                    表示設定檔匯出所需時間的欄位。 | 
totalExportedProfileCounter | 
                    跨所有批次匯出的設定檔總數。 | 
取消或刪除特定匯出工作 delete
您可以向/export/jobs端點發出DELETE請求,並在請求路徑中提供您要刪除之匯出作業的識別碼,以請求刪除指定的匯出作業。
API格式
DELETE /export/jobs/{EXPORT_JOB_ID}
            {EXPORT_JOB_ID}id。要求
| code language-shell | 
|---|
                      
                     | 
                  
回應
成功的回應會傳回HTTP狀態204,並出現以下訊息:
{
  "status": true,
  "message": "Export job has been marked for cancelling"
}
            後續步驟
閱讀本指南後,您現在已能更清楚瞭解匯出工作的運作方式。