---
schema_version: "1"
id: 5e92ea45b03e6db5d36f6caa4fb904ba1133161067006190f5ab463ec07c315a
title: Amazon S3 Output Connection
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/analytics/264-0-0/bi_integrate_connectors_output_amz_s3.md
canonical_url: https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_connectors_output_amz_s3.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: aa9b60c8e1b6acb89ae92eb537273b7fd6a501f5a684c3bee804565509eabc07
description: Create a remote connection using the Amazon S3 output connector to write .csv data from CRM Analytics to an Amazon S3 bucket when using Data Prep.
products:
  - CRM Analytics
  - Cross Cloud
release: "264"
---
# Amazon S3 Output Connection

Create a remote connection using the Amazon S3 output connector to write `.csv` data from CRM Analytics to an Amazon S3 bucket when using Data Prep.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-analytics-bi-264-0-0-production-enus/ec791473-f5b4-4f64-a656-9104f455d966/images/icon_note.png)

Note If you want to sync data from an Amazon S3 bucket to CRM Analytics, use an [Amazon S3 Connection](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_connectors_s3.htm&release=264.0.0&type=5 "Create a remote connection using the Amazon S3 connector to sync CSV data from an S3 bucket to CRM Analytics.") instead.

## How CRM Analytics Output Connectors with Output Nodes Work

With CRM Analytics connectors, you can write the outcome of a recipe to an external system for further analysis, business automation, and storage. After you configure an output connector to the data source and folder path using the steps in this guide, create a recipe using Data Prep. Add an Output node to the recipe and select to write to the output connection. Select the S3 connection you configured, and choose which S3 object will contain the output data. When the recipe runs, CRM Analytics writes data to the specified object in the folder path within the directory. For example, if you specified the folder path ...support/servicedata and chose the object APAC, we write to the folder `APAC` at the path ...support/servicedata/APAC. The folder contains these files:

- The output dataset .csv file, with the naming standard `folderpath`\_0.csv. In our example, the output is `APAC_0.csv`. For larger datasets, CRM Analytics automatically partitions the data into multiple .csv files with increasing numbers appended to the name. In our example, there could be a `APAC_1.csv`, a `APAC_2.csv`, and more until all data is written. This file doesn’t have a header row.
- The metadata file schema.json, with information on each column including the name, data type, and precision.
- The \_SUCCESS file, generated when the .csv is completely written.

When you run the recipe again, the files previously generated are deleted and the new version of the files are written.

## Enable and Add the Amazon S3 Output Connector

1. From Setup, in the Quick Find box, enter Analytics, select **Analytics**, and then **Settings**.
2. Select **Enable Amazon S3 output connection** and then save your changes.
3. In the Data Manager, click the **Connections** tab.
4. Click **New Connection**.
5. Click **Output**.
6. Click the connector’s icon and enter its settings, as described in the Connection Settings section.
7. Click **Save & Test**. Save & Test validates your settings by attempting to connect to the source. If the connection fails, CRM Analytics shows possible reasons.

All settings require a value, unless otherwise indicated.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d44678e173">Connection Setting</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d44678e176">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Connection Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e173 ">Connection Name</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e176 ">Required. Identifies the connection. Use a convention that lets you easily distinguish
              between different connections.</td>

          </tr>
          <tr class="">
            <td data-label="Connection Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e173 ">Developer Name</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e176 ">Required. The API name for the connection. The developer name can’t include spaces, and you
              can’t change it after you create the connection.</td>

          </tr>
          <tr class="">
            <td data-label="Connection Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e173 ">Description</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e176 ">Required. The description for the connection.</td>

          </tr>
          <tr class="">
            <td data-label="Connection Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e173 ">Authentication Type</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e176 ">
              <p>Required. The authentication type. Valid values include <code>Root</code> and <code>IAM</code>.
              </p>
              <p style="margin-bottom:0;">For standard authentication, use <code>Root</code>. For AWS Identity Access Management (IAM) authentication, use <code>IAM</code>.
                IAM authentication provides more granular access, setting up IAM users and roles in AWS. For more information on AWS IAM, see
                <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html" target="_blank">Getting Started with IAM</a> on AWS.
              </p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Connection Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e173 ">Secret Key</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e176 ">Required. Your Amazon secret access key.</td>

          </tr>
          <tr class="">
            <td data-label="Connection Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e173 ">Region Name</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e176 ">Required. The region of your S3 service. The default region is US East(N. Virginia). For the
              list of region names, see the <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html" target="_blank">AWS service endpoints</a> documentation.</td>

          </tr>
          <tr class="">
            <td data-label="Connection Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e173 ">Folder Path</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e176 ">Required. The path to the folder that you want to connect to. The path must start with the
              bucket name and can’t include the name of the subfolder whose data you want to
              sync.</td>

          </tr>
          <tr class="">
            <td data-label="Connection Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e173 ">Access Key</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e176 ">Required. Your Amazon S3 bucket access key ID.</td>

          </tr>
          <tr class="">
            <td data-label="Connection Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e173 ">AWS Role ARN</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44678e176 ">Required for IAM authentication. The ARN of the IAM role. You can find it on the IAM Role Setup in AWS.</td>

          </tr>
        </tbody>
      </table>

Keep these behaviors in mind when working with the Amazon S3 output connector.

- You can use an output connection more than once per recipe, but each output node must use a different object. Each output node can use up to the connector's per-run limit independently, but is still subject to the rolling 24 hour limit.
- Output connections are only available for recipes built with Data Prep.
- Each output connection only supports one folder path. To output to another folder path, create another output connection.
- When the prior run’s files are deleted in preparation for the current run, the earlier version of an output dataset is inaccessible. Set up a process to copy or use the output after each run, and use the \_SUCCESS file as an indication that the write is complete.
- Null values are output to AWS as `null-`\[token\], where the token is a string of characters. For example, `null-OrJLA4JEfCjToa4DDN` or `null-PaKIW3MEfCaQou9WXM`. To interpret the null values, you may need to implement post-processing using AWS CLI or on the target where data is consumed.

#### See Also

- [Output Node: Write Recipe Results to a Dataset or External System](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_recipe_output_results.htm&release=264.0.0&type=5 "In CRM Analytics, use Output nodes with Data Prep recipes to write recipe results to a target, such as a dataset, staged data, .csv, a Data 360 data lake object, or remote location like Amazon S3. A recipe can have more than one Output node. If the recipe writes to a dataset, you can change the API name and label of the dataset in the Output node. If an existing dataset uses the specified API name, the recipe overwrites the existing dataset when it runs.")