

# 写入 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` 实体时，对于 `UPSERT` 操作，需将 `email` 用作 `ID_FIELD_NAMES`；对于 `UPDATE` 操作，则用作 `id`。对于 `customobjects` 实体，无论是 `UPDATE` 还是 `UPSERT` 操作，均需将 `marketoGUID` 用作 `ID_FIELD_NAMES`。

**目的地（同步）支持的实体**


| 实体名称 | 是否支持作为目的地连接器 | 是否可以插入 | 是否可以更新 | 是否可以更新插入 | 
| --- | --- | --- | --- | --- | 
| 潜在客户 | 是 | 是（批量） | 是（批量） | 是（批量） | 
| 自定义对象 | 是 | 是（批量） | 是（批量） | 是（批量） | 

**示例：**

**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 响应中识别出可写入字段。