Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

IconDescriptionTransaction Configuration definition
Entry PointEnd PointData Entity

DotNet AWS SQS Receiver

(tick) 

(only when not called by other objects)



DotNet AWS SNS Subscriber

(tick)

(only when not called by other objects)



DotNet AWS SQS Publisher

(tick) 

(only when it is not calling any other object)


 DotNet AWS SNS Publisher

(tick) 

(only when it is not calling any other object)


DotNet AWS unknown SQS Receiver(tick)

DotNet AWS unknown SNS Subscriber(tick)

DotNet AWS unknown SQS Publisher
(tick)

DotNet AWS unknown SNS Publisher 

(tick)


DotNet Dotnet AWS Call to AWS Lambda CallFunction


(tick) 

(only when

not called by other objects)

(tick) 

(only when

it is not calling any other object)


DotNet AWS Call to unknown Lambda

(tick) 


Dotnet AWS Email

(tick) 


Dotnet AWS SMS

(tick) 


Dotnet AWS Post Service

(tick) 

(only when it is not calling any other object)


Dotnet AWS S3 Bucket

(tick)

Dotnet AWS unknown S3 Bucket

(tick)

...

Warning

Some applications are using a monolithic pattern: only one handler function is used for many (if not all) API Gateways. That handler function then dispatches the call to sub-handler functions using switches based on the URLs. Ideally, in the modelization, each API Gateway should be linked to its dedicated sub-handler function. However, in our modelization, all API Gateways will be linked to the root handler function. 

Support for SDK

The extension supports only the API for the V3 SDK as the V2 SDK is deprecated and no longer supported.

...

Result in CAST Enlighten:

Click to enlarge

Support for AWS S3

S3 Bucket with AWS SDK

Code Block
languagejava
      	static string bucketName = "S3WestAsieRegion";
        static string key = $"key-{Guid.NewGuid().ToString("n").Substring(0, 8)}";

        static void Main(string[] args)
        {            
            using (var s3 = new AmazonS3Client(RegionEndpoint.USWest2))
            {
                CreateBucket(s3);
				WriteObject(s3);
				...
			}
		}

        static void CreateBucket(IAmazonS3 s3)
        {
            Task<PutBucketResponse> res = s3.PutBucketAsync(new PutBucketRequest().WithBucketName(bucketName));
            Task.WaitAll(res);

            if (res.IsCompletedSuccessfully)
            {
                Console.WriteLine("New S3 bucket created: {0}", bucketName);
            }
        }

        static void WriteObject(IAmazonS3 s3)
        {
            // The api call used in this method equates to S3's Put api and is
            // suitable for smaller files. To upload larger files and entire
            // folder hierarchies, with automatic usage of S3's multi-part apis for
            // files over 5MB in size, consider using the TransferUtility class
            // in the Amazon.S3.Transfer namespace.
            // See https://docs.aws.amazon.com/AmazonS3/latest/dev/HLuploadFileDotNet.html.
            var ms = new MemoryStream(Encoding.UTF8.GetBytes("Test S3 data"));
            var req = new PutObjectRequest
            {
                BucketName = bucketName,
                Key = key,
                InputStream = ms
            };

            Task<PutObjectResponse> res = s3.PutObjectAsync(req);
            Task.WaitAll(res);

            if (res.IsCompletedSuccessfully)
            {
                Console.WriteLine("Created object '{0}' in bucket '{1}'", key, bucketName);
            }
        }

...