Using Anypoint Studio to Configure Amazon S3 Connector 7.1 | MuleSoft Documentation
# Using Anypoint Studio to Configure Amazon S3 Connector 7.1
Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files.
To add and configure a connector in Studio:
  1. Create a Mule project.
  2. Add the connector to your Mule project.
  3. Configure a source for the connector’s flow.
  4. Add a connector operation to the flow.
  5. Configure a global element for the connector.
  6. Configure S3 storage.


When you run the connector, you can view the app log to check for problems in real time, as described in View the App Log.
If you are new to configuring connectors in Studio, see Using Anypoint Studio to Configure a Connector. If, after reading this topic, you need additional information about the connector fields, see the Amazon S3 Reference.
## Create a Mule Project
In Studio, create a new Mule project in which to add and configure the connector:
  1. In Studio, select **File > New > Mule Project**.
  2. Enter a name for your Mule project and click **Finish**.


## Add the Connector to Your Mule Project
Add Amazon S3 to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and to add the required dependencies to the project’s `pom.xml` file:
  1. In the **Mule Palette** view, click **(X) Search in Exchange**.
  2. In the **Add Dependencies to Project** window, type `amazon s3` in the search field.
  3. Click **Amazon S3** in **Available modules**.
  4. Click **Add**.
  5. Click **Finish**.


Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace.
## Configure a Source
A source initiates a flow when a specified condition is met. You can configure one of these sources to use with Amazon S3:
  * **On Deleted Object**
Initiates access to your app when an Amazon S3 object is deleted
  * **On New Object**
Initiates access to your app when an Amazon S3 object is created


For example, to configure an **On Deleted Object** source, follow these steps:
  1. In the **Mule Palette** view, select **Amazon S3 > On Deleted Object**.
  2. Drag **On Deleted Object** to the Studio canvas.
  3. On the **On Deleted Object** configuration screen, optionally change the value of the **Display Name** field.
  4. Specify values for the following fields:
     * **Bucket name** Name of the bucket containing the multipart upload to abort
     * **Notification queue name** Amazon SQS queue name used to notify users when a new object is created or deleted in an S3 bucket. If omitted, a default queue name with prefix `mule-s3-trigger-<event-type>-queue-<bucket-name>-folder-` is created and used. Where even-type is either `new` or `deleted`. Folder name specified in the `General` section of configuration on which event is triggered, will be used as the queue name. If any special character other than `a-z` , `A-Z` , `0-9` , `_` , `-` is used in folder name, then from default queue name these characters will be replaced by `_` . Also if length of the default queue name goes beyond `80 in size`, rest will be trimmed off. NOTE: As the default queue is created (if not specified) and the source uses SQS:Received to poll for the event notifications connector needs following SQS permissions: sqs:CreateQueue, sqs: GetQueueAttributes, sqs: SetQueueAttributes, sqs: GetQueueUrl, sqs: ReceiveMessage, sqs: DeleteMessage*
     * **Scheduling Strategy** Configures the scheduler that triggers the polling
  5. Click the plus sign (**+**) next to the **Connector configuration** field to configure a global element that can be used by all instances of the **On Deleted Object** source in the app.
  6. On the **General** tab, specify the connection information for the connector.
  7. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy.
  8. Click **Test Connection** to confirm that Mule can connect with the specified server.
  9. Click **OK**.


## Add a Connector Operation to the Flow
When you add a connector operation to your flow, you are specifying an action for that connector to perform.
To add an operation for Amazon S3, follow these steps:
  1. In the **Mule Palette** view, select **Amazon S3** and then select the desired operation.
  2. Drag the operation onto the Studio canvas to the right of the source.


## Configure a Global Element for the Connector
When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target Amazon S3 system. Amazon S3 supports basic and role authentication.
To configure the global element for Amazon S3 Connector, follow these steps:
  1. Select the operation in the Studio canvas.
  2. In the configuration screen for the operation, click the plus sign (**+**) next to the **Connector configuration** field to access the global element configuration fields.
  3. On the **General** tab, in **Connection** , select the Connection (S3) Connection Type method to configure.
You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, see Anypoint Connector Configuration.
  4. On the **Advanced** tab, optionally specify reconnection information, including a reconnection strategy.
  5. Click **Test Connection** to confirm that Mule can connect with the specified server.
  6. Click **OK**.
Validating a connection with **Test Connection** requires that you have permission in AWS IAM to the action `s3:ListAllMyBuckets`. If you don’t have this permission, the test fails. However, you can still use the connector and the operations to which you have access.
Access to operations on Amazon S3 is further controlled through policies. It is not always possible to validate your credentials before the exact operation for which you have access completes. This can vary based on the bucket name and other parameters. For example, the test connection can fail if your credentials have a restricted policy.


### Connection (S3) Connection Type
Enter the following information on the **General** tab of the **Global Element Properties** screen to configure the Connection (S3) connection type:
Field | User Action  
---|---  
Enter the configuration name.  
**Connection** |  Select `Connection`.  
**Access Key** |  Enter the access key provided by Amazon.  
**Secret Key** |  Enter the secret key provided by Amazon.  
## Example of Configuring S3-Compatible Storage
The MinIO Project is one example of Amazon S3 storage. If you configure this storage locally, set the S3 Compatible Storage URL to `http://127.0.0.1:9000`.
## View the App Log
To check for problems, you can view the app log as follows:
  * If you’re running the app from Anypoint Platform, the output is visible in the Anypoint Studio console window.
  * If you’re running the app using Mule from the command line, the app log is visible in your OS console.


Unless the log file path is customized in the app’s log file (`log4j2.xml`), you can also view the app log in the default location `MULE_HOME/logs/<app-name>.log`.
## Next Steps
After configuring Studio, see the Examples topic for more configuration ideas.
## See Also
  * Introduction to Anypoint Connectors
  * Using Anypoint Studio to Configure a Connector
  * Amazon S3 Connector Reference
  * MuleSoft Help Center