Hi, I'm trying to use this component's Amazon_Titan_TextToText method (following the post on Medium), and I'm getting an error:
"Method not found: 'Void Amazon.Runtime.ClientConfig.set_ServiceId(System.String)'. "
In our env we also have installed Amazon S3 and it works fine (and was installed first) and Amazon Textract which throws the same error, which makes me belive this might be connected to different versions of SDK in those components.
Any ideas how to resolve this?
Thank you
Yes. You are right Jan. The error is related to different SDK versions and is also known as .NET dll hell.
When using custom code extensions in OutSystems you should take some actions.
First. Do not use any custom code extension directly in an OutSystems application (At least I dont do that).
In your case create wrapping modules, one for S3, one for Textract and one for Bedrock. That wrapping module should handle credentials and wrap all (or just the one you need) server actions from the integration as SERVICE actions. Using service actions in your application generates a weak dependency, meaning that the integration module (and custom code extension) do not get bundled with the target application, but instead stay separate. This prevents the mentioned dll hell.
I guess I should do an article for that as well .....
Stefan
This is great- the problem is fixed.
Turns out that my module had dependecies also to AWS_IAM_IS (module in AWS IAM forge component) and methods from that module are using structures exposed in AWS_IAM_Ext, so my module had dependenciies to AWS_IAM_Ext. When I removed it, it works.
Thank you very much @Stefan Weber, I'm marking this as a solution.