Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Created AWS Lambda node #10646

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

irynamatveieva
Copy link
Contributor

Pull Request description

Created AWS Lambda node.

General checklist

  • You have reviewed the guidelines document.
  • Labels that classify your pull request have been added.
  • The milestone is specified and corresponds to fix version.
  • Description references specific issue.
  • Description contains human-readable scope of changes.
  • Description contains brief notes about what needs to be added to the documentation.
  • No merge conflicts, commented blocks of code, code formatting issues.
  • Changes are backward compatible or upgrade script is provided.
  • Similar PR is opened for PE version to simplify merge. Crosslinks between PRs added. Required for internal contributors only.

Back-End feature checklist

  • Added corresponding unit and/or integration test(s). Provide written explanation in the PR description if you have failed to add tests.
  • If new dependency was added: the dependency tree is checked for conflicts.
  • If new service was added: the service is marked with corresponding @TbCoreComponent, @TbRuleEngineComponent, @TbTransportComponent, etc.
  • If new REST API was added: the RestClient.java was updated, issue for Python REST client is created.
  • If new yml property was added: make sure a description is added (above or near the property).

@ashvayka ashvayka added the Rule Engine Changes to Rule Engine label May 6, 2024
@ashvayka ashvayka added this to the 3.7.1 milestone May 6, 2024
Comment on lines 71 to 72
.withConnectionTimeout(10000)
.withRequestTimeout(5000))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These parameters should be configurable

AWSCredentials awsCredentials = new BasicAWSCredentials(this.config.getAccessKey(), this.config.getSecretKey());
try {
this.client = AWSLambdaAsyncClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(awsCredentials))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to ensure that support only this type of provider is enough for all use cases.

private String functionName;
private String invocationType;
private String qualifier;
private Map<String, String> inputKeys;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mapping or funcArgumentsMapping

Comment on lines 123 to 132
this.config.getInputKeys().forEach((funcKey, msgKey) -> {
String patternProcessedFuncKey = TbNodeUtils.processPattern(funcKey, msg);
String patternProcessedMsgValue;
try {
String patternProcessedMsgKey = TbNodeUtils.processPattern(msgKey, msg);
patternProcessedMsgValue = msgData.get(patternProcessedMsgKey).asText();
} catch (Exception e) {
patternProcessedMsgValue = msgKey;
}
mappings.put(patternProcessedFuncKey, patternProcessedMsgValue);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that it's better to replace the string msgKey with something like an argument in the MathNode. Let's start with Message, Metadata. Constant.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Rule Engine Changes to Rule Engine
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants