AWS DynamoDB Not Listing All Tables in AWS Account

Hi,

I am trying to use the AWS DynamoDB integration for getting data from a table. The issue I’m having is that when I’ve set up the credentials using a session token, the GUI doesn’t list all the tables in the account for me to select, and when I manually insert the table name, I get an error.

From the list of AWS DynamoDBs present to select in the GUI, I suspect it’s lmiting the results returned alphabetically as our naming convention is [environment]-function-[connected-lambda-function-name].

So my questions are these:

Is there a way for the GUI to not limit the results returned?
Or is there a way to manually set the table name to get around the error?

I have double checked the access policies and the DynamoDB I’m trying to access has the same rules in place as the ones returned in the GUI.

Any pointers would be greatly appreciated :slight_smile:

Information on my n8n setup:

  • n8n version: 1.38.1
  • Running n8n via Docker
  • MacOS Running Sonoma 14.4.1 (Intel Architecture)

Thanks in advance!

It looks like your topic is missing some important information. Could you provide the following if applicable.

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

hello @SDETAdamH

What is the error message?

Hi @barn4k,

Thanks for the reply!

There’s no error message specifically, it’s just that the DynamoDB is not available to select from the drop-down in the node:

In the image above I’ve been able to select the production DynamoDB, but I am unable to select the staging table due to the list of available Dynamo tables being limited. The name of the staging Dynamo table is staging-function-sw-exports-receiver. My suspicion is when n8n queries the available tables, it limits the query, but unfortunately the GUI won’t let me set the specific table name.

Have you experienced similar behaviour to this?

Many thanks,
Adam

As I see in the code, it doesn’t use any filters, it just performs a POST request to the dynamoDb endpoint. According to the docs it will return

The names of the tables associated with the current account at the current endpoint

The issue may be only if you have more than 100 tables in the DB as the request return only the first 100 tables (there is no paging configured for that). Or if your desired table is located in another region.

@barn4k Thanks for such a prompt response on this, and thanks for the handy link!

Look like I’ll have to get around this with a bespoke IAM policy in AWS so I can trim down the list of DynamoDBs returned to the ones I need to use.

I’m fairly new to n8n so apologies if this was a bit of a noob question :smiley:

Thanks again,
Adam