# AWS S3

## <mark style="background-color:blue;">Apica Ascent S3 Import App Extension (PULL)</mark>

Apica Ascent can ingest data directly from any S3 compatible object storage. Head over to the App extensions to create an object importer app extension.

You can find App extensions under the Explore menu

Once inside the App extension menu, select AWS S3/Compatible Object store

<figure><img src="/files/biH35qGCmjhsErluMwCp" alt=""><figcaption><p>AWS S3/Compatible object store</p></figcaption></figure>

Create the extension and provide the settings for accessing your object store bucket. The settings menu provides options that allow customization that is specific to vendor object store implementations.

<figure><img src="/files/7Jpb9oCO8YP0e4pzbViK" alt=""><figcaption><p>Configuring access to the bucket</p></figcaption></figure>

And that is all you need. You data from the Object store bucket will show up as a flow in the Apica Ascent platform

<figure><img src="/files/lYhzf10nM8GVUQtl0SK3" alt=""><figcaption><p>Viewing the object store data import in "Explore" as a Flow</p></figcaption></figure>

## <mark style="background-color:blue;">Apica Ascent S3 exporter Lambda function (PUSH)</mark>

![](/files/B5jUWnvCuTiAPd20PMfa)

### Creating a Lambda function

Apica Ascent provides a CloudFormation template to create the Apica Ascent S3 exporter Lambda function.

```
https://logiqcf.s3.amazonaws.com/s3-exporter/cf.yaml
```

{% hint style="info" %}
You can also download the CloudFormation template from our [client-integrations](https://github.com/ApicaSystem/client-integrations/tree/master/cloudwatch-exporter) GitHub repository.
{% endhint %}

This CloudFormation stack creates a Lambda function and its necessary permissions. You must configure the following attributes.

| Parameter     | Description                                                                                                                                               |
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `APPNAME`     | Application name - a readable name for Apica Ascent to partition logs.                                                                                    |
| `CLUSTERID`   | Cluster ID - a readable name for Apica Ascent to partition logs.                                                                                          |
| `NAMESPACE`   | Namespace - a readable name for Apica Ascent to partition logs.                                                                                           |
| `LOGIQHOST`   | IP address or hostname of the Apica Ascent server.                                                                                                        |
| `INGESTTOKEN` | JWT token to securely ingest logs. Refer [here](/integrations/overview/generating-a-secure-ingest-token.md#generating-using-ui) to generate ingest token. |

## Configuring S3 trigger

Once the CloudFormation stack is created, navigate to the AWS Lambda function (`logiq-s3-logs-exporter`) and add a S3 trigger.

![](/files/EofkQFumCyu0qMpuyC3p)

On the **Add trigger** page, select **S3**. Next, select the **Bucket** you'd like to forward logs from and add a **Prefix**.

![](/files/aEikpmOalMOaQPwNGiGy)

Once this configuration is complete, any new log files in the S3 bucket will be streamed to the Apica Ascent cluster.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.apica.io/integrations/list-of-integrations/aws/aws-s3.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
