{"id":22232,"date":"2024-09-23T16:03:39","date_gmt":"2024-09-23T14:03:39","guid":{"rendered":"https:\/\/contabo.com\/blog\/kb\/103000283038-how-do-i-use-s3-object-storage-in-my-code\/"},"modified":"2025-04-10T18:05:06","modified_gmt":"2025-04-10T16:05:06","slug":"103000283038-how-do-i-use-s3-object-storage-in-my-code","status":"publish","type":"kb","link":"https:\/\/contabo.com\/blog\/kb\/103000283038-how-do-i-use-s3-object-storage-in-my-code\/","title":{"rendered":"How Do I Use S3 Object Storage In My Code?"},"content":{"rendered":"<h4 dir=\"ltr\"><strong>Does Contabo offer support for Coding?<\/strong><\/h4>\n<p dir=\"ltr\">Please note that due to it&#8217;s complexity <strong dir=\"ltr\">Contabo does not offer any support for coding \/ programming issues.<\/strong><\/p>\n<p>The following information is not a step-by-step guide, but a few suggestions on setting this up.<\/p>\n<h4 dir=\"ltr\"><\/h4>\n<h4 dir=\"ltr\"><strong dir=\"ltr\">How do I use S3 Object Storage in my code?<\/strong><\/h4>\n<ul>\n<li dir=\"ltr\">The S3 Object Storage API was defined by Amazon AWS more than 10 years ago and is maintained by them. Please see <a href=\"https:\/\/docs.aws.amazon.com\/AmazonS3\/latest\/API\/Welcome.html\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>https:\/\/docs.aws.amazon.com\/AmazonS3\/latest\/API\/Welcome.html<\/u><\/a><u dir=\"ltr\">.<\/u><\/li>\n<li dir=\"ltr\">Not all Amazon S3 features are supported. Please see <u><a href=\"https:\/\/docs.ceph.com\/en\/latest\/radosgw\/s3\/\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>https:\/\/docs.ceph.com\/en\/latest\/radosgw\/s3\/<\/u><\/a>.<\/u><\/li>\n<li dir=\"ltr\">The API documented at <a href=\"https:\/\/api.contabo.com\/#tag\/Object-Storages\" rel=\"noopener noreferrer nofollow\" target=\"_blank\"><u>https:\/\/api.contabo.com\/#tag\/Object-Storages<\/u><\/a> is not the S3 Object Storage API. It is mainly for purchasing and increasing storage size. For uploading\/downloading files and folders and managing buckets, please use the S3 Object Storage API.<\/li>\n<li dir=\"ltr\">In general, it is not recommended to make the S3 Object Storage API calls directly, e.g. via curl. Because the S3 API is based on <u><a href=\"https:\/\/en.wikipedia.org\/wiki\/HMAC\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>HMAC<\/u><\/a><\/u> please use the S3 SDK libraries that are available for many programming languages. Please see<br \/><a href=\"https:\/\/aws.amazon.com\/developer\/tools\/\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>https:\/\/aws.amazon.com\/developer\/tools\/<\/u><\/a> or perform an internet search for alternatives.<\/li>\n<\/ul>\n<p dir=\"ltr\"><\/p>\n<h4 dir=\"ltr\"><strong>Examples:<\/strong><\/h4>\n<p>Here are some examples where the integration was made:<\/p>\n<ul>\n<li dir=\"ltr\"><a href=\"https:\/\/github.com\/contabo\/cntb\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>cntb<\/u><\/a> written in <a href=\"https:\/\/go.dev\/\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>Go<\/u><\/a> and using the <a href=\"https:\/\/github.com\/minio\/minio-go\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>minio<\/u><\/a> library.<\/li>\n<li>External article on <u><a href=\"https:\/\/dev.to\/einlinuus\/use-contabo-object-storage-with-nodejs-5b9l\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>dev.to<\/u><\/a><\/u> using <a href=\"https:\/\/nodejs.org\/en\/\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>NodeJS<\/u><\/a> and <a href=\"https:\/\/www.python.org\/\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>Python<\/u><\/a><u dir=\"ltr\">.<\/u><\/li>\n<li>External repository by <u><a href=\"https:\/\/github.com\/lucafulgenzi\/contabo-object-storage-api\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>lucafulgenzi<\/u><\/a><\/u><a href=\"https:\/\/github.com\/lucafulgenzi\/contabo-object-storage-api\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><\/a><u><a href=\"https:\/\/github.com\/lucafulgenzi\/contabo-object-storage-api\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><\/a><\/u> using <a href=\"https:\/\/spring.io\/\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>SpringBoot<\/u><\/a><u dir=\"ltr\">.<\/u><\/li>\n<li>Ceph Object Gateway docs include examples for <u><a href=\"https:\/\/docs.ceph.com\/en\/latest\/radosgw\/s3\/cpp\/\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\">C++<\/a><\/u>, <a href=\"https:\/\/docs.ceph.com\/en\/latest\/radosgw\/s3\/csharp\/\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>C#<\/u><\/a>, <a href=\"https:\/\/docs.ceph.com\/en\/latest\/radosgw\/s3\/java\/\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>Java<\/u><\/a>, <a href=\"https:\/\/docs.ceph.com\/en\/latest\/radosgw\/s3\/perl\/\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>Perl<\/u><\/a>, <a href=\"https:\/\/docs.ceph.com\/en\/latest\/radosgw\/s3\/php\/\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>PHP<\/u><\/a>, <a href=\"https:\/\/docs.ceph.com\/en\/latest\/radosgw\/s3\/python\/\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>Python<\/u><\/a> and <a href=\"https:\/\/docs.ceph.com\/en\/latest\/radosgw\/s3\/ruby\/#ruby-aws-s3-examples-aws-s3-gem\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><u>Ruby<\/u><\/a><u dir=\"ltr\">.<\/u><a href=\"https:\/\/docs.ceph.com\/en\/latest\/radosgw\/s3\/ruby\/#ruby-aws-s3-examples-aws-s3-gem\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><\/a><strong><a href=\"https:\/\/docs.ceph.com\/en\/latest\/radosgw\/s3\/ruby\/#ruby-aws-s3-examples-aws-s3-gem\" rel=\"noopener noreferrer nofollow nofollow\" target=\"_blank\"><\/a><\/strong><\/li>\n<\/ul>\n<p><span class=\"ast-load-more active\"><a href=\"https:\/\/help.contabo.com\/en\/support\/solutions\/articles\/103000283038-how-do-i-use-s3-object-storage-in-my-code-\" rel=\"nofollow\">Details&#8230;<\/a> <\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Does Contabo offer support for Coding? Please note that due to it&#8217;s complexity Contabo does not offer any support for coding \/ programming issues. The following information is not a step-by-step guide, but a few suggestions on setting this up. How do I use S3 Object Storage in my code? The S3 Object Storage API [&hellip;]<\/p>\n","protected":false},"author":72,"featured_media":0,"template":"","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[2067],"tags":[],"class_list":["post-22232","kb","type-kb","status-publish","hentry","category-kb"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Contabo Web","author_link":"https:\/\/contabo.com\/blog\/author\/julius-nalivaiko\/"},"uagb_comment_info":0,"uagb_excerpt":"Does Contabo offer support for Coding? Please note that due to it&#8217;s complexity Contabo does not offer any support for coding \/ programming issues. The following information is not a step-by-step guide, but a few suggestions on setting this up. How do I use S3 Object Storage in my code? The S3 Object Storage API&hellip;","_links":{"self":[{"href":"https:\/\/contabo.com\/blog\/wp-json\/wp\/v2\/kb\/22232","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/contabo.com\/blog\/wp-json\/wp\/v2\/kb"}],"about":[{"href":"https:\/\/contabo.com\/blog\/wp-json\/wp\/v2\/types\/kb"}],"author":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/wp-json\/wp\/v2\/users\/72"}],"version-history":[{"count":1,"href":"https:\/\/contabo.com\/blog\/wp-json\/wp\/v2\/kb\/22232\/revisions"}],"predecessor-version":[{"id":22914,"href":"https:\/\/contabo.com\/blog\/wp-json\/wp\/v2\/kb\/22232\/revisions\/22914"}],"wp:attachment":[{"href":"https:\/\/contabo.com\/blog\/wp-json\/wp\/v2\/media?parent=22232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/contabo.com\/blog\/wp-json\/wp\/v2\/categories?post=22232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/contabo.com\/blog\/wp-json\/wp\/v2\/tags?post=22232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}