串流擷取疑難排解指南

本檔案提供在Adobe Experience Platform上串流擷取相關常見問題的解答。 有關其他Platform服務(包括所有Platform API中遇到的服務)的問題和疑難排解,請參閱Experience Platform疑難排解指南

Adobe Experience Platform Data Ingestion提供您可用來將資料擷取到Experience Platform的RESTful API。 內嵌的資料會用於近乎即時更新個別客戶設定檔,讓您跨多個管道提供個人化的相關體驗。 請閱讀資料擷取概觀,以取得有關服務和不同擷取方法的詳細資訊。 如需如何使用串流擷取API的步驟,請閱讀串流擷取總覽

常見問題集

以下是有關串流擷取的常見問題解答清單。

我如何知道我正在傳送的裝載格式正確?

Data Ingestion利用Experience Data Model (XDM)結構描述來驗證傳入資料的格式。 傳送不符合預先定義XDM結構描述的資料將會導致擷取失敗。 如需XDM及其在Experience Platform中的使用的詳細資訊,請參閱XDM系統總覽

串流擷取支援兩種驗證模式:同步和非同步。 每個驗證方法處理失敗資料的方式都不同。

在您的開發過程中應該使用同步驗證。 未通過驗證的記錄會被捨棄,並傳回失敗原因的錯誤訊息(例如:「無效的XDM訊息格式」)。

非同步驗證 ​應該用於生產環境。 任何未通過驗證的格式錯誤資料都會當作失敗的批次檔案傳送到Data Lake,以便稍後擷取進一步分析。

如需同步和非同步驗證的詳細資訊,請參閱串流驗證概觀。 如需如何檢視驗證失敗的批次的步驟,請參閱擷取失敗的批次的指南。

我可以先驗證要求裝載再傳送至Platform嗎?

要求裝載只有在傳送至Platform後,才能進行評估。 執行同步驗證時,有效裝載會傳回填入的JSON物件,而無效裝載會傳回錯誤訊息。 在非同步驗證期間,服務會偵測任何格式錯誤的資料,並將其傳送至Data Lake,以便稍後擷取該資料進行分析。 如需詳細資訊,請參閱串流驗證概觀

在不支援同步驗證的邊緣上請求同步驗證時,會發生什麼情況?

當要求的位置不支援同步驗證時,會傳回501錯誤回應。 如需同步驗證的詳細資訊,請參閱串流驗證概觀

如何確保僅從受信任的來源收集資料?

Experience Platform支援安全資料收集。 啟用已驗證的資料收集時,使用者端必須傳送JSON Web權杖(JWT)及其組織ID作為要求標題。 如需有關如何將已驗證的資料傳送至Platform的詳細資訊,請參閱已驗證的資料彙集的指南。

將資料串流至Real-Time Customer Profile的延遲為何?

串流事件通常會在60秒內反映在Real-Time Customer Profile中。 實際延遲可能會因資料量、訊息大小和頻寬限制而異。

我可以在同一API請求中包含多則訊息嗎?

您可以在單一要求裝載中將多個訊息分組,並將它們串流至Platform。 若正確使用,在單一請求中將多個訊息分組,是最佳化資料作業的絕佳方式。 如需詳細資訊,請閱讀有關在要求中傳送多封郵件的教學課程。

如何知道是否收到我傳送的資料?

傳送到Platform的所有資料(無論成功與否)都會先儲存為批次檔案,再保留在資料集中。 批次的處理狀態會顯示在它們被傳送到的資料集中。

您可以使用Experience Platform使用者介面檢查資料集活動,以確認是否已成功擷取資料。 按一下左側導覽中的​ 資料集 ​以顯示資料集清單。 從顯示的清單中選取您要串流至的資料集,以開啟其​ 資料集活動 ​頁面,其中顯示所選時段內傳送的所有批次。 如需有關使用Experience Platform監視資料串流的詳細資訊,請參閱監視串流資料流的指南。

如果您的資料擷取失敗,而您想要從Platform復原該資料,您可以將失敗批次的ID傳送至Data Access API以擷取它們。 如需詳細資訊,請參閱擷取失敗的批次的指南。

為什麼我的串流資料無法在資料湖中使用?

批次擷取可能無法達到Data Lake的原因有很多,例如格式無效、資料遺失或系統錯誤。 若要判斷批次失敗的原因,您必須使用Data Ingestion Service API擷取批次並檢視其詳細資料。 如需擷取失敗批次的詳細步驟,請參閱擷取失敗批次的指南。

如何剖析針對API請求傳回的回應?

您可以先檢查伺服器回應代碼,判斷是否已接受您的要求,以剖析回應。 如果傳回成功的回應代碼,您可以檢閱responses陣列物件以判斷擷取任務的狀態。

成功的單一訊息API要求會傳回狀態碼200。 成功(或部分成功)的批次訊息API請求傳回狀態碼207。

以下JSON是API要求的回應物件範例,其中含有兩條訊息:一條成功一條失敗。 成功串流的訊息傳回xactionId屬性。 無法串流的訊息傳回statusCode屬性以及包含更多資訊的回應message

{
    "inletId": "9b0cb233972f3b0092992284c7353f5eead496218e8441a79b25e9421ea127f5",
    "batchId": "1565638336649:1750:244",
    "receivedTimeMs": 1565638336705,
    "responses": [
        {
            "xactionId": "1565650704337:2124:92:3"
        },
        {
            "statusCode": 400,
            "message": "inletId: [9b0cb233972f3b0092992284c7353f5eead496218e8441a
                79b25e9421ea127f5]
                imsOrgId: [{ORG_ID}]
                Message has unknown xdm format"
        }
    ]
}

為什麼Real-Time Customer Profile未接收我的已傳送訊息?

如果Real-Time Customer Profile拒絕訊息,很可能是因為不正確的身分資訊。 這可能是由於為身分提供無效值或名稱空間所導致。

有兩種型別的身分識別名稱空間:預設和自訂。 使用自訂名稱空間時,請確定名稱空間已在Identity Service內註冊。 如需使用預設和自訂名稱空間的詳細資訊,請參閱身分名稱空間概觀

您可以使用Experience Platform UI檢視訊息擷取失敗原因的詳細資訊。 按一下左側導覽中的​ 監視,然後檢視​ 串流端對端 ​標籤,以檢視在選取的時段內串流處理的訊息批次。

recommendation-more-help
2ee14710-6ba4-4feb-9f79-0aad73102a9a