Overview
Awsconnect is a native Salesforce SDK to integrate with many of AWS Services from Salesforce. It allows you to integrate with AWS in efficient and productive manner.
Supported Services
SDK as of now supports following services. Support for others services are being added. If you need a support any of AWS Services, please let us know and we will add the support with time commitment of with in one week. If you need sonner than that, that is fine but we will do operation by operation.
- Cloud Watch
- Cloud Watch Logs
- SQS
- SNS
Basics
SDK has been designed with consistency in mind so that developers can minimize the overhead in integrating with various services.
AwsOptions.cls
is a initialization class that is passed while initializing the SDK. This allows to set the access key, secret key, region and any other parameter required for SDK functioning.
AwsSdk.cls
is main class which allows you to get hold of other clients.
{Service}Client.cls
is a main class related to a particular service. Each client can be obtained from AwsSdk
.
{Service}.cls
is a container class which holds strongly typed models representing requests and responses for a particular client.
{Service}.{Operation}Request.cls
represents request model for a particular service operation
{Service}.{Operation}Result.cls
represents response model for a particular service operation
Since we are trying to provide strongly typed models, we need to work within the limitations of Apex. There are some attributes in AWS models which are not a valid variable names in Apex. One such attribute is type
. Wherever we have such conflicts, we will suffix the attribute with _x
and will do the conversion before sending to AWS.
All services are modeled in this pattern. So if you know these basics, you are ready to integrate with AWS.
Examples
AwsSnsClient
is client class to deal with SNS service.
Class AwsSns
contains all request and response models all operations exposed via that client.
One such operation in sns is createTopic
. It’s request model is modeled in AwsSns.CreateTopicRequest
and response is modeled in AwsSns.CreateTopicResult
.
Example of conflict type attribute is AwsLogs.CreateExportTaskRequest.from_x
.