DynamoDBに 090--, 080-- のような電話番号が登録されております。
下記のコードでは電話番号の完全一致は実現可能ですが、「090」「080」のみの部分一致でもDynamoDBから電話番号を取得する場合、どのようなコードを追加すれば実現可能でしょうか?
AmazonConnectの「問い合わせ属性を確認するブロック」では、result が true かどうかを条件に分岐しています。
Lambdaのコードでは、true(Boolean) で返していますが、問い合わせフローに戻った時点ではstringとして処理されています。
「問い合わせ属性を確認するブロック」でresult が 「090」「080」の部分一致の場合でも分岐させたいです。
部分一致では「in」を追記すれば良さそうなのですが、下記コードを追記しただけでは処理してくれませんでした。
「in」の追記以外にも何か追記するのでしょうか?
const AWS = require("aws-sdk");
const DynamoDB = new AWS.DynamoDB.DocumentClient({ region: "ap-southeast-2" });
const tableName = 'PhoneNumberTable';
exports.handler = async (event) => {
// 発信者番号
const phone = event.Details.ContactData.CustomerEndpoint.Address;
// DynamoDBの一覧取得
const db = await DynamoDB.scan({TableName: tableName}).promise();
// 発信者番号が一覧に存在するかどうかの確認
const result = db.Items.some( item => {
return (item.PhoneNumber == phone);
return (item.PhoneNumber in phone);
});
return { result : result };
};
あなたの回答
tips
プレビュー