

# Adobe Marketo Engage 개체에 쓰기
<a name="adobe-marketo-engage-writing-to-entities"></a>

**사전 조건 **
+ 쓰기 대상 Adobe Marketo 객체입니다. 객체 이름(예: `leads` 또는 `customobjects`)이 필요합니다.
+ Adobe Marketo 커넥터는 세 가지 쓰기 작업을 지원합니다.
  + INSERT
  + UPSERT
  + UPDATE
+ `UPSERT` 및 `UPDATE` 쓰기 작업의 경우 레코드의 ID 필드를 지정하는 `ID_FIELD_NAMES` 옵션을 제공해야 합니다. `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 응답에서 쓰기 가능한 필드를 식별할 수 있습니다.