DynamoDB scan with umlaut in ExpressionAttributeValues is returning no results

0

I run some scan request on a dynamoDB table to find User based on their first and/or last names, which can contain umlaut characters like öäü. My JSON request looks like

{"TableName":"user-table-name","FilterExpression":"contains(#firstName, :firstName) and contains(#lastName, :lastName)","ExpressionAttributeNames":{"#firstName":"firstName","#lastName":"lastName"},"ExpressionAttributeValues":{":firstName":"ÖÄÜ",":lastName":"öäü"}}

But I am getting no results for this query, although the entry exists in the table and I am able to scan/query it on the AWS Console. Anyone know why this happens? Does DynamoDB not support characters like umlaut?

This works in ExpressionAttributeValues ...

":firstName": `ÄÖÜ`,
":lastName": `äöü`,

But this does not ..

":firstName": `${params.firstName}`,
":lastName": `${params.lastName}`,

I am using the javascript aws-sdk

      if (params.firstName && params.lastName) {
        dynamodbParams.FilterExpression = "contains(#firstName, :firstName) and contains(#lastName, :lastName)";
        dynamodbParams.ExpressionAttributeNames = {
          "#firstName": "firstName",
          "#lastName": "lastName",
        };
        dynamodbParams.ExpressionAttributeValues = {
          ":firstName": `${params.firstName}`,
          ":lastName": `${params.lastName}`,
          // ":firstName": `ÄÖÜ`,
          // ":lastName": `äöü`,
        };
      }

Any tips would be greatly appreciated...

asked 13 days ago56 views
No Answers

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions