

# Salesforce에 쓰기
<a name="salesforce-writing-to"></a>

**사전 조건**

쓰려는 Salesforce sObject입니다. `Account` `Case` 또는 `Opportunity`와 같은 객체 이름이 필요합니다.

Salesforce 커넥터는 네 가지 쓰기 작업을 지원합니다.
+ INSERT
+ UPSERT
+ UPDATE
+ DELETE

`UPSERT` 쓰기 작업을 사용하는 경우 레코드의 외부 ID 필드를 지정하려면 `ID_FIELD_NAMES` 옵션을 제공해야 합니다.

 연결 옵션을 추가할 수도 있습니다.
+  `TRANSFER_MODE`: `SYNC`와 `ASYNC`의 두 가지 모드를 지원합니다. 기본값은 `SYNC`입니다. `ASYNC`로 설정하면 Bulk API 2.0 Ingest가 처리에 활용됩니다.
+  `FAIL_ON_FIRST_ERROR`: 기본값은 `FALSE`로, 실패한 쓰기 레코드가 몇 개 있더라도 AWS Glue 작업이 모든 데이터 처리를 계속한다는 의미입니다. `TRUE`로 설정하면 실패한 쓰기 레코드가 있는 경우 AWS Glue 작업이 실패하고 처리를 계속하지 않습니다.

**예제**

```
salesforce_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="salesforce",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "Account",
        "API_VERSION": "v60.0",
        "WRITE_OPERATION": "INSERT",
        "TRANSFER_MODE": "ASYNC",
        "FAIL_ON_FIRST_ERROR": "true"
    }
)
```