

# Gravação no Salesforce
<a name="salesforce-writing-to"></a>

**Pré-requisitos**

Um sObject do Salesforce no qual você deseja escrever. Você precisará do nome do objeto, como `Account`, `Case` ou `Opportunity`.

O conector do Salesforce é compatível com quatro operações de gravação:
+ INSERT
+ UPSERT
+ UPDATE
+ DELETE

Ao usar a operação de gravação `UPSERT`, a opção `ID_FIELD_NAMES` deverá ser fornecida para especificar o campo de ID externo para os registros.

 Você também pode adicionar opções de conexão: 
+  `TRANSFER_MODE`: aceita dois modos: `SYNC` e `ASYNC`. O padrão é `SYNC`. Quando definido como `ASYNC`, o Bulk API 2.0 Ingest será usado para processamento. 
+  `FAIL_ON_FIRST_ERROR`: o valor padrão é `FALSE`, o que significa que o trabalho AWS Glue continuará processando todos os dados, mesmo que haja alguns registros de gravação com falha. Quando definido como `TRUE`, o trabalho AWS Glue falhará se houver algum registro de gravação com falha e não continuará o processamento. 

**Exemplo**

```
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"
    }
)
```