{"id":28839456,"url":"https://github.com/coldbox-modules/s3sdk","last_synced_at":"2026-01-31T13:11:16.628Z","repository":{"id":46029225,"uuid":"65032361","full_name":"coldbox-modules/s3sdk","owner":"coldbox-modules","description":"An Amazon S3 SDK for ColdFusion/CFML and the ColdBox Platform","archived":false,"fork":false,"pushed_at":"2025-10-27T22:21:20.000Z","size":438,"stargazers_count":13,"open_issues_count":0,"forks_count":19,"subscribers_count":3,"default_branch":"development","last_synced_at":"2025-10-28T00:07:43.403Z","etag":null,"topics":["amazon","cfml","coldbox","coldfusion","s3","s3-sdk"],"latest_commit_sha":null,"homepage":"https://forgebox.io/view/s3sdk","language":"ColdFusion","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coldbox-modules.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.YML","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"patreon":"ortussolutions"}},"created_at":"2016-08-05T16:14:51.000Z","updated_at":"2025-10-27T22:00:21.000Z","dependencies_parsed_at":"2025-10-07T18:28:31.052Z","dependency_job_id":"2cb256db-879b-4165-b3fd-66fe52c72846","html_url":"https://github.com/coldbox-modules/s3sdk","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/coldbox-modules/s3sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coldbox-modules%2Fs3sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coldbox-modules%2Fs3sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coldbox-modules%2Fs3sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coldbox-modules%2Fs3sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coldbox-modules","download_url":"https://codeload.github.com/coldbox-modules/s3sdk/tar.gz/refs/heads/development","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coldbox-modules%2Fs3sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28944081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T13:02:32.153Z","status":"ssl_error","status_checked_at":"2026-01-31T13:00:07.528Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amazon","cfml","coldbox","coldfusion","s3","s3-sdk"],"created_at":"2025-06-19T14:41:23.031Z","updated_at":"2026-01-31T13:11:16.623Z","avatar_url":"https://github.com/coldbox-modules.png","language":"ColdFusion","funding_links":["https://patreon.com/ortussolutions"],"categories":[],"sub_categories":[],"readme":"[![AWS S3 SDK CI](https://github.com/coldbox-modules/s3sdk/actions/workflows/ci.yml/badge.svg)](https://github.com/coldbox-modules/s3sdk/actions/workflows/ci.yml)\n\n# Welcome to the Amazon S3, DigitalOcean Spaces SDK\n\nThis SDK allows you to add Amazon S3, Digital Ocean Spaces capabilities to your ColdFusion (CFML) applications. It is also a ColdBox Module, so if you are using ColdBox, you get auto-registration and much more.\n\n## Resources\n\n* Source: https://github.com/coldbox-modules/s3sdk\n* Issues: https://github.com/coldbox-modules/s3sdk/issues\n* [Changelog](changelog.md)\n* S3 API Reference: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations_Amazon_Simple_Storage_Service.html\n* Digital Oceans Spaces API Reference: https://developers.digitalocean.com/documentation/spaces/\n\n## Requirements\n\n* [Boxlang](https://www.boxlang.io/) 1+\n* Lucee 5+\n* Adobe 2018+\n\n## Installation\n\nThis SDK can be installed as standalone or as a ColdBox Module.  Either approach requires a simple CommandBox command:\n\n```bash\nbox install s3sdk\n```\n\nThen follow either the standalone or module instructions below.\n\n### Standalone\n\nThis SDK will be installed into a directory called `s3sdk` and then the SDK can be instantiated via ` new s3sdk.models.AmazonS3()` with the following constructor arguments:\n\n```js\n/**\n * Create a new S3SDK Instance\n *\n * @accessKey The Amazon access key.\n * @secretKey The Amazon secret key.\n * @awsDomain The Domain used S3 Service (amazonws.com, digitalocean.com, storage.googleapis.com). Defaults to amazonws.com\n * @awsRegion The Amazon region. Defaults to us-east-1 for amazonaws.com\n * @encryptionCharset The charset for the encryption. Defaults to UTF-8.\n * @signature The signature version to calculate, \"V2\" is deprecated but more compatible with other endpoints. \"V4\" requires Sv4Util.cfc \u0026 ESAPI on Lucee. Defaults to V4\n * @ssl True if the request should use SSL. Defaults to true.\n * @defaultTimeOut Default HTTP timeout for all requests. Defaults to 300.\n * @defaultDelimiter Delimter to use for getBucket calls. \"/\" is standard to treat keys as file paths\n * @defaultBucketName Bucket name to use by default\n * @defaultCacheControl Default caching policy for objects. Defaults to: no-store, no-cache, must-revalidate\n * @defaultStorageClass Default storage class for objects that affects cost, access speed and durability. Defaults to STANDARD.\n * @defaultACL Default access control policy for objects and buckets. Defaults to public-read.\n * @autoContentType Tries to determine content type of file by file extension. Defaults to false.\n * @autoMD5 Calculates MD5 hash of content automatically. Defaults to false.\n * @debug Used to turn debugging on or off outside of logbox. Defaults to false.\n * @defaultEncryptionAlgorithm The default server side encryption algorithm to use.  Usually \"AES256\". Not needed if using custom defaultEncryptionKey\n * @defaultEncryptionKey\tThe default base64 encoded AES 356 bit key for server side encryption.\n * @urlStyle\t\t\t\t\t Specifies the format of the URL whether it is the `path` format or `virtual` format. Defaults to path. For more information see https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html\n * \n * @return An AmazonS3 instance.\n */\npublic AmazonS3 function init(\n\trequired string accessKey,\n\trequired string secretKey,\n\tstring awsDomain = \"amazonaws.com\",\n\tstring awsRegion = \"us-east-1\",\n\tstring encryptionCharset = \"UTF-8\",\n\tstring signature = \"V4\",\n\tboolean ssl = true,\n\tstring defaultTimeOut= 300,\n\tstring defaultDelimiter='/',\n\tstring defaultBucketName='',\n\tstring defaultCacheControl= \"no-store, no-cache, must-revalidate\",\n\tstring defaultStorageClass= \"STANDARD\",\n\tstring defaultACL= \"public-read\",\n\tboolean autoContentType= false,\n\tboolean autoMD5= false,\n\tboolean debug= false,\n\tstring defaultEncryptionAlgorithm = \"\",\n\tstring defaultEncryptionKey = \"\",\n\tstring urlStyle\t= \"path\"\n)\n```\n\n### ColdBox Module\n\nThis package also is a ColdBox module as well.  The module can be configured by creating an `s3sdk` configuration structure in your `moduleSettings` struct in the application configuration file: `config/Coldbox.cfc` with the following settings:\n\n```js\nmoduleSettings = {\n\ts3sdk = {\n\t\t// Your amazon, digital ocean access key\n\t\taccessKey = \"\",\n\t\t// Tries to determine content type of file by file extension when putting files. Defaults to false.\n\t\tautoContentType = false,\n\t\t// Calculates MD5 hash of content automatically. Defaults to false.\n\t\tautoMD5 = false,\n\t\t// Your AWS/Digital Ocean Domain Mapping: defaults to amazonaws.com\n\t\tawsDomain = \"amazonaws.com\",\n\t\t// Your AWS/Digital Ocean Region: Defaults to us-east-1\n\t\tawsregion = \"us-east-1\",\n\t\t// Used to turn debugging on or off outside of logbox. Defaults to false.\n\t\tdebug = false,\n\t\t// Default access control policy for objects and buckets. Defaults to public-read.\n\t\tdefaultACL = \"public-read\",\n\t\t// The default bucket name to root the operations on.\n\t\tdefaultBucketName = \"\",\n\t\t// Default caching policy for objects. Defaults to: no-store, no-cache, must-revalidate\n\t\tdefaultCacheControl = \"no-store, no-cache, must-revalidate\",\n\t\t// The default delimiter for folder operations\n\t\tdefaultDelimiter = \"/\",\n\t\t// Default storage class for objects that affects cost, access speed and durability. Defaults to STANDARD.\n\t\t// AWS classes are: STANDARD,STANDARD_IA,INTELLIGENT_TIERING,ONEZONE_IA,GLACIER,DEEP_ARCHIVE\n\t\t// Google Cloud Storage Clases: regional,multi_regional,nearline,coldline,\n\t\tdefaultStorageClass = \"STANDARD\",\n\t\t// Default HTTP timeout in seconds for all requests. Defaults to 300 seconds.\n\t\tdefaultTimeOut = 300,\n\t\t// The default encryption character set: defaults to utf-8\n\t\tencryptionCharset = \"utf-8\",\n\t\t// How many times to retry the request before failing if the response is a 500 or 503\n\t\tretriesOnError\t\t: 3,\n\t\t// Your amazon, digital ocean secret key\n\t\tsecretKey = \"\",\n\t\t// Service name that is part of the service's endpoint (alphanumeric). Example: \"s3\"\n\t\t// Only used for the v4 signatures\n\t\tserviceName         : \"s3\",\n\t\t// The signature version to calculate, \"V2\" is deprecated but more compatible with other endpoints. \"V4\" requires Sv4Util.cfc \u0026 ESAPI on Lucee. Defaults to V4\n\t\tsignature = \"V4\",\n\t\t// SSL mode or not on cfhttp calls and when generating put/get authenticated URLs: Defaults to true\n\t\tssl = true,\n\t\t// Throw exceptions when s3 requests fail, else it swallows them up.\n\t\tthrowOnRequestError : true,\n\t\t// What format of endpoint to use whether path or virtual\n\t\turlStyle = \"path\"\n\t}\n};\n```\n\nThen you can leverage the SDK CFC via the injection DSL: `AmazonS3@s3sdk`\n\n## Usage\n\nPlease check out the api docs: https://apidocs.ortussolutions.com/#/coldbox-modules/s3sdk/, choose your version and code away!\n\n## Development\n\nSee [Contributing](https://github.com/coldbox-modules/s3sdk/blob/development/CONTRIBUTING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoldbox-modules%2Fs3sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoldbox-modules%2Fs3sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoldbox-modules%2Fs3sdk/lists"}