Awsconnect Docs

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.