

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 寫入 Adobe Marketo Engage 實體
<a name="adobe-marketo-engage-writing-to-entities"></a>

**先決條件**
+ 您想要寫入的 Adobe Marketo 物件。您將需要物件名稱，例如 `leads` 或 `customobjects`。
+ Adobe Marketo 連接器支援三種寫入操作：
  + INSERT
  + UPSERT (更新插入)
  + UPDATE
+ 對於 `UPSERT`和 `UPDATE` 寫入操作，您必須提供 `ID_FIELD_NAMES` 選項，以指定記錄的 ID 欄位。使用 `leads` 實體時，使用 `email` 作為 `ID_FIELD_NAMES` 進行 `UPSERT` 操作，使用 `id` 進行 `UPDATE` 操作。對於 `customobjects` 實體，使用 `marketoGUID` 作為 `ID_FIELD_NAMES` 同時進行 `UPDATE` 和 `UPSERT` 操作。

**目的地支援的實體 (同步)**


| 實體名稱 | 將支援為目的地連接器 | 可以插入 | 可以更新 | 可以更新插入 | 
| --- | --- | --- | --- | --- | 
| leads | 是 | 是 (大量) | 是 (大量) | 是 (大量) | 
| customobjects | 是 | 是 (大量) | 是 (大量) | 是 (大量) | 

**範例**：

**INSERT 操作：**

```
marketo_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="marketo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "leads",
        "API_VERSION": "v1",
        "WRITE_OPERATION": "INSERT"
    }
```

**UPDATE 操作：**

```
marketo_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="marketo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "leads",
        "API_VERSION": "v1",
        "WRITE_OPERATION": "UPDATE",
        "ID_FIELD_NAMES": "id"
    }
```

**注意**  
對於 `leads` 和 `customobjects` 實體，Adobe Marketo 會提供端點來動態擷取中繼資料，以便從 Marketo API 回應中識別可寫入欄位。