Feature: Support role-based authentication for AWS (#2470)

* Storage, DynamoDBChatMemory - Make AWS credentials optional to support role-based authentication

* Lint fix
This commit is contained in:
Daniel D'Abate
2024-05-30 00:40:01 +02:00
committed by GitHub
parent 48ac815f8e
commit 912c8f3d5b
2 changed files with 28 additions and 9 deletions
@@ -46,7 +46,8 @@ class DynamoDb_Memory implements INode {
label: 'Connect Credential',
name: 'credential',
type: 'credential',
credentialNames: ['dynamodbMemoryApi']
credentialNames: ['dynamodbMemoryApi'],
optional: true
}
this.inputs = [
{
@@ -102,14 +103,19 @@ const initializeDynamoDB = async (nodeData: INodeData, options: ICommonObject):
const accessKeyId = getCredentialParam('accessKey', credentialData, nodeData)
const secretAccessKey = getCredentialParam('secretAccessKey', credentialData, nodeData)
const config: DynamoDBClientConfig = {
region,
credentials: {
let credentials: DynamoDBClientConfig['credentials'] | undefined
if (accessKeyId && secretAccessKey) {
credentials = {
accessKeyId,
secretAccessKey
}
}
const config: DynamoDBClientConfig = {
region,
credentials
}
const client = new DynamoDBClient(config ?? {})
const dynamoDb = new DynamoDBChatMessageHistory({