## ☁️ 6.8 S3 A MATLAB client for Amazon Simple Storage Service (S3). Create buckets, upload/download objects, and manage ACLs and policies. ```matlab s3 = aws.s3.Client(); ``` ### 🔧 6.8.1 List of Available Methods - [listBuckets](AWSSDKAPI.md#awss3clientlistbuckets) - [createBucket](AWSSDKAPI.md#awss3clientcreatebucket) - [deleteBucket](AWSSDKAPI.md#awss3clientdeletebucket) - [listObjects](AWSSDKAPI.md#awss3clientlistobjects) - [putObject](AWSSDKAPI.md#awss3clientputobject) - [getObject](AWSSDKAPI.md#awss3clientgetobject) - [headObject](AWSSDKAPI.md#awss3clientheadobject) - [deleteObject](AWSSDKAPI.md#awss3clientdeleteobject) - [deleteObjects](AWSSDKAPI.md#awss3clientdeleteobjects) - [copyObject](AWSSDKAPI.md#awss3clientcopyobject) - [getBucketAcl](AWSSDKAPI.md#awss3clientgetbucketacl) - [putBucketAcl](AWSSDKAPI.md#awss3clientputbucketacl) - [getObjectAcl](AWSSDKAPI.md#awss3clientgetobjectacl) - [putObjectAcl](AWSSDKAPI.md#awss3clientputobjectacl) - [putBucketPolicy](AWSSDKAPI.md#awss3clientputbucketpolicy) - [deleteBucketPolicy](AWSSDKAPI.md#awss3clientdeletebucketpolicy) - [putBucketOwnershipControls](AWSSDKAPI.md#awss3clientputbucketownershipcontrols) ### 🧩 6.8.2 Examples Create a bucket and upload/download an object ```matlab 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 ```matlab 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 ```matlab 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` ```matlab lb = s3.listBuckets(); ``` * Returns: `aws.s3.model.ListBucketsResponse` #### 🔸 `createBucket` ```matlab cb = s3.createBucket(bucket=""); ``` * Returns: `aws.s3.model.CreateBucketResponse` #### 🔸 `deleteBucket` ```matlab db = s3.deleteBucket(bucket=""); ``` * Returns: `aws.s3.model.DeleteBucketResponse` #### 🔸 `putObject` ```matlab po = s3.putObject(bucket="", key="", body=""); ``` * Returns: `aws.s3.model.PutObjectResponse` #### 🔸 `getObject` ```matlab [go, stream] = s3.getObject(bucket="", key=""); ``` * Returns: `aws.s3.model.GetObjectResponse` (+ stream) #### 🔸 `headObject` ```matlab ho = s3.headObject(bucket="", key=""); ``` * Returns: `aws.s3.model.HeadObjectResponse` #### 🔸 `deleteObject` ```matlab do = s3.deleteObject(bucket="", key=""); ``` * Returns: `aws.s3.model.DeleteObjectResponse` #### 🔸 `deleteObjects` ```matlab dos = s3.deleteObjects(bucket="", keys={"",""}); ``` * Returns: `aws.s3.model.DeleteObjectsResponse` #### 🔸 `copyObject` ```matlab co = s3.copyObject(sourceBucket="", sourceKey="", destinationBucket="", destinationKey=""); ``` * Returns: `aws.s3.model.CopyObjectResponse` #### 🔸 `listObjects` ```matlab lo = s3.listObjects(bucket=""); ``` * Returns: `aws.s3.model.ListObjectsResponse` #### 🔸 `getBucketAcl` ```matlab gba = s3.getBucketAcl(bucket=""); ``` * Returns: `aws.s3.model.GetBucketAclResponse` #### 🔸 `putBucketAcl` ```matlab pba = s3.putBucketAcl(bucket="", accessControlPolicy=); ``` * Returns: `aws.s3.model.PutBucketAclResponse` #### 🔸 `getObjectAcl` ```matlab goa = s3.getObjectAcl(bucket="", key=""); ``` * Returns: `aws.s3.model.GetObjectAclResponse` #### 🔸 `putObjectAcl` ```matlab poa = s3.putObjectAcl(bucket="", key="", accessControlPolicy=); ``` * Returns: `aws.s3.model.PutObjectAclResponse` #### 🔸 `putBucketPolicy` ```matlab pbp = s3.putBucketPolicy(bucket="", policy=""); ``` * Returns: `aws.s3.model.PutBucketPolicyResponse` #### 🔸 `deleteBucketPolicy` ```matlab dbp = s3.deleteBucketPolicy(bucket=""); ``` * Returns: `aws.s3.model.DeleteBucketPolicyResponse` #### 🔸 `putBucketOwnershipControls` ```matlab pboc = s3.putBucketOwnershipControls(bucket="", 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.