> ## Documentation Index
> Fetch the complete documentation index at: https://docs.adriel.com/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQs

> Common questions, expected behaviors, and troubleshooting for the Amazon S3 data source.

## Why did my Amazon S3 data source stop updating between refreshes?

It did not stop. Amazon S3 is a file-cache connector: widgets always read from a cached copy of the imported files, never live from the bucket. The cache re-lists and re-reads the matching files on a fixed schedule, and manual refresh is disabled for this connector. New or changed files in the bucket therefore become visible only at the next scheduled cycle, not the moment they land.

For the exact schedule, see [the Amazon S3 data reference](/data-sources/a-f/amazon-s3/data-reference#data-refresh-strategy). A refresh that fails part-way leaves the previous cached snapshot in place rather than clearing the dashboard.

## Why are rows from a file I deleted in the bucket still showing up?

Each cycle inserts new rows and updates existing ones, but it does not delete rows for files that are no longer in the bucket. Removing a file from S3 does not remove its already-cached rows on the next cycle, so the deleted file's data keeps appearing.

There are two ways to get a dataset that reflects only current files:

* **Enable Keep only recent files.** When this asset setting is on, only the single most-recently-modified file is imported, and it replaces the prior dataset on every cycle. This fits a rolling export where the newest file always supersedes the last one.
* **Recreate the data source.** When several files are combined into one dataset, create a fresh Amazon S3 data source pointed at the current bucket and prefix so the cache is rebuilt from only the files present now.

## Why do only some of my files or rows appear on the dashboard?

A file is imported only if it passes every discovery rule, and some file formats import only part of their contents.

<AccordionGroup>
  <Accordion title="The file extension doesn't match the configured type">
    Only keys ending in the data source's configured extension (`.csv`, `.xlsx`, or `.zip`) are kept. Objects with any other extension under the prefix are skipped.
  </Accordion>

  <Accordion title="An include or exclude filter is dropping the file">
    The **Include** (`fileNameToFilter`) and **Exclude** (`fileNameToOmit`) settings are comma-separated regular-expression patterns matched against the full S3 key. When an include list is set, a file is kept only if at least one pattern matches. A file is dropped if any exclude pattern matches, and exclude wins when both match the same key.
  </Accordion>

  <Accordion title="The bucket holds more than 30,000 matching objects">
    File discovery scans up to 30,000 objects under the prefix. Objects beyond that cap are silently ignored with no warning. Narrowing the directory prefix, or splitting the data across more than one prefix and data source, brings the missing files back into range.
  </Accordion>

  <Accordion title="Only part of an XLSX or ZIP file is imported">
    For an XLSX file, only the first non-null sheet is converted and imported; other sheets are ignored. For a Zipped CSV, only the first `.csv` entry in the archive is imported, and an archive with no `.csv` entry fails with `CSV file not found in zip archive`. Splitting additional sheets or archived files into separate objects makes them available.
  </Accordion>

  <Accordion title="The file is treated as empty">
    A CSV object whose S3 metadata reports `rows-count: 0` is treated as empty and skipped without error. This check applies to CSV files only.
  </Accordion>
</AccordionGroup>

## Why is my numeric column showing up as text instead of a metric?

Column types are inferred at ingestion by sampling the file's values, and one rule overrides the sampled result: a column whose name is exactly `id`, ends in `_id`, contains `_id_`, ends in ` id`, or is `id` followed by digits is always imported as a text field, even when every value is numeric. This keeps identifiers behaving as breakdowns rather than being summed as metrics.

Types cannot be set manually. When an identifier-style column needs to be treated as a number, renaming the column in the source file so its name is not ID-like lets the sampled numeric type stand. See the [field type mapping](/data-sources/a-f/amazon-s3/data-reference#field-type-mapping) for the full type table.

## Why does a refresh fail after I add a new file to the bucket?

All matching files under the prefix are combined into one cache table, so they must share the same columns, in the same order, with compatible types. A file whose header does not match the established schema fails that refresh cycle and surfaces as `INVALID_CSV_MISMATCHED_COLUMN_COUNT` or `INVALID_CSV_WRONG_COLUMNS`.

Aligning the new file's columns with the existing files resolves it. A differently-shaped dataset belongs in its own data source pointed at a separate prefix, where it can be combined on the dashboard through Blend Data settings.

## Why doesn't the dashboard date range filter my S3 data?

The connector adds no date axis of its own. Date-range filtering works only when a column from the file is mapped as the date field in **Blend Data settings**. Without a mapped date column, every row is treated as a single snapshot set and the dashboard date range has no effect on the data.

Mapping a date-bearing column as the date field enables date-range filtering against that column's values. If a genuine import error persists after the file, filters, and permissions have been checked, email `support@adriel.com` with the bucket name, directory prefix, and the affected dashboard URL.

## Related

<CardGroup cols={2}>
  <Card title="Amazon S3 data reference" href="/data-sources/a-f/amazon-s3/data-reference">
    Import model, field type mapping, refresh cadence, and limits.
  </Card>

  <Card title="How to connect Amazon S3" href="/data-sources/a-f/amazon-s3/how-to-connect">
    Bucket, prefix, region, and IAM permissions for the connection.
  </Card>

  <Card title="File from SFTP data reference" href="/data-sources/a-f/file-from-sftp/data-reference">
    Alternative file-import source for scheduled SFTP deliveries.
  </Card>

  <Card title="Custom URL Import data reference" href="/data-sources/a-f/custom-url-import/data-reference">
    File-import source for HTTPS-hosted exports.
  </Card>
</CardGroup>
