☁️ 6.8 S3

A MATLAB client for Amazon Simple Storage Service (S3). Create buckets, upload/download objects, and manage ACLs and policies.

s3 = aws.s3.Client();

🔧 6.8.1 List of Available Methods

🧩 6.8.2 Examples

Create a bucket and upload/download an object

s3 = aws.s3.Client();

s3.createBucket(bucket="matlab-demo-bucket");
s3.putObject(bucket="matlab-demo-bucket", key="hello.txt", body="Hello from MATLAB");

[resp, stream] = s3.getObject(bucket="matlab-demo-bucket", key="hello.txt");

Copy and then delete an object

s3.copyObject(sourceBucket="matlab-demo-bucket", sourceKey="hello.txt", destinationBucket="matlab-demo-bucket", destinationKey="hello-copy.txt");
s3.deleteObject(bucket="matlab-demo-bucket", key="hello.txt");

List objects and inspect metadata

resp = s3.listObjects(bucket="matlab-demo-bucket", prefix="docs/");
for obj = resp.s3Objects
    fprintf("%s (%d bytes)\n", obj.key, obj.size);
end

📘 6.8.3 Method Reference (Summary)

🔸 listBuckets

lb = s3.listBuckets();
  • Returns: aws.s3.model.ListBucketsResponse

🔸 createBucket

cb = s3.createBucket(bucket="<name>");
  • Returns: aws.s3.model.CreateBucketResponse

🔸 deleteBucket

db = s3.deleteBucket(bucket="<name>");
  • Returns: aws.s3.model.DeleteBucketResponse

🔸 putObject

po = s3.putObject(bucket="<bucket>", key="<key>", body="<content>");
  • Returns: aws.s3.model.PutObjectResponse

🔸 getObject

[go, stream] = s3.getObject(bucket="<bucket>", key="<key>");
  • Returns: aws.s3.model.GetObjectResponse (+ stream)

🔸 headObject

ho = s3.headObject(bucket="<bucket>", key="<key>");
  • Returns: aws.s3.model.HeadObjectResponse

🔸 deleteObject

do = s3.deleteObject(bucket="<bucket>", key="<key>");
  • Returns: aws.s3.model.DeleteObjectResponse

🔸 deleteObjects

dos = s3.deleteObjects(bucket="<bucket>", keys={"<key1>","<key2>"});
  • Returns: aws.s3.model.DeleteObjectsResponse

🔸 copyObject

co = s3.copyObject(sourceBucket="<src>", sourceKey="<key>", destinationBucket="<dst>", destinationKey="<key>");
  • Returns: aws.s3.model.CopyObjectResponse

🔸 listObjects

lo = s3.listObjects(bucket="<bucket>");
  • Returns: aws.s3.model.ListObjectsResponse

🔸 getBucketAcl

gba = s3.getBucketAcl(bucket="<bucket>");
  • Returns: aws.s3.model.GetBucketAclResponse

🔸 putBucketAcl

pba = s3.putBucketAcl(bucket="<bucket>", accessControlPolicy=<AccessControlPolicy>);
  • Returns: aws.s3.model.PutBucketAclResponse

🔸 getObjectAcl

goa = s3.getObjectAcl(bucket="<bucket>", key="<key>");
  • Returns: aws.s3.model.GetObjectAclResponse

🔸 putObjectAcl

poa = s3.putObjectAcl(bucket="<bucket>", key="<key>", accessControlPolicy=<AccessControlPolicy>);
  • Returns: aws.s3.model.PutObjectAclResponse

🔸 putBucketPolicy

pbp = s3.putBucketPolicy(bucket="<bucket>", policy="<json>");
  • Returns: aws.s3.model.PutBucketPolicyResponse

🔸 deleteBucketPolicy

dbp = s3.deleteBucketPolicy(bucket="<bucket>");
  • Returns: aws.s3.model.DeleteBucketPolicyResponse

🔸 putBucketOwnershipControls

pboc = s3.putBucketOwnershipControls(bucket="<bucket>", ownershipControls=<OwnershipControls>);
  • Returns: aws.s3.model.PutBucketOwnershipControlsResponse

Data Models: GetObjectResponse, PutObjectResponse, ListBucketsResponse, ListObjectsResponse, AccessControlPolicy, Owner, Grant, Grantee, GetBucketAclResponse, PutBucketAclResponse, GetObjectAclResponse, PutObjectAclResponse, CopyObjectResponse, DeleteObjectResponse, DeleteObjectsResponse, HeadObjectResponse, PutBucketOwnershipControlsResponse, PutBucketPolicyResponse, DeleteBucketPolicyResponse.