Files
3engines_doc/site/s3/S3-bucket-object-versioning-on-3Engines-Cloud.html.html
2025-06-19 21:50:45 +05:30

1431 lines
302 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Documentation for 3Engines services and products"><meta name=author content=3Engines><link rel=canonical href=https://docs.3Engines.com/s3/S3-bucket-object-versioning-on-3Engines-Cloud.html.html><link rel=prev href=Configuration-files-for-s3cmd-command-on-3Engines-Cloud.html.html><link rel=next href=../windows/windows.html.html><link rel=icon href=../assets/favicon.ico><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.6.14"><title>S3 bucket object versioning on 3Engines Cloud - 3Engines Documentation</title><link rel=stylesheet href=../assets/stylesheets/main.342714a4.min.css><link rel=stylesheet href=../assets/stylesheets/palette.06af60db.min.css><script src=https://unpkg.com/iframe-worker/shim></script><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../stylesheets/extra.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script> <link href="../assets/stylesheets/glightbox.min.css" rel="stylesheet"/><style>
html.glightbox-open { overflow: initial; height: 100%; }
.gslide-title { margin-top: 0px; user-select: text; }
.gslide-desc { color: #666; user-select: text; }
.gslide-image img { background: white; }
.gscrollbar-fixer { padding-right: 15px; }
.gdesc-inner { font-size: 0.75rem; }
body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color);}
body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color);}
body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color);}</style> <script src="../assets/javascripts/glightbox.min.js"></script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=blue-grey data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#s3-bucket-object-versioning-on-3engines-cloud class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../index.html title="3Engines Documentation" class="md-header__button md-logo" aria-label="3Engines Documentation" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> 3Engines Documentation </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> S3 bucket object versioning on 3Engines Cloud </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=blue-grey data-md-color-accent=indigo aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <a href=javascript:void(0) class="md-search__icon md-icon" title=Share aria-label=Share data-clipboard data-clipboard-text data-md-component=search-share tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91s2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08"/></svg> </a> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../index.html class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../cloud/cloud.html.html class=md-tabs__link> Cloud </a> </li> <li class=md-tabs__item> <a href=../datavolume/datavolume.html.html class=md-tabs__link> Data Volume </a> </li> <li class=md-tabs__item> <a href=../networking/networking.html.html class=md-tabs__link> Networking </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=s3.html.html class=md-tabs__link> S3 </a> </li> <li class=md-tabs__item> <a href=../windows/windows.html.html class=md-tabs__link> Windows </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../index.html title="3Engines Documentation" class="md-nav__button md-logo" aria-label="3Engines Documentation" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> 3Engines Documentation </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../index.html class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Cloud </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Cloud </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../cloud/cloud.html.html class=md-nav__link> <span class=md-ellipsis> Overview </span> </a> </li> <li class=md-nav__item> <a href=../cloud/Dashboard-Overview-Project-Quotas-And-Flavors-Limits-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> Dashboard Overview Project Quotas And Flavors Limits on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-access-the-VM-from-OpenStack-console-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to access the VM from OpenStack console on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-clone-existing-and-configured-VMs-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to clone existing and configured VMs on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-fix-unresponsive-console-issue-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to fix unresponsive console issue on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-generate-ec2-credentials-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to generate and manage EC2 credentials on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-generate-or-use-Application-Credentials-via-CLI-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to generate or use Application Credentials via CLI on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-use-GUI-in-Linux-VM-on-3Engines-Cloud-and-access-it-from-local-Linux-computer.html.html class=md-nav__link> <span class=md-ellipsis> How to Use GUI in Linux VM on 3Engines Cloud and access it From Local Linux Computer </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-To-Create-a-New-Linux-VM-With-NVIDIA-Virtual-GPU-in-the-OpenStack-Dashboard-Horizon-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How To Create a New Linux VM With NVIDIA Virtual GPU in the OpenStack Dashboard Horizon on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-use-Docker-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to install and use Docker on Ubuntu 24.04 </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-use-Security-Groups-in-Horizon-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to use Security Groups in Horizon on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-create-key-pair-in-OpenStack-Dashboard-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to create key pair in OpenStack Dashboard on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-create-new-Linux-VM-in-OpenStack-Dashboard-Horizon-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to create new Linux VM in OpenStack Dashboard Horizon on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-install-Python-virtualenv-or-virtualenvwrapper-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to install Python virtualenv or virtualenvwrapper on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-start-a-VM-from-a-snapshot-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to start a VM from a snapshot on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/Status-Power-State-and-dependences-in-billing-of-instances-VMs-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> Status Power State and dependencies in billing of instance VMs on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-upload-your-custom-image-using-OpenStack-CLI-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to upload your custom image using OpenStack CLI on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/VM-created-with-option-Create-New-Volume-No-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> VM created with option Create New Volume No on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/VM-created-with-option-Create-New-Volume-Yes-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> VM created with option Create New Volume Yes on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/What-is-an-OpenStack-domain-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> What is an OpenStack domain on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/What-is-an-OpenStack-project-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> What is an OpenStack project on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-create-a-Linux-VM-and-access-it-from-Windows-desktop-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to create a Linux VM and access it from Windows desktop on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-create-a-Linux-VM-and-access-it-from-Linux-command-line-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to create a Linux VM and access it from Linux command line on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/DNS-as-a-Service-on-3Engines-Cloud-Hosting.html.html class=md-nav__link> <span class=md-ellipsis> DNS as a Service on 3Engines Cloud Hosting </span> </a> </li> <li class=md-nav__item> <a href=../cloud/What-Image-Formats-are-available-in-OpenStack-3Engines-Cloud-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> What Image Formats are Available in OpenStack 3Engines Cloud cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-upload-custom-image-to-3Engines-Cloud-cloud-using-OpenStack-Horizon-dashboard.html.html class=md-nav__link> <span class=md-ellipsis> How to upload custom image to 3Engines Cloud cloud using OpenStack Horizon dashboard </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-create-Windows-VM-on-OpenStack-Horizon-and-access-it-via-web-console-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to create Windows VM on OpenStack Horizon and access it via web console on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-transfer-volumes-between-domains-and-projects-using-Horizon-dashboard-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to transfer volumes between domains and projects using Horizon dashboard on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/Spot-instances-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> Spot instances on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-create-instance-snapshot-using-Horizon-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to create instance snapshot using Horizon on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-start-a-VM-from-instance-snapshot-using-Horizon-dashboard-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to start a VM from instance snapshot using Horizon dashboard on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/How-to-create-a-VM-using-the-OpenStack-CLI-client-on-3Engines-Cloud-cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to create a VM using the OpenStack CLI client on 3Engines Cloud cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/OpenStack-user-roles-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> OpenStack User Roles on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/Resizing-a-virtual-machine-using-OpenStack-Horizon-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> Resizing a virtual machine using OpenStack Horizon on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../cloud/Block-storage-and-object-storage-performance-limits-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> Block storage and object storage performance limits on 3Engines Cloud </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Data Volume </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Data Volume </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../datavolume/datavolume.html.html class=md-nav__link> <span class=md-ellipsis> Overview </span> </a> </li> <li class=md-nav__item> <a href=../datavolume/How-to-attach-a-volume-to-VM-less-than-2TB-on-Linux-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to attach a volume to VM less than 2TB on Linux on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../datavolume/How-to-attach-a-volume-to-VM-more-than-2TB-on-Linux-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to attach a volume to VM more than 2TB on Linux on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../datavolume/Ephemeral-vs-Persistent-storage-option-Create-New-Volume-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> Ephemeral vs Persistent storage option Create New Volume on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../datavolume/How-to-export-a-volume-over-NFS-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to export a volume over NFS on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../datavolume/How-to-export-a-volume-over-NFS-outside-of-a-project-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to export a volume over NFS outside of a project on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../datavolume/How-to-extend-the-volume-in-Linux-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to extend the volume in Linux on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../datavolume/How-to-mount-object-storage-in-Linux-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to mount object storage in Linux on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../datavolume/How-to-move-data-volume-between-two-VMs-using-OpenStack-Horizon-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to move data volume between two VMs using OpenStack Horizon on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../datavolume/How-many-objects-can-I-put-into-Object-Storage-container-bucket-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How many objects can I put into Object Storage container bucket on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../datavolume/How-to-create-volume-Snapshot-and-attach-as-Volume-on-Linux-or-Windows-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to create volume Snapshot and attach as Volume on Linux or Windows on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../datavolume/Volume-snapshot-inheritance-and-its-consequences-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> Volume snapshot inheritance and its consequences on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../datavolume/How-To-Create-Backup-Of-Your-Volume-From-Windows-Machine-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to Create Backup of Your Volume From Windows Machine on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../datavolume/How-To-Attach-Volume-To-Windows-VM-On-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How To Attach Volume To Windows VM On 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../datavolume/How-to-create-or-delete-volume-snapshot-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to create or delete volume snapshot on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../datavolume/How-to-restore-volume-from-snapshot-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to restore volume from snapshot on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../datavolume/Bootable-versus-non-bootable-volumes-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> Bootable versus non-bootable volumes on 3Engines Cloud </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Networking </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Networking </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../networking/networking.html.html class=md-nav__link> <span class=md-ellipsis> Overview </span> </a> </li> <li class=md-nav__item> <a href=../networking/How-can-I-access-my-VMs-using-names-instead-of-IP-addresses-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How can I access my VMs using names instead of IP addresses on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../networking/How-to-Add-or-Remove-Floating-IPs-to-your-VM-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to Add or Remove Floating IPs to your VM on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../networking/Cannot-access-VM-with-SSH-or-PING-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> Cannot access VM with SSH or PING on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../networking/Cannot-ping-VM-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> Cannot ping VM on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../networking/How-to-connect-to-your-virtual-machine-via-SSH-in-Linux-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to connect to your virtual machine via SSH in Linux on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../networking/How-to-create-a-network-with-router-in-Horizon-Dashboard-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to create a network with router in Horizon Dashboard on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../networking/How-can-I-open-new-ports-port-80-for-http-for-my-service-or-instance-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How can I open new ports for http for my service or instance on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../networking/Generating-a-SSH-keypair-in-Linux-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> Generating an SSH keypair in Linux on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../networking/How-to-add-SSH-key-from-Horizon-web-console-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to add SSH key from Horizon web console on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../networking/How-is-my-VM-visible-in-the-internet-with-no-Floating-IP-attached-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How is my VM visible in the internet with no Floating IP attached on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../networking/How-to-run-and-configure-Firewall-as-a-service-and-VPN-as-a-service-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to run and configure Firewall as a service and VPN as a service on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../networking/How-to-Import-SSH-Public-Key-to-OpenStack-Horizon-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to import SSH public key to OpenStack Horizon on 3Engines Cloud </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex> <span class=md-ellipsis> S3 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> S3 </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=s3.html.html class=md-nav__link> <span class=md-ellipsis> Overview </span> </a> </li> <li class=md-nav__item> <a href=How-to-delete-large-S3-bucket-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to Delete Large S3 Bucket on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=How-to-mount-object-storage-container-as-a-file-system-in-Linux-using-s3fs-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to Mount Object Storage Container as a File System in Linux Using s3fs on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=Bucket-sharing-using-s3-bucket-policy-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> Bucket sharing using s3 bucket policy on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=How-to-use-Object-Storage-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to use Object Storage on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=How-to-access-private-object-storage-using-S3cmd-or-boto3-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to access private object storage using S3cmd or boto3 on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=How-To-Install-boto3-In-Windows-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to Install Boto3 in Windows on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=Server-Side-Encryption-with-Customer-Managed-Keys-SSE-C-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> Server-Side Encryption with Customer-Managed Keys (SSE-C) on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=How-to-mount-object-storage-container-from-3Engines-Cloud-as-file-system-on-local-Windows-computer.html.html class=md-nav__link> <span class=md-ellipsis> How to mount object storage container from 3Engines Cloud as file system on local Windows computer </span> </a> </li> <li class=md-nav__item> <a href=How-to-install-s3cmd-on-Linux-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to install s3cmd on Linux on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=How-to-access-object-storage-from-3Engines-Cloud-using-boto3.html.html class=md-nav__link> <span class=md-ellipsis> How to access object storage from 3Engines Cloud using boto3 </span> </a> </li> <li class=md-nav__item> <a href=How-to-access-object-storage-from-3Engines-Cloud-using-s3cmd.html.html class=md-nav__link> <span class=md-ellipsis> How to access object storage from 3Engines Cloud using s3cmd </span> </a> </li> <li class=md-nav__item> <a href=Configuration-files-for-s3cmd-command-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> Configuration files for s3cmd command on 3Engines Cloud </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> S3 bucket object versioning on 3Engines Cloud </span> <span class="md-nav__icon md-icon"></span> </label> <a href=S3-bucket-object-versioning-on-3Engines-Cloud.html.html class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> S3 bucket object versioning on 3Engines Cloud </span> </a> <nav class="md-nav md-nav--secondary" aria-label="On this page"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> On this page </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#prerequisites class=md-nav__link> <span class=md-ellipsis> Prerequisites🔗 </span> </a> </li> <li class=md-nav__item> <a href=#what-we-are-going-to-cover class=md-nav__link> <span class=md-ellipsis> What We Are Going To Cover🔗 </span> </a> </li> <li class=md-nav__item> <a href=#configuring-and-testing-aws-cli class=md-nav__link> <span class=md-ellipsis> Configuring and testing AWS CLI🔗 </span> </a> <nav class=md-nav aria-label="Configuring and testing AWS CLI🔗"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#step-1-configure-aws-cli class=md-nav__link> <span class=md-ellipsis> Step 1: Configure AWS CLI🔗 </span> </a> </li> <li class=md-nav__item> <a href=#step-2-verify-that-aws-cli-is-working class=md-nav__link> <span class=md-ellipsis> Step 2: Verify that AWS CLI is working🔗 </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#assigning-bucket-names-to-shell-variables class=md-nav__link> <span class=md-ellipsis> Assigning bucket names to shell variables🔗 </span> </a> <nav class=md-nav aria-label="Assigning bucket names to shell variables🔗"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#making-sure-that-bucket-names-are-unique class=md-nav__link> <span class=md-ellipsis> Making sure that bucket names are unique🔗 </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#creating-a-bucket-without-versioning class=md-nav__link> <span class=md-ellipsis> Creating a bucket without versioning🔗 </span> </a> </li> <li class=md-nav__item> <a href=#enabling-versioning-on-a-bucket class=md-nav__link> <span class=md-ellipsis> Enabling versioning on a bucket🔗 </span> </a> </li> <li class=md-nav__item> <a href=#uploading-file class=md-nav__link> <span class=md-ellipsis> Uploading file🔗 </span> </a> </li> <li class=md-nav__item> <a href=#s3-paths class=md-nav__link> <span class=md-ellipsis> S3 paths🔗 </span> </a> </li> <li class=md-nav__item> <a href=#uploading-another-version-of-a-file class=md-nav__link> <span class=md-ellipsis> Uploading another version of a file🔗 </span> </a> </li> <li class=md-nav__item> <a href=#listing-available-versions-of-a-file class=md-nav__link> <span class=md-ellipsis> Listing available versions of a file🔗 </span> </a> <nav class=md-nav aria-label="Listing available versions of a file🔗"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#example-1-one-file-two-versions class=md-nav__link> <span class=md-ellipsis> Example 1: One file, two versions🔗 </span> </a> </li> <li class=md-nav__item> <a href=#example-2-multiple-files-multiple-versions class=md-nav__link> <span class=md-ellipsis> Example 2: Multiple files, multiple versions🔗 </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#downloading-a-chosen-version-of-the-file class=md-nav__link> <span class=md-ellipsis> Downloading a chosen version of the file🔗 </span> </a> </li> <li class=md-nav__item> <a href=#deleting-objects-on-version-enabled-buckets class=md-nav__link> <span class=md-ellipsis> Deleting objects on version-enabled buckets🔗 </span> </a> <nav class=md-nav aria-label="Deleting objects on version-enabled buckets🔗"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#setting-up-a-deletion-marker class=md-nav__link> <span class=md-ellipsis> Setting up a deletion marker🔗 </span> </a> </li> <li class=md-nav__item> <a href=#removing-the-deletion-marker class=md-nav__link> <span class=md-ellipsis> Removing the deletion marker🔗 </span> </a> </li> <li class=md-nav__item> <a href=#permanently-removing-files-from-version-enabled-bucket class=md-nav__link> <span class=md-ellipsis> Permanently removing files from version-enabled bucket🔗 </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#using-lifecycle-policy-to-configure-automatic-deletion-of-previous-versions-of-files class=md-nav__link> <span class=md-ellipsis> Using lifecycle policy to configure automatic deletion of previous versions of files🔗 </span> </a> <nav class=md-nav aria-label="Using lifecycle policy to configure automatic deletion of previous versions of files🔗"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#preparing-the-testing-environment class=md-nav__link> <span class=md-ellipsis> Preparing the testing environment🔗 </span> </a> </li> <li class=md-nav__item> <a href=#setting-up-automatic-removal-of-previous-versions class=md-nav__link> <span class=md-ellipsis> Setting up automatic removal of previous versions🔗 </span> </a> </li> <li class=md-nav__item> <a href=#deleting-lifecycle-policy class=md-nav__link> <span class=md-ellipsis> Deleting lifecycle policy🔗 </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#suspending-versioning class=md-nav__link> <span class=md-ellipsis> Suspending versioning🔗 </span> </a> <nav class=md-nav aria-label="Suspending versioning🔗"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bucket-on-which-versioning-has-never-been-enabled class=md-nav__link> <span class=md-ellipsis> Bucket on which versioning has never been enabled🔗 </span> </a> <nav class=md-nav aria-label="Bucket on which versioning has never been enabled🔗"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#example class=md-nav__link> <span class=md-ellipsis> Example🔗 </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#suspending-of-versioning class=md-nav__link> <span class=md-ellipsis> Suspending of versioning🔗 </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#what-to-do-next class=md-nav__link> <span class=md-ellipsis> What To Do Next🔗 </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> Windows </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> Windows </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../windows/windows.html.html class=md-nav__link> <span class=md-ellipsis> Overview </span> </a> </li> <li class=md-nav__item> <a href=../windows/How-to-access-a-VM-from-Windows-PuTTY-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to access a VM from Windows PuTTY on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../windows/Connecting-to-a-Windows-VM-via-RDP-through-a-Linux-bastion-host-port-forwarding-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> Connecting to a Windows VM via RDP through a Linux bastion host port forwarding on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../windows/How-to-connect-to-a-virtual-machine-via-SSH-from-Windows-10-Command-Prompt-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to connect to a virtual machine via SSH from Windows 10 Command Prompt on 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../windows/How-To-Create-SSH-Key-Pair-In-Windows-On-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to Create SSH Key Pair in Windows 10 On 3Engines Cloud </span> </a> </li> <li class=md-nav__item> <a href=../windows/Can-I-change-my-password-through-RDP-on-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> Can I change my password through RDP on 3Engines Cloud? </span> </a> </li> <li class=md-nav__item> <a href=../windows/How-To-Create-SSH-Key-Pair-In-Windows-11-On-3Engines-Cloud.html.html class=md-nav__link> <span class=md-ellipsis> How to Create SSH Key Pair in Windows 11 On 3Engines Cloud </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="On this page"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> On this page </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#prerequisites class=md-nav__link> <span class=md-ellipsis> Prerequisites🔗 </span> </a> </li> <li class=md-nav__item> <a href=#what-we-are-going-to-cover class=md-nav__link> <span class=md-ellipsis> What We Are Going To Cover🔗 </span> </a> </li> <li class=md-nav__item> <a href=#configuring-and-testing-aws-cli class=md-nav__link> <span class=md-ellipsis> Configuring and testing AWS CLI🔗 </span> </a> <nav class=md-nav aria-label="Configuring and testing AWS CLI🔗"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#step-1-configure-aws-cli class=md-nav__link> <span class=md-ellipsis> Step 1: Configure AWS CLI🔗 </span> </a> </li> <li class=md-nav__item> <a href=#step-2-verify-that-aws-cli-is-working class=md-nav__link> <span class=md-ellipsis> Step 2: Verify that AWS CLI is working🔗 </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#assigning-bucket-names-to-shell-variables class=md-nav__link> <span class=md-ellipsis> Assigning bucket names to shell variables🔗 </span> </a> <nav class=md-nav aria-label="Assigning bucket names to shell variables🔗"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#making-sure-that-bucket-names-are-unique class=md-nav__link> <span class=md-ellipsis> Making sure that bucket names are unique🔗 </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#creating-a-bucket-without-versioning class=md-nav__link> <span class=md-ellipsis> Creating a bucket without versioning🔗 </span> </a> </li> <li class=md-nav__item> <a href=#enabling-versioning-on-a-bucket class=md-nav__link> <span class=md-ellipsis> Enabling versioning on a bucket🔗 </span> </a> </li> <li class=md-nav__item> <a href=#uploading-file class=md-nav__link> <span class=md-ellipsis> Uploading file🔗 </span> </a> </li> <li class=md-nav__item> <a href=#s3-paths class=md-nav__link> <span class=md-ellipsis> S3 paths🔗 </span> </a> </li> <li class=md-nav__item> <a href=#uploading-another-version-of-a-file class=md-nav__link> <span class=md-ellipsis> Uploading another version of a file🔗 </span> </a> </li> <li class=md-nav__item> <a href=#listing-available-versions-of-a-file class=md-nav__link> <span class=md-ellipsis> Listing available versions of a file🔗 </span> </a> <nav class=md-nav aria-label="Listing available versions of a file🔗"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#example-1-one-file-two-versions class=md-nav__link> <span class=md-ellipsis> Example 1: One file, two versions🔗 </span> </a> </li> <li class=md-nav__item> <a href=#example-2-multiple-files-multiple-versions class=md-nav__link> <span class=md-ellipsis> Example 2: Multiple files, multiple versions🔗 </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#downloading-a-chosen-version-of-the-file class=md-nav__link> <span class=md-ellipsis> Downloading a chosen version of the file🔗 </span> </a> </li> <li class=md-nav__item> <a href=#deleting-objects-on-version-enabled-buckets class=md-nav__link> <span class=md-ellipsis> Deleting objects on version-enabled buckets🔗 </span> </a> <nav class=md-nav aria-label="Deleting objects on version-enabled buckets🔗"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#setting-up-a-deletion-marker class=md-nav__link> <span class=md-ellipsis> Setting up a deletion marker🔗 </span> </a> </li> <li class=md-nav__item> <a href=#removing-the-deletion-marker class=md-nav__link> <span class=md-ellipsis> Removing the deletion marker🔗 </span> </a> </li> <li class=md-nav__item> <a href=#permanently-removing-files-from-version-enabled-bucket class=md-nav__link> <span class=md-ellipsis> Permanently removing files from version-enabled bucket🔗 </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#using-lifecycle-policy-to-configure-automatic-deletion-of-previous-versions-of-files class=md-nav__link> <span class=md-ellipsis> Using lifecycle policy to configure automatic deletion of previous versions of files🔗 </span> </a> <nav class=md-nav aria-label="Using lifecycle policy to configure automatic deletion of previous versions of files🔗"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#preparing-the-testing-environment class=md-nav__link> <span class=md-ellipsis> Preparing the testing environment🔗 </span> </a> </li> <li class=md-nav__item> <a href=#setting-up-automatic-removal-of-previous-versions class=md-nav__link> <span class=md-ellipsis> Setting up automatic removal of previous versions🔗 </span> </a> </li> <li class=md-nav__item> <a href=#deleting-lifecycle-policy class=md-nav__link> <span class=md-ellipsis> Deleting lifecycle policy🔗 </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#suspending-versioning class=md-nav__link> <span class=md-ellipsis> Suspending versioning🔗 </span> </a> <nav class=md-nav aria-label="Suspending versioning🔗"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bucket-on-which-versioning-has-never-been-enabled class=md-nav__link> <span class=md-ellipsis> Bucket on which versioning has never been enabled🔗 </span> </a> <nav class=md-nav aria-label="Bucket on which versioning has never been enabled🔗"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#example class=md-nav__link> <span class=md-ellipsis> Example🔗 </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#suspending-of-versioning class=md-nav__link> <span class=md-ellipsis> Suspending of versioning🔗 </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#what-to-do-next class=md-nav__link> <span class=md-ellipsis> What To Do Next🔗 </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=s3-bucket-object-versioning-on-3engines-cloud>S3 bucket object versioning on 3Engines Cloud<a href=#s3-bucket-object-versioning-on-brand-name title="Permalink to this headline">🔗</a><a class=headerlink href=#s3-bucket-object-versioning-on-3engines-cloud title="Permanent link">&para;</a></h1> <p>S3 bucket versioning allows you to keep different versions of the file stored on object storage. Here are some typical use cases:</p> <blockquote> <ul> <li>data recovery and backup</li> <li>accidental deletion protection</li> <li>collaboration and document management</li> <li>application testing and rollbacks</li> <li>change tracking for large datasets</li> <li>file synchronization and archiving</li> </ul> </blockquote> <p>In this article, you will learn how to</p> <blockquote> <ul> <li>set up S3 bucket object versioning on 3Engines Cloud OpenStack</li> <li>download different versions of files and</li> <li>set up automatic removal of previous versions.</li> </ul> </blockquote> <h2 id=prerequisites>Prerequisites<a href=#prerequisites title="Permalink to this headline">🔗</a><a class=headerlink href=#prerequisites title="Permanent link">&para;</a></h2> <p>No. 1 <strong>Account</strong></p> <p>You need a 3Engines Cloud hosting account with access to Horizon interface: <a href=https://horizon.3Engines.com>https://horizon.3Engines.com</a>.</p> <p>No. 2 <strong>AWS CLI installed on your local computer or virtual machine</strong></p> <p><a href=https://aws.amazon.com/cli/ >AWS CLI</a> is a free and open source software which can manage different clouds, not only those hosted by Amazon Web Services. In this article, you will use it to control your resources hosted on 3Engines Cloud cloud.</p> <p>This article was written for Ubuntu 22.04. The commands may work on other operating systems, but might require adjusting.</p> <p>Here is how to install AWS CLI on Ubuntu 22.04:</p> <div class=highlight><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a>sudo apt install awscli
</span></code></pre></div> <p>No. 3 <strong>Generated EC2 credentials</strong></p> <p>To authenticate to 3Engines Cloud cloud when using AWS CLI, you need to use EC2 credentials. If you dont have them yet, check <a href=../cloud/How-to-generate-ec2-credentials-on-3Engines-Cloud.html.html>How to generate and manage EC2 credentials on 3Engines Cloud</a></p> <p>No. 4 <strong>Bucket naming rules</strong></p> <p>Over the course of this article, you will create several buckets. Make sure that you know the rules regarding what characters are allowed in bucket names. See section <strong>Creating a new object storage container</strong> of <a href=How-to-use-Object-Storage-on-3Engines-Cloud.html.html>How to use Object Storage on 3Engines Cloud</a> to learn more.</p> <p>No. 5 <strong>Terminology: container vs. bucket</strong></p> <p>In this article, both “container” and “bucket” represent the same category of resources hosted on 3Engines Cloud cloud. The former term is more often used by the Horizon dashboard and the latter term is more often used by AWS CLI.</p> <h2 id=what-we-are-going-to-cover>What We Are Going To Cover<a href=#what-we-are-going-to-cover title="Permalink to this headline">🔗</a><a class=headerlink href=#what-we-are-going-to-cover title="Permanent link">&para;</a></h2> <blockquote> <ul> <li> <p>Configuring and testing AWS CLI</p> </li> <li> <p>Configure AWS CLI</p> </li> <li>Verify that AWS CLI is working</li> <li>Assigning bucket names to shell variables</li> </ul> <blockquote> <ul> <li>Making sure that bucket names are unique</li> <li>Creating a bucket without versioning</li> <li>Enabling versioning on a bucket</li> <li>Uploading file</li> <li>S3 paths</li> <li>Uploading another version of a file</li> <li> <p>Listing available versions of a file</p> </li> <li> <p>Example 1: One file, two versions</p> </li> <li>Example 2: Multiple files, multiple versions</li> <li>Downloading a chosen version of a file</li> <li> <p>Deleting objects on version-enabled buckets</p> </li> <li> <p>Setting up a deletion marker</p> </li> <li>Removing deletion marker</li> <li>Permanently removing a file from version-enabled bucket</li> <li> <p>Using lifecycle policy to configure automatic deletion of previous versions of files</p> </li> <li> <p>Preparing the testing environment</p> </li> <li>Setting up automatic removal of previous versions</li> <li>Deleting lifecycle policy</li> <li> <p>Suspending versioning</p> </li> <li> <p>Bucket on which versioning has never been enabled</p> </li> <li>Suspending of versioning</li> </ul> </blockquote> </blockquote> <h2 id=configuring-and-testing-aws-cli>Configuring and testing AWS CLI<a href=#configuring-and-testing-aws-cli title="Permalink to this headline">🔗</a><a class=headerlink href=#configuring-and-testing-aws-cli title="Permanent link">&para;</a></h2> <p>Now follows how to configure AWS CLI for the first time; if it has been configured before, you might need to adjust the configuration according to the needs of this article.</p> <h3 id=step-1-configure-aws-cli>Step 1: Configure AWS CLI<a href=#step-1-configure-aws-cli title="Permalink to this headline">🔗</a><a class=headerlink href=#step-1-configure-aws-cli title="Permanent link">&para;</a></h3> <p>To configure AWS CLI, create a folder called <strong>.aws</strong> in your home directory:</p> <div class=highlight><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a>mkdir ~/.aws
</span></code></pre></div> <p>In it, create a text file called <strong>credentials</strong></p> <div class=highlight><pre><span></span><code><span id=__span-2-1><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a>touch ~/.aws/credentials
</span></code></pre></div> <p>Navigate to <strong>.aws</strong> folder:</p> <div class=highlight><pre><span></span><code><span id=__span-3-1><a id=__codelineno-3-1 name=__codelineno-3-1 href=#__codelineno-3-1></a>cd ~/.aws
</span></code></pre></div> <p>This is how listing of the contents of your <strong>.aws</strong> folder could now look like:</p> <p><a class=glightbox href=../_images/s3-bucket-versioning-01_creodias.png data-type=image data-width=100% data-height=auto data-desc-position=bottom><img alt=s3-bucket-versioning-01_creodias.png src=../_images/s3-bucket-versioning-01_creodias.png></a></p> <p>Open file <strong>credentials</strong> in plain text editor of your choice (like <strong>nano</strong> or <strong>vim</strong>). If you are using <strong>nano</strong>, this is the command:</p> <div class=highlight><pre><span></span><code><span id=__span-4-1><a id=__codelineno-4-1 name=__codelineno-4-1 href=#__codelineno-4-1></a>nano credentials
</span></code></pre></div> <p>Enter the following:</p> <div class=highlight><pre><span></span><code><span id=__span-5-1><a id=__codelineno-5-1 name=__codelineno-5-1 href=#__codelineno-5-1></a>[default]
</span><span id=__span-5-2><a id=__codelineno-5-2 name=__codelineno-5-2 href=#__codelineno-5-2></a>aws_access_key_id = &lt;&lt;YOUR_ACCESS_KEY&gt;&gt;
</span><span id=__span-5-3><a id=__codelineno-5-3 name=__codelineno-5-3 href=#__codelineno-5-3></a>aws_secret_access_key = &lt;&lt;YOUR_SECRET_KEY&gt;&gt;
</span></code></pre></div> <p>Replace <strong>&lt;<your\_access\_key>&gt;</strong> and <strong>&lt;<your\_secret\_key>&gt;</strong> with your access and secret key, respectively.</p> <p>Save the file and exit the text editor..</p> <p>The commands we provide in this article will have the appropriate endpoint already included, via the <strong>--endpoint-url</strong> parameter, and all you need to do is to select the command for the cloud that you are using.</p> <h3 id=step-2-verify-that-aws-cli-is-working>Step 2: Verify that AWS CLI is working<a href=#step-2-verify-that-aws-cli-is-working title="Permalink to this headline">🔗</a><a class=headerlink href=#step-2-verify-that-aws-cli-is-working title="Permanent link">&para;</a></h3> <p>Execute command <strong>list-buckets</strong> to list buckets:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-6-1><a id=__codelineno-6-1 name=__codelineno-6-1 href=#__codelineno-6-1></a>aws s3api list-buckets \
</span><span id=__span-6-2><a id=__codelineno-6-2 name=__codelineno-6-2 href=#__codelineno-6-2></a>--endpoint-url https://s3.waw4-1.3Engines.com
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-7-1><a id=__codelineno-7-1 name=__codelineno-7-1 href=#__codelineno-7-1></a>aws s3api list-buckets \
</span><span id=__span-7-2><a id=__codelineno-7-2 name=__codelineno-7-2 href=#__codelineno-7-2></a>--endpoint-url https://s3.waw3-1.3Engines.com
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-8-1><a id=__codelineno-8-1 name=__codelineno-8-1 href=#__codelineno-8-1></a>aws s3api list-buckets \
</span><span id=__span-8-2><a id=__codelineno-8-2 name=__codelineno-8-2 href=#__codelineno-8-2></a>--endpoint-url https://s3.waw3-2.3Engines.com
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-9-1><a id=__codelineno-9-1 name=__codelineno-9-1 href=#__codelineno-9-1></a>aws s3api list-buckets \
</span><span id=__span-9-2><a id=__codelineno-9-2 name=__codelineno-9-2 href=#__codelineno-9-2></a>--endpoint-url https://s3.fra1-2.3Engines.com
</span></code></pre></div> <p>The output should be in JSON format. If you have a bucket named <strong>bucket1</strong> and another bucket named <strong>bucket2</strong>, this is how it could look like:</p> <div class=highlight><pre><span></span><code><span id=__span-10-1><a id=__codelineno-10-1 name=__codelineno-10-1 href=#__codelineno-10-1></a>{
</span><span id=__span-10-2><a id=__codelineno-10-2 name=__codelineno-10-2 href=#__codelineno-10-2></a> &quot;Buckets&quot;: [
</span><span id=__span-10-3><a id=__codelineno-10-3 name=__codelineno-10-3 href=#__codelineno-10-3></a> {
</span><span id=__span-10-4><a id=__codelineno-10-4 name=__codelineno-10-4 href=#__codelineno-10-4></a> &quot;Name&quot;: &quot;bucket1&quot;,
</span><span id=__span-10-5><a id=__codelineno-10-5 name=__codelineno-10-5 href=#__codelineno-10-5></a> &quot;CreationDate&quot;: &quot;2023-11-14T08:55:38.526Z&quot;
</span><span id=__span-10-6><a id=__codelineno-10-6 name=__codelineno-10-6 href=#__codelineno-10-6></a> },
</span><span id=__span-10-7><a id=__codelineno-10-7 name=__codelineno-10-7 href=#__codelineno-10-7></a> {
</span><span id=__span-10-8><a id=__codelineno-10-8 name=__codelineno-10-8 href=#__codelineno-10-8></a> &quot;Name&quot;: &quot;bucket2&quot;,
</span><span id=__span-10-9><a id=__codelineno-10-9 name=__codelineno-10-9 href=#__codelineno-10-9></a> &quot;CreationDate&quot;: &quot;2024-01-30T10:11:44.157Z&quot;
</span><span id=__span-10-10><a id=__codelineno-10-10 name=__codelineno-10-10 href=#__codelineno-10-10></a> }
</span><span id=__span-10-11><a id=__codelineno-10-11 name=__codelineno-10-11 href=#__codelineno-10-11></a> ],
</span><span id=__span-10-12><a id=__codelineno-10-12 name=__codelineno-10-12 href=#__codelineno-10-12></a> &quot;Owner&quot;: {
</span><span id=__span-10-13><a id=__codelineno-10-13 name=__codelineno-10-13 href=#__codelineno-10-13></a> &quot;DisplayName&quot;: &quot;my-project&quot;,
</span><span id=__span-10-14><a id=__codelineno-10-14 name=__codelineno-10-14 href=#__codelineno-10-14></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-10-15><a id=__codelineno-10-15 name=__codelineno-10-15 href=#__codelineno-10-15></a> }
</span><span id=__span-10-16><a id=__codelineno-10-16 name=__codelineno-10-16 href=#__codelineno-10-16></a>}
</span></code></pre></div> <p>Here:</p> <blockquote> <ul> <li>Value of key <strong>Buckets</strong> should contain a list of your buckets (names and creation dates)</li> <li>Value of key <strong>Owner</strong> should contain name and ID of your project</li> </ul> </blockquote> <p>Note</p> <p>In this article, colors have been added to make JSON more legible. AWS CLI typically does not output colored text.</p> <h2 id=assigning-bucket-names-to-shell-variables>Assigning bucket names to shell variables<a href=#assigning-bucket-names-to-shell-variables title="Permalink to this headline">🔗</a><a class=headerlink href=#assigning-bucket-names-to-shell-variables title="Permanent link">&para;</a></h2> <p>To differentiate between different buckets used in various examples of this article, we will use the following shell variables:</p> <dl> <dt>bucket_name1</dt> <dd>used in majority of examples in this article</dd> <dt>bucket_name2</dt> <dd>for uploading file to non-root directory</dd> <dt>bucket_name3</dt> <dd>for using lifecycle policy</dd> <dt>bucket_name4</dt> <dd>bucket on which versioning has never been enabled, used as introduction to suspending of versioning</dd> <dt>bucket_name5</dt> <dd>example of suspending of versioning</dd> </dl> <p>Choose names for these five buckets. Make sure to follow naming rules from Prerequisite No. 4.</p> <p>Assign the names to these variables, for example:</p> <div class=highlight><pre><span></span><code><span id=__span-11-1><a id=__codelineno-11-1 name=__codelineno-11-1 href=#__codelineno-11-1></a>bucket_name1=&quot;versioning-test&quot;
</span><span id=__span-11-2><a id=__codelineno-11-2 name=__codelineno-11-2 href=#__codelineno-11-2></a>bucket_name2=&quot;examplebucket&quot;
</span><span id=__span-11-3><a id=__codelineno-11-3 name=__codelineno-11-3 href=#__codelineno-11-3></a>bucket_name3=&quot;testnoncurrent&quot;
</span><span id=__span-11-4><a id=__codelineno-11-4 name=__codelineno-11-4 href=#__codelineno-11-4></a>bucket_name4=&quot;no-versioning&quot;
</span><span id=__span-11-5><a id=__codelineno-11-5 name=__codelineno-11-5 href=#__codelineno-11-5></a>bucket_name5=&quot;anotherbucket&quot;
</span></code></pre></div> <p>Important</p> <p>The shell variables will be valid as long as your terminal session is active. When you start a new terminal session, you will need to reassign these variables. Therefore, you should write them down somewhere so that you dont lose them.</p> <p>To use content of a shell variable as an argument of a command, you need to prefix the name of the variable with <strong><span class=arithmatex>\(**. An example command to create a bucket whose name is stored in variable **\)</span>bucket_name1</strong> (where <strong>&lt;<some\_url>&gt;</strong> is the URL of the endpoint):</p> <div class=highlight><pre><span></span><code><span id=__span-12-1><a id=__codelineno-12-1 name=__codelineno-12-1 href=#__codelineno-12-1></a>aws s3api create-bucket \
</span><span id=__span-12-2><a id=__codelineno-12-2 name=__codelineno-12-2 href=#__codelineno-12-2></a>--endpoint-url &lt;&lt;SOME_URL&gt;&gt; \
</span><span id=__span-12-3><a id=__codelineno-12-3 name=__codelineno-12-3 href=#__codelineno-12-3></a>--bucket $bucket_name1
</span></code></pre></div> <h3 id=making-sure-that-bucket-names-are-unique>Making sure that bucket names are unique<a href=#making-sure-that-bucket-names-are-unique title="Permalink to this headline">🔗</a><a class=headerlink href=#making-sure-that-bucket-names-are-unique title="Permanent link">&para;</a></h3> <p>If <strong>single tenancy</strong> is enabled on the cloud you are using, the name of your bucket needs to be unique for the entire cloud. Buckets called <strong>versioning-test</strong>, <strong>examplebucket</strong> etc. may well already exist. If that is the case, the output from <strong>create-bucket</strong> command will look like this:</p> <div class=highlight><pre><span></span><code><span id=__span-13-1><a id=__codelineno-13-1 name=__codelineno-13-1 href=#__codelineno-13-1></a>argument of type &#39;NoneType&#39; is not iterable
</span></code></pre></div> <p>To create unique names, you can, for example, add a unique string to the base bucket name. Consider adding</p> <blockquote> <ul> <li>your initials,</li> <li>date and time</li> <li>a random number</li> <li>a UUID (random string of characters and digits)</li> </ul> </blockquote> <p>or even a combination of these methods.</p> <p>As a practical example, on Ubuntu 22.04, use command called <strong>uuidgen</strong> to generate a UUID:</p> <div class=highlight><pre><span></span><code><span id=__span-14-1><a id=__codelineno-14-1 name=__codelineno-14-1 href=#__codelineno-14-1></a>uuidgen
</span></code></pre></div> <p>The output should contain a UUID:</p> <div class=highlight><pre><span></span><code><span id=__span-15-1><a id=__codelineno-15-1 name=__codelineno-15-1 href=#__codelineno-15-1></a>889fa8de-9623-4735-99c7-9f1567e2a965
</span></code></pre></div> <p>Then you can copy this generated number and add it to the bucket name, for instance:</p> <div class=highlight><pre><span></span><code><span id=__span-16-1><a id=__codelineno-16-1 name=__codelineno-16-1 href=#__codelineno-16-1></a>bucket_name1=&quot;versioning-test-889fa8de-9623-4735-99c7-9f1567e2a965&quot;
</span></code></pre></div> <p>If needed, make sure to repeat this process for each variable.</p> <p>The best course of action is to store bucket names somewhere safe as there are two scenarios possible:</p> <dl> <dt>Reusing the existing buckets</dt> <dd>Maybe the terminal was rebooted at some point but you want to continue working through the article. Or, you have previously used the article to create several buckets and now you want to continue using them.</dd> <dt>Avoid using the existing buckets</dt> <dd>Go through the article without previous baggage, using a “clean slate” approach. This is what you would normally do when using the article for the very first time.</dd> </dl> <h2 id=creating-a-bucket-without-versioning>Creating a bucket without versioning<a href=#creating-a-bucket-without-versioning title="Permalink to this headline">🔗</a><a class=headerlink href=#creating-a-bucket-without-versioning title="Permanent link">&para;</a></h2> <p>Command <strong>create-bucket</strong> will create a bucket under your chosen name (variable <strong>$bucket_name1</strong>).</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-17-1><a id=__codelineno-17-1 name=__codelineno-17-1 href=#__codelineno-17-1></a>aws s3api create-bucket \
</span><span id=__span-17-2><a id=__codelineno-17-2 name=__codelineno-17-2 href=#__codelineno-17-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-17-3><a id=__codelineno-17-3 name=__codelineno-17-3 href=#__codelineno-17-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-18-1><a id=__codelineno-18-1 name=__codelineno-18-1 href=#__codelineno-18-1></a>aws s3api create-bucket \
</span><span id=__span-18-2><a id=__codelineno-18-2 name=__codelineno-18-2 href=#__codelineno-18-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-18-3><a id=__codelineno-18-3 name=__codelineno-18-3 href=#__codelineno-18-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-19-1><a id=__codelineno-19-1 name=__codelineno-19-1 href=#__codelineno-19-1></a>aws s3api create-bucket \
</span><span id=__span-19-2><a id=__codelineno-19-2 name=__codelineno-19-2 href=#__codelineno-19-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-19-3><a id=__codelineno-19-3 name=__codelineno-19-3 href=#__codelineno-19-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-20-1><a id=__codelineno-20-1 name=__codelineno-20-1 href=#__codelineno-20-1></a>aws s3api create-bucket \
</span><span id=__span-20-2><a id=__codelineno-20-2 name=__codelineno-20-2 href=#__codelineno-20-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-20-3><a id=__codelineno-20-3 name=__codelineno-20-3 href=#__codelineno-20-3></a>--bucket $bucket_name1
</span></code></pre></div> <p>The output of this command should be empty if everything went well.</p> <h2 id=enabling-versioning-on-a-bucket>Enabling versioning on a bucket<a href=#enabling-versioning-on-a-bucket title="Permalink to this headline">🔗</a><a class=headerlink href=#enabling-versioning-on-a-bucket title="Permanent link">&para;</a></h2> <p>To enable versioning on the bucket <strong>$bucket_name1</strong>, use command <strong>put-bucket-versioning</strong>:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-21-1><a id=__codelineno-21-1 name=__codelineno-21-1 href=#__codelineno-21-1></a>aws s3api put-bucket-versioning \
</span><span id=__span-21-2><a id=__codelineno-21-2 name=__codelineno-21-2 href=#__codelineno-21-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-21-3><a id=__codelineno-21-3 name=__codelineno-21-3 href=#__codelineno-21-3></a>--bucket $bucket_name1 \
</span><span id=__span-21-4><a id=__codelineno-21-4 name=__codelineno-21-4 href=#__codelineno-21-4></a>--versioning-configuration MFADelete=Disabled,Status=Enabled
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-22-1><a id=__codelineno-22-1 name=__codelineno-22-1 href=#__codelineno-22-1></a>aws s3api put-bucket-versioning \
</span><span id=__span-22-2><a id=__codelineno-22-2 name=__codelineno-22-2 href=#__codelineno-22-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-22-3><a id=__codelineno-22-3 name=__codelineno-22-3 href=#__codelineno-22-3></a>--bucket $bucket_name1 \
</span><span id=__span-22-4><a id=__codelineno-22-4 name=__codelineno-22-4 href=#__codelineno-22-4></a>--versioning-configuration MFADelete=Disabled,Status=Enabled
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-23-1><a id=__codelineno-23-1 name=__codelineno-23-1 href=#__codelineno-23-1></a>aws s3api put-bucket-versioning \
</span><span id=__span-23-2><a id=__codelineno-23-2 name=__codelineno-23-2 href=#__codelineno-23-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-23-3><a id=__codelineno-23-3 name=__codelineno-23-3 href=#__codelineno-23-3></a>--bucket $bucket_name1 \
</span><span id=__span-23-4><a id=__codelineno-23-4 name=__codelineno-23-4 href=#__codelineno-23-4></a>--versioning-configuration MFADelete=Disabled,Status=Enabled
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-24-1><a id=__codelineno-24-1 name=__codelineno-24-1 href=#__codelineno-24-1></a>aws s3api put-bucket-versioning \
</span><span id=__span-24-2><a id=__codelineno-24-2 name=__codelineno-24-2 href=#__codelineno-24-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-24-3><a id=__codelineno-24-3 name=__codelineno-24-3 href=#__codelineno-24-3></a>--bucket $bucket_name1 \
</span><span id=__span-24-4><a id=__codelineno-24-4 name=__codelineno-24-4 href=#__codelineno-24-4></a>--versioning-configuration MFADelete=Disabled,Status=Enabled
</span></code></pre></div> <p>Note</p> <p>On Amazon Web Services, the presence of parameter <strong>MFADelete</strong> increases security by requiring two security factors when changing versioning status or removing file version. Here we disable it for simplicity.</p> <p>The output of this command should also be empty.</p> <h2 id=uploading-file>Uploading file<a href=#uploading-file title="Permalink to this headline">🔗</a><a class=headerlink href=#uploading-file title="Permanent link">&para;</a></h2> <p>Lets say that we upload a file to the root directory of our container. Let the name of the file be <strong>something.txt</strong> and let it have the following content: <strong>This is version 1</strong>.</p> <p><a class=glightbox href=../_images/s3-bucket-versioning-02_creodias.png data-type=image data-width=100% data-height=auto data-desc-position=bottom><img alt=s3-bucket-versioning-02_creodias.png src=../_images/s3-bucket-versioning-02_creodias.png></a></p> <p>We are in the folder which contains that file and we execute command <strong>put-object</strong> to upload the file to our bucket:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-25-1><a id=__codelineno-25-1 name=__codelineno-25-1 href=#__codelineno-25-1></a>aws s3api put-object \
</span><span id=__span-25-2><a id=__codelineno-25-2 name=__codelineno-25-2 href=#__codelineno-25-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-25-3><a id=__codelineno-25-3 name=__codelineno-25-3 href=#__codelineno-25-3></a>--bucket $bucket_name1 \
</span><span id=__span-25-4><a id=__codelineno-25-4 name=__codelineno-25-4 href=#__codelineno-25-4></a>--body something.txt \
</span><span id=__span-25-5><a id=__codelineno-25-5 name=__codelineno-25-5 href=#__codelineno-25-5></a>--key something.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-26-1><a id=__codelineno-26-1 name=__codelineno-26-1 href=#__codelineno-26-1></a>aws s3api put-object \
</span><span id=__span-26-2><a id=__codelineno-26-2 name=__codelineno-26-2 href=#__codelineno-26-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-26-3><a id=__codelineno-26-3 name=__codelineno-26-3 href=#__codelineno-26-3></a>--bucket $bucket_name1 \
</span><span id=__span-26-4><a id=__codelineno-26-4 name=__codelineno-26-4 href=#__codelineno-26-4></a>--body something.txt \
</span><span id=__span-26-5><a id=__codelineno-26-5 name=__codelineno-26-5 href=#__codelineno-26-5></a>--key something.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-27-1><a id=__codelineno-27-1 name=__codelineno-27-1 href=#__codelineno-27-1></a>aws s3api put-object \
</span><span id=__span-27-2><a id=__codelineno-27-2 name=__codelineno-27-2 href=#__codelineno-27-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-27-3><a id=__codelineno-27-3 name=__codelineno-27-3 href=#__codelineno-27-3></a>--bucket $bucket_name1 \
</span><span id=__span-27-4><a id=__codelineno-27-4 name=__codelineno-27-4 href=#__codelineno-27-4></a>--body something.txt \
</span><span id=__span-27-5><a id=__codelineno-27-5 name=__codelineno-27-5 href=#__codelineno-27-5></a>--key something.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-28-1><a id=__codelineno-28-1 name=__codelineno-28-1 href=#__codelineno-28-1></a>aws s3api put-object \
</span><span id=__span-28-2><a id=__codelineno-28-2 name=__codelineno-28-2 href=#__codelineno-28-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-28-3><a id=__codelineno-28-3 name=__codelineno-28-3 href=#__codelineno-28-3></a>--bucket $bucket_name1 \
</span><span id=__span-28-4><a id=__codelineno-28-4 name=__codelineno-28-4 href=#__codelineno-28-4></a>--body something.txt \
</span><span id=__span-28-5><a id=__codelineno-28-5 name=__codelineno-28-5 href=#__codelineno-28-5></a>--key something.txt
</span></code></pre></div> <p>In this command, the values of parameters are:</p> <dl> <dt><strong>--body</strong></dt> <dd>the name of the file within our local file system</dd> <dt><strong>--key</strong></dt> <dd>the location (like file name) under which the file is to be saved on the container.</dd> </dl> <p>We get output like this:</p> <div class=highlight><pre><span></span><code><span id=__span-29-1><a id=__codelineno-29-1 name=__codelineno-29-1 href=#__codelineno-29-1></a>{
</span><span id=__span-29-2><a id=__codelineno-29-2 name=__codelineno-29-2 href=#__codelineno-29-2></a> &quot;ETag&quot;: &quot;\&quot;a4d8980efbd9b71f416595a3d5588b32\&quot;&quot;,
</span><span id=__span-29-3><a id=__codelineno-29-3 name=__codelineno-29-3 href=#__codelineno-29-3></a> &quot;VersionId&quot;: &quot;whrj2pDFrrFq0WLdH0zGzprfkebQykf&quot;
</span><span id=__span-29-4><a id=__codelineno-29-4 name=__codelineno-29-4 href=#__codelineno-29-4></a>}
</span></code></pre></div> <p>This upload created the first version of the file. The ID of this version is <strong>whrj2pDFrrFq0WLdH0zGzprfkebQykf</strong> (value of key <strong>VersionId</strong>). You can write down it as you will use it again to access the bucket.</p> <p>The output also provides an <strong>ETag</strong> key, which is a hash of the object you uploaded.</p> <h2 id=s3-paths>S3 paths<a href=#s3-paths title="Permalink to this headline">🔗</a><a class=headerlink href=#s3-paths title="Permanent link">&para;</a></h2> <p>The parameter <strong>--key</strong> from <strong>put-object</strong> command may also be used in other commands to reference an already uploaded bucket in the container.</p> <p>If used without slashes, as in the example above, the file is in the root directory.</p> <p>If your file is outside of the root directory, value of parameter <strong>--key</strong> needs to include directory in which it is located. When providing this path, separate directories and files with forward slashes (<strong>/</strong>). Contrary to the Linux file system, do not add slash to the beginning of the path. If your bucket contains</p> <blockquote> <ul> <li>directory called <strong>place1</strong>, which contains</li> <li>another directory, <strong>place2</strong>, which, in turn, contains</li> <li>file called</li> </ul> </blockquote> <div class=highlight><pre><span></span><code><span id=__span-30-1><a id=__codelineno-30-1 name=__codelineno-30-1 href=#__codelineno-30-1></a>myfile.txt
</span></code></pre></div> <p>this is how to specify its path for <strong>--key</strong> parameter:</p> <div class=highlight><pre><span></span><code><span id=__span-31-1><a id=__codelineno-31-1 name=__codelineno-31-1 href=#__codelineno-31-1></a>--key place1/place2/myfile.txt
</span></code></pre></div> <p>To practice, you can create a new bucket whose name is stored in variable <strong>$bucket2</strong></p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-32-1><a id=__codelineno-32-1 name=__codelineno-32-1 href=#__codelineno-32-1></a>aws s3api create-bucket \
</span><span id=__span-32-2><a id=__codelineno-32-2 name=__codelineno-32-2 href=#__codelineno-32-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-32-3><a id=__codelineno-32-3 name=__codelineno-32-3 href=#__codelineno-32-3></a>--bucket $bucket_name2
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-33-1><a id=__codelineno-33-1 name=__codelineno-33-1 href=#__codelineno-33-1></a>aws s3api create-bucket \
</span><span id=__span-33-2><a id=__codelineno-33-2 name=__codelineno-33-2 href=#__codelineno-33-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-33-3><a id=__codelineno-33-3 name=__codelineno-33-3 href=#__codelineno-33-3></a>--bucket $bucket_name2
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-34-1><a id=__codelineno-34-1 name=__codelineno-34-1 href=#__codelineno-34-1></a>aws s3api create-bucket \
</span><span id=__span-34-2><a id=__codelineno-34-2 name=__codelineno-34-2 href=#__codelineno-34-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-34-3><a id=__codelineno-34-3 name=__codelineno-34-3 href=#__codelineno-34-3></a>--bucket $bucket_name2
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-35-1><a id=__codelineno-35-1 name=__codelineno-35-1 href=#__codelineno-35-1></a>aws s3api create-bucket \
</span><span id=__span-35-2><a id=__codelineno-35-2 name=__codelineno-35-2 href=#__codelineno-35-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-35-3><a id=__codelineno-35-3 name=__codelineno-35-3 href=#__codelineno-35-3></a>--bucket $bucket_name2
</span></code></pre></div> <p>After that, you can create a file named <strong>myfile.txt</strong> and upload it to above mentioned directory of that bucket:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-36-1><a id=__codelineno-36-1 name=__codelineno-36-1 href=#__codelineno-36-1></a>aws s3api put-object \
</span><span id=__span-36-2><a id=__codelineno-36-2 name=__codelineno-36-2 href=#__codelineno-36-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-36-3><a id=__codelineno-36-3 name=__codelineno-36-3 href=#__codelineno-36-3></a>--bucket $bucket_name2 \
</span><span id=__span-36-4><a id=__codelineno-36-4 name=__codelineno-36-4 href=#__codelineno-36-4></a>--body myfile.txt \
</span><span id=__span-36-5><a id=__codelineno-36-5 name=__codelineno-36-5 href=#__codelineno-36-5></a>--key place1/place2/myfile.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-37-1><a id=__codelineno-37-1 name=__codelineno-37-1 href=#__codelineno-37-1></a>aws s3api put-object \
</span><span id=__span-37-2><a id=__codelineno-37-2 name=__codelineno-37-2 href=#__codelineno-37-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-37-3><a id=__codelineno-37-3 name=__codelineno-37-3 href=#__codelineno-37-3></a>--bucket $bucket_name2 \
</span><span id=__span-37-4><a id=__codelineno-37-4 name=__codelineno-37-4 href=#__codelineno-37-4></a>--body myfile.txt \
</span><span id=__span-37-5><a id=__codelineno-37-5 name=__codelineno-37-5 href=#__codelineno-37-5></a>--key place1/place2/myfile.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-38-1><a id=__codelineno-38-1 name=__codelineno-38-1 href=#__codelineno-38-1></a>aws s3api put-object \
</span><span id=__span-38-2><a id=__codelineno-38-2 name=__codelineno-38-2 href=#__codelineno-38-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-38-3><a id=__codelineno-38-3 name=__codelineno-38-3 href=#__codelineno-38-3></a>--bucket $bucket_name2 \
</span><span id=__span-38-4><a id=__codelineno-38-4 name=__codelineno-38-4 href=#__codelineno-38-4></a>--body myfile.txt \
</span><span id=__span-38-5><a id=__codelineno-38-5 name=__codelineno-38-5 href=#__codelineno-38-5></a>--key place1/place2/myfile.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-39-1><a id=__codelineno-39-1 name=__codelineno-39-1 href=#__codelineno-39-1></a>aws s3api put-object \
</span><span id=__span-39-2><a id=__codelineno-39-2 name=__codelineno-39-2 href=#__codelineno-39-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-39-3><a id=__codelineno-39-3 name=__codelineno-39-3 href=#__codelineno-39-3></a>--bucket $bucket_name2 \
</span><span id=__span-39-4><a id=__codelineno-39-4 name=__codelineno-39-4 href=#__codelineno-39-4></a>--body myfile.txt \
</span><span id=__span-39-5><a id=__codelineno-39-5 name=__codelineno-39-5 href=#__codelineno-39-5></a>--key place1/place2/myfile.txt
</span></code></pre></div> <h2 id=uploading-another-version-of-a-file>Uploading another version of a file<a href=#uploading-another-version-of-a-file title="Permalink to this headline">🔗</a><a class=headerlink href=#uploading-another-version-of-a-file title="Permanent link">&para;</a></h2> <p>Let us now return to <strong>$bucket_name1</strong></p> <p>We already have file <strong>something.txt</strong> in the root directory of the container, in the cloud.</p> <p>Lets use your local computer to modify it so that it contains string <strong>This is version 2</strong>.</p> <p><a class=glightbox href=../_images/s3-bucket-versioning-03_creodias.png data-type=image data-width=100% data-height=auto data-desc-position=bottom><img alt=s3-bucket-versioning-03_creodias.png src=../_images/s3-bucket-versioning-03_creodias.png></a></p> <p>Then, we use the same command, <strong>put-object</strong>, to upload the modified file to the same location on the bucket:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-40-1><a id=__codelineno-40-1 name=__codelineno-40-1 href=#__codelineno-40-1></a>aws s3api put-object \
</span><span id=__span-40-2><a id=__codelineno-40-2 name=__codelineno-40-2 href=#__codelineno-40-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-40-3><a id=__codelineno-40-3 name=__codelineno-40-3 href=#__codelineno-40-3></a>--bucket $bucket_name1 \
</span><span id=__span-40-4><a id=__codelineno-40-4 name=__codelineno-40-4 href=#__codelineno-40-4></a>--key something.txt \
</span><span id=__span-40-5><a id=__codelineno-40-5 name=__codelineno-40-5 href=#__codelineno-40-5></a>--body something.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-41-1><a id=__codelineno-41-1 name=__codelineno-41-1 href=#__codelineno-41-1></a>aws s3api put-object \
</span><span id=__span-41-2><a id=__codelineno-41-2 name=__codelineno-41-2 href=#__codelineno-41-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-41-3><a id=__codelineno-41-3 name=__codelineno-41-3 href=#__codelineno-41-3></a>--bucket $bucket_name1 \
</span><span id=__span-41-4><a id=__codelineno-41-4 name=__codelineno-41-4 href=#__codelineno-41-4></a>--key something.txt \
</span><span id=__span-41-5><a id=__codelineno-41-5 name=__codelineno-41-5 href=#__codelineno-41-5></a>--body something.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-42-1><a id=__codelineno-42-1 name=__codelineno-42-1 href=#__codelineno-42-1></a>aws s3api put-object \
</span><span id=__span-42-2><a id=__codelineno-42-2 name=__codelineno-42-2 href=#__codelineno-42-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-42-3><a id=__codelineno-42-3 name=__codelineno-42-3 href=#__codelineno-42-3></a>--bucket $bucket_name1 \
</span><span id=__span-42-4><a id=__codelineno-42-4 name=__codelineno-42-4 href=#__codelineno-42-4></a>--key something.txt \
</span><span id=__span-42-5><a id=__codelineno-42-5 name=__codelineno-42-5 href=#__codelineno-42-5></a>--body something.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-43-1><a id=__codelineno-43-1 name=__codelineno-43-1 href=#__codelineno-43-1></a>aws s3api put-object \
</span><span id=__span-43-2><a id=__codelineno-43-2 name=__codelineno-43-2 href=#__codelineno-43-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-43-3><a id=__codelineno-43-3 name=__codelineno-43-3 href=#__codelineno-43-3></a>--bucket $bucket_name1 \
</span><span id=__span-43-4><a id=__codelineno-43-4 name=__codelineno-43-4 href=#__codelineno-43-4></a>--key something.txt \
</span><span id=__span-43-5><a id=__codelineno-43-5 name=__codelineno-43-5 href=#__codelineno-43-5></a>--body something.txt
</span></code></pre></div> <p>The output is similar, but this time it contains a different <strong>VersionId</strong>: <strong>whrj2pDFrrFq0WLdH0zGzprfkebQykf</strong>.</p> <div class=highlight><pre><span></span><code><span id=__span-44-1><a id=__codelineno-44-1 name=__codelineno-44-1 href=#__codelineno-44-1></a>{
</span><span id=__span-44-2><a id=__codelineno-44-2 name=__codelineno-44-2 href=#__codelineno-44-2></a> &quot;ETag&quot;: &quot;\&quot;ded190b85763d32ce9c09a8aef51f44c\&quot;&quot;,
</span><span id=__span-44-3><a id=__codelineno-44-3 name=__codelineno-44-3 href=#__codelineno-44-3></a> &quot;VersionId&quot;: &quot;t22ZzEq6kt5ILKFfLZgoeSzW.I9HVtN&quot;
</span><span id=__span-44-4><a id=__codelineno-44-4 name=__codelineno-44-4 href=#__codelineno-44-4></a>}
</span></code></pre></div> <p>To list all files in that bucket, execute command <strong>list-objects</strong> :</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-45-1><a id=__codelineno-45-1 name=__codelineno-45-1 href=#__codelineno-45-1></a>aws s3api list-objects \
</span><span id=__span-45-2><a id=__codelineno-45-2 name=__codelineno-45-2 href=#__codelineno-45-2></a>--bucket $bucket_name1 \
</span><span id=__span-45-3><a id=__codelineno-45-3 name=__codelineno-45-3 href=#__codelineno-45-3></a>--endpoint-url https://s3.waw4-1.3Engines.com
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-46-1><a id=__codelineno-46-1 name=__codelineno-46-1 href=#__codelineno-46-1></a>aws s3api list-objects \
</span><span id=__span-46-2><a id=__codelineno-46-2 name=__codelineno-46-2 href=#__codelineno-46-2></a>--bucket $bucket_name1 \
</span><span id=__span-46-3><a id=__codelineno-46-3 name=__codelineno-46-3 href=#__codelineno-46-3></a>--endpoint-url https://s3.waw3-1.3Engines.com
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-47-1><a id=__codelineno-47-1 name=__codelineno-47-1 href=#__codelineno-47-1></a>aws s3api list-objects \
</span><span id=__span-47-2><a id=__codelineno-47-2 name=__codelineno-47-2 href=#__codelineno-47-2></a>--bucket $bucket_name1 \
</span><span id=__span-47-3><a id=__codelineno-47-3 name=__codelineno-47-3 href=#__codelineno-47-3></a>--endpoint-url https://s3.waw3-2.3Engines.com
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-48-1><a id=__codelineno-48-1 name=__codelineno-48-1 href=#__codelineno-48-1></a>aws s3api list-objects \
</span><span id=__span-48-2><a id=__codelineno-48-2 name=__codelineno-48-2 href=#__codelineno-48-2></a>--bucket $bucket_name1 \
</span><span id=__span-48-3><a id=__codelineno-48-3 name=__codelineno-48-3 href=#__codelineno-48-3></a>--endpoint-url https://s3.fra1-2.3Engines.com
</span></code></pre></div> <p>The output will be similar to this:</p> <div class=highlight><pre><span></span><code><span id=__span-49-1><a id=__codelineno-49-1 name=__codelineno-49-1 href=#__codelineno-49-1></a>{
</span><span id=__span-49-2><a id=__codelineno-49-2 name=__codelineno-49-2 href=#__codelineno-49-2></a> &quot;Contents&quot;: [
</span><span id=__span-49-3><a id=__codelineno-49-3 name=__codelineno-49-3 href=#__codelineno-49-3></a> {
</span><span id=__span-49-4><a id=__codelineno-49-4 name=__codelineno-49-4 href=#__codelineno-49-4></a> &quot;Key&quot;: &quot;something.txt&quot;,
</span><span id=__span-49-5><a id=__codelineno-49-5 name=__codelineno-49-5 href=#__codelineno-49-5></a> &quot;LastModified&quot;: &quot;2024-08-23T10:32:30.259Z&quot;,
</span><span id=__span-49-6><a id=__codelineno-49-6 name=__codelineno-49-6 href=#__codelineno-49-6></a> &quot;ETag&quot;: &quot;\&quot;ded190b85763d32ce9c09a8aef51f44c\&quot;&quot;,
</span><span id=__span-49-7><a id=__codelineno-49-7 name=__codelineno-49-7 href=#__codelineno-49-7></a> &quot;Size&quot;: 18,
</span><span id=__span-49-8><a id=__codelineno-49-8 name=__codelineno-49-8 href=#__codelineno-49-8></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-49-9><a id=__codelineno-49-9 name=__codelineno-49-9 href=#__codelineno-49-9></a> &quot;Owner&quot;: {
</span><span id=__span-49-10><a id=__codelineno-49-10 name=__codelineno-49-10 href=#__codelineno-49-10></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-49-11><a id=__codelineno-49-11 name=__codelineno-49-11 href=#__codelineno-49-11></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-49-12><a id=__codelineno-49-12 name=__codelineno-49-12 href=#__codelineno-49-12></a> }
</span><span id=__span-49-13><a id=__codelineno-49-13 name=__codelineno-49-13 href=#__codelineno-49-13></a> }
</span><span id=__span-49-14><a id=__codelineno-49-14 name=__codelineno-49-14 href=#__codelineno-49-14></a> ],
</span><span id=__span-49-15><a id=__codelineno-49-15 name=__codelineno-49-15 href=#__codelineno-49-15></a> &quot;RequestCharged&quot;: null
</span><span id=__span-49-16><a id=__codelineno-49-16 name=__codelineno-49-16 href=#__codelineno-49-16></a>}
</span></code></pre></div> <p>Here is what the parameters mean:</p> <dl> <dt>Key</dt> <dd>name and/or path of the file.</dd> <dt>LastModified</dt> <dd>timestamp of when the file was last modified.</dd> <dt>Etag</dt> <dd>the hash of the file.</dd> <dt>Size</dt> <dd>size of the file in bytes.</dd> <dt>StorageClass</dt> <dd>information regarding the storage class (STANDARD in this example).</dd> <dt>Owner</dt> <dd>information about your project - name (parameter <strong>DisplayName</strong>) and ID.</dd> </dl> <p>In the example above, the bucket still contains only one file - <strong>something.txt</strong>. This upload overwrote it with a new version, but the previous version is still present.</p> <h2 id=listing-available-versions-of-a-file>Listing available versions of a file<a href=#listing-available-versions-of-a-file title="Permalink to this headline">🔗</a><a class=headerlink href=#listing-available-versions-of-a-file title="Permanent link">&para;</a></h2> <h3 id=example-1-one-file-two-versions>Example 1: One file, two versions<a href=#example-1-one-file-two-versions title="Permalink to this headline">🔗</a><a class=headerlink href=#example-1-one-file-two-versions title="Permanent link">&para;</a></h3> <p>To list the available versions of files in this bucket, use <strong>list-object-versions</strong>:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-50-1><a id=__codelineno-50-1 name=__codelineno-50-1 href=#__codelineno-50-1></a>aws s3api list-object-versions \
</span><span id=__span-50-2><a id=__codelineno-50-2 name=__codelineno-50-2 href=#__codelineno-50-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-50-3><a id=__codelineno-50-3 name=__codelineno-50-3 href=#__codelineno-50-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-51-1><a id=__codelineno-51-1 name=__codelineno-51-1 href=#__codelineno-51-1></a>aws s3api list-object-versions \
</span><span id=__span-51-2><a id=__codelineno-51-2 name=__codelineno-51-2 href=#__codelineno-51-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-51-3><a id=__codelineno-51-3 name=__codelineno-51-3 href=#__codelineno-51-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-52-1><a id=__codelineno-52-1 name=__codelineno-52-1 href=#__codelineno-52-1></a>aws s3api list-object-versions \
</span><span id=__span-52-2><a id=__codelineno-52-2 name=__codelineno-52-2 href=#__codelineno-52-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-52-3><a id=__codelineno-52-3 name=__codelineno-52-3 href=#__codelineno-52-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-53-1><a id=__codelineno-53-1 name=__codelineno-53-1 href=#__codelineno-53-1></a>aws s3api list-object-versions \
</span><span id=__span-53-2><a id=__codelineno-53-2 name=__codelineno-53-2 href=#__codelineno-53-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-53-3><a id=__codelineno-53-3 name=__codelineno-53-3 href=#__codelineno-53-3></a>--bucket $bucket_name1
</span></code></pre></div> <p>The output could look like this:</p> <div class=highlight><pre><span></span><code><span id=__span-54-1><a id=__codelineno-54-1 name=__codelineno-54-1 href=#__codelineno-54-1></a>{
</span><span id=__span-54-2><a id=__codelineno-54-2 name=__codelineno-54-2 href=#__codelineno-54-2></a> &quot;Versions&quot;: [
</span><span id=__span-54-3><a id=__codelineno-54-3 name=__codelineno-54-3 href=#__codelineno-54-3></a> {
</span><span id=__span-54-4><a id=__codelineno-54-4 name=__codelineno-54-4 href=#__codelineno-54-4></a> &quot;ETag&quot;: &quot;\&quot;ded190b85763d32ce9c09a8aef51f44c\&quot;&quot;,
</span><span id=__span-54-5><a id=__codelineno-54-5 name=__codelineno-54-5 href=#__codelineno-54-5></a> &quot;Size&quot;: 18,
</span><span id=__span-54-6><a id=__codelineno-54-6 name=__codelineno-54-6 href=#__codelineno-54-6></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-54-7><a id=__codelineno-54-7 name=__codelineno-54-7 href=#__codelineno-54-7></a> &quot;Key&quot;: &quot;something.txt&quot;,
</span><span id=__span-54-8><a id=__codelineno-54-8 name=__codelineno-54-8 href=#__codelineno-54-8></a> &quot;VersionId&quot;: &quot;t22ZzEq6kt5ILKFfLZgoeSzW.I9HVtN&quot;,
</span><span id=__span-54-9><a id=__codelineno-54-9 name=__codelineno-54-9 href=#__codelineno-54-9></a> &quot;IsLatest&quot;: true,
</span><span id=__span-54-10><a id=__codelineno-54-10 name=__codelineno-54-10 href=#__codelineno-54-10></a> &quot;LastModified&quot;: &quot;2024-08-23T10:32:30.259Z&quot;,
</span><span id=__span-54-11><a id=__codelineno-54-11 name=__codelineno-54-11 href=#__codelineno-54-11></a> &quot;Owner&quot;: {
</span><span id=__span-54-12><a id=__codelineno-54-12 name=__codelineno-54-12 href=#__codelineno-54-12></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-54-13><a id=__codelineno-54-13 name=__codelineno-54-13 href=#__codelineno-54-13></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-54-14><a id=__codelineno-54-14 name=__codelineno-54-14 href=#__codelineno-54-14></a> }
</span><span id=__span-54-15><a id=__codelineno-54-15 name=__codelineno-54-15 href=#__codelineno-54-15></a> },
</span><span id=__span-54-16><a id=__codelineno-54-16 name=__codelineno-54-16 href=#__codelineno-54-16></a> {
</span><span id=__span-54-17><a id=__codelineno-54-17 name=__codelineno-54-17 href=#__codelineno-54-17></a> &quot;ETag&quot;: &quot;\&quot;a4d8980efbd9b71f416595a3d5588b32\&quot;&quot;,
</span><span id=__span-54-18><a id=__codelineno-54-18 name=__codelineno-54-18 href=#__codelineno-54-18></a> &quot;Size&quot;: 18,
</span><span id=__span-54-19><a id=__codelineno-54-19 name=__codelineno-54-19 href=#__codelineno-54-19></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-54-20><a id=__codelineno-54-20 name=__codelineno-54-20 href=#__codelineno-54-20></a> &quot;Key&quot;: &quot;something.txt&quot;,
</span><span id=__span-54-21><a id=__codelineno-54-21 name=__codelineno-54-21 href=#__codelineno-54-21></a> &quot;VersionId&quot;: &quot;whrj2pDFrrFq0WLdH0zGzprfkebQykf&quot;,
</span><span id=__span-54-22><a id=__codelineno-54-22 name=__codelineno-54-22 href=#__codelineno-54-22></a> &quot;IsLatest&quot;: false,
</span><span id=__span-54-23><a id=__codelineno-54-23 name=__codelineno-54-23 href=#__codelineno-54-23></a> &quot;LastModified&quot;: &quot;2024-08-23T10:19:24.943Z&quot;,
</span><span id=__span-54-24><a id=__codelineno-54-24 name=__codelineno-54-24 href=#__codelineno-54-24></a> &quot;Owner&quot;: {
</span><span id=__span-54-25><a id=__codelineno-54-25 name=__codelineno-54-25 href=#__codelineno-54-25></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-54-26><a id=__codelineno-54-26 name=__codelineno-54-26 href=#__codelineno-54-26></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-54-27><a id=__codelineno-54-27 name=__codelineno-54-27 href=#__codelineno-54-27></a> }
</span><span id=__span-54-28><a id=__codelineno-54-28 name=__codelineno-54-28 href=#__codelineno-54-28></a> }
</span><span id=__span-54-29><a id=__codelineno-54-29 name=__codelineno-54-29 href=#__codelineno-54-29></a> ],
</span><span id=__span-54-30><a id=__codelineno-54-30 name=__codelineno-54-30 href=#__codelineno-54-30></a> &quot;RequestCharged&quot;: null
</span><span id=__span-54-31><a id=__codelineno-54-31 name=__codelineno-54-31 href=#__codelineno-54-31></a>}
</span></code></pre></div> <p>It contains two versions we created previously. Each has its own ID, which is the value of parameter <strong>VersionId</strong>:</p> <p>Table 5 Key vs. VersionId<a href=#id1 title="Permalink to this table">🔗</a></p> <table> <thead> <tr> <th></th> <th></th> </tr> </thead> <tbody> <tr> <td><strong>Key</strong></td> <td><strong>VersionId</strong></td> </tr> <tr> <td>something.txt</td> <td>t22ZzEq6kt5ILKFfLZgoeSzW.I9HVtN</td> </tr> <tr> <td>something.txt</td> <td>whrj2pDFrrFq0WLdH0zGzprfkebQykf</td> </tr> </tbody> </table> <p>Both of them are tied to the same file called <strong>something.txt</strong>.</p> <h3 id=example-2-multiple-files-multiple-versions>Example 2: Multiple files, multiple versions<a href=#example-2-multiple-files-multiple-versions title="Permalink to this headline">🔗</a><a class=headerlink href=#example-2-multiple-files-multiple-versions title="Permanent link">&para;</a></h3> <p>Let us now consider an alternative situation in which we have two files, and one of them has two versions.</p> <p>The output of <strong>list-object-versions</strong> could then look like this:</p> <div class=highlight><pre><span></span><code><span id=__span-55-1><a id=__codelineno-55-1 name=__codelineno-55-1 href=#__codelineno-55-1></a>{
</span><span id=__span-55-2><a id=__codelineno-55-2 name=__codelineno-55-2 href=#__codelineno-55-2></a> &quot;Versions&quot;: [
</span><span id=__span-55-3><a id=__codelineno-55-3 name=__codelineno-55-3 href=#__codelineno-55-3></a> {
</span><span id=__span-55-4><a id=__codelineno-55-4 name=__codelineno-55-4 href=#__codelineno-55-4></a> &quot;ETag&quot;: &quot;\&quot;adda90afa69e725c2f551e0722014726\&quot;&quot;,
</span><span id=__span-55-5><a id=__codelineno-55-5 name=__codelineno-55-5 href=#__codelineno-55-5></a> &quot;Size&quot;: 575,
</span><span id=__span-55-6><a id=__codelineno-55-6 name=__codelineno-55-6 href=#__codelineno-55-6></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-55-7><a id=__codelineno-55-7 name=__codelineno-55-7 href=#__codelineno-55-7></a> &quot;Key&quot;: &quot;something1.txt&quot;,
</span><span id=__span-55-8><a id=__codelineno-55-8 name=__codelineno-55-8 href=#__codelineno-55-8></a> &quot;VersionId&quot;: &quot;kv7QRQsfHhEe-T6c9g-v3uIPoyX6FTs&quot;,
</span><span id=__span-55-9><a id=__codelineno-55-9 name=__codelineno-55-9 href=#__codelineno-55-9></a> &quot;IsLatest&quot;: true,
</span><span id=__span-55-10><a id=__codelineno-55-10 name=__codelineno-55-10 href=#__codelineno-55-10></a> &quot;LastModified&quot;: &quot;2024-08-26T16:10:49.979Z&quot;,
</span><span id=__span-55-11><a id=__codelineno-55-11 name=__codelineno-55-11 href=#__codelineno-55-11></a> &quot;Owner&quot;: {
</span><span id=__span-55-12><a id=__codelineno-55-12 name=__codelineno-55-12 href=#__codelineno-55-12></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-55-13><a id=__codelineno-55-13 name=__codelineno-55-13 href=#__codelineno-55-13></a> &quot;ID&quot;: &quot;1234567890qwertyuiopasdfghjklzxc&quot;
</span><span id=__span-55-14><a id=__codelineno-55-14 name=__codelineno-55-14 href=#__codelineno-55-14></a> }
</span><span id=__span-55-15><a id=__codelineno-55-15 name=__codelineno-55-15 href=#__codelineno-55-15></a> },
</span><span id=__span-55-16><a id=__codelineno-55-16 name=__codelineno-55-16 href=#__codelineno-55-16></a> {
</span><span id=__span-55-17><a id=__codelineno-55-17 name=__codelineno-55-17 href=#__codelineno-55-17></a> &quot;ETag&quot;: &quot;\&quot;947073995b23baa9a565cf21bf56a2ba\&quot;&quot;,
</span><span id=__span-55-18><a id=__codelineno-55-18 name=__codelineno-55-18 href=#__codelineno-55-18></a> &quot;Size&quot;: 6,
</span><span id=__span-55-19><a id=__codelineno-55-19 name=__codelineno-55-19 href=#__codelineno-55-19></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-55-20><a id=__codelineno-55-20 name=__codelineno-55-20 href=#__codelineno-55-20></a> &quot;Key&quot;: &quot;something2.txt&quot;,
</span><span id=__span-55-21><a id=__codelineno-55-21 name=__codelineno-55-21 href=#__codelineno-55-21></a> &quot;VersionId&quot;: &quot;no1KrA3MbEtjIk1CnN5U.rTtFKFXSpj&quot;,
</span><span id=__span-55-22><a id=__codelineno-55-22 name=__codelineno-55-22 href=#__codelineno-55-22></a> &quot;IsLatest&quot;: true,
</span><span id=__span-55-23><a id=__codelineno-55-23 name=__codelineno-55-23 href=#__codelineno-55-23></a> &quot;LastModified&quot;: &quot;2024-08-26T16:12:29.961Z&quot;,
</span><span id=__span-55-24><a id=__codelineno-55-24 name=__codelineno-55-24 href=#__codelineno-55-24></a> &quot;Owner&quot;: {
</span><span id=__span-55-25><a id=__codelineno-55-25 name=__codelineno-55-25 href=#__codelineno-55-25></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-55-26><a id=__codelineno-55-26 name=__codelineno-55-26 href=#__codelineno-55-26></a> &quot;ID&quot;: &quot;1234567890qwertyuiopasdfghjklzxc&quot;
</span><span id=__span-55-27><a id=__codelineno-55-27 name=__codelineno-55-27 href=#__codelineno-55-27></a> }
</span><span id=__span-55-28><a id=__codelineno-55-28 name=__codelineno-55-28 href=#__codelineno-55-28></a> },
</span><span id=__span-55-29><a id=__codelineno-55-29 name=__codelineno-55-29 href=#__codelineno-55-29></a> {
</span><span id=__span-55-30><a id=__codelineno-55-30 name=__codelineno-55-30 href=#__codelineno-55-30></a> &quot;ETag&quot;: &quot;\&quot;7d7b28bafa5222d9083fa4ea7e97cff6\&quot;&quot;,
</span><span id=__span-55-31><a id=__codelineno-55-31 name=__codelineno-55-31 href=#__codelineno-55-31></a> &quot;Size&quot;: 106,
</span><span id=__span-55-32><a id=__codelineno-55-32 name=__codelineno-55-32 href=#__codelineno-55-32></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-55-33><a id=__codelineno-55-33 name=__codelineno-55-33 href=#__codelineno-55-33></a> &quot;Key&quot;: &quot;something2.txt&quot;,
</span><span id=__span-55-34><a id=__codelineno-55-34 name=__codelineno-55-34 href=#__codelineno-55-34></a> &quot;VersionId&quot;: &quot;gRYReY1SpVI3rS-Qp0NYDPofoAfGfc7&quot;,
</span><span id=__span-55-35><a id=__codelineno-55-35 name=__codelineno-55-35 href=#__codelineno-55-35></a> &quot;IsLatest&quot;: false,
</span><span id=__span-55-36><a id=__codelineno-55-36 name=__codelineno-55-36 href=#__codelineno-55-36></a> &quot;LastModified&quot;: &quot;2024-08-26T16:11:21.584Z&quot;,
</span><span id=__span-55-37><a id=__codelineno-55-37 name=__codelineno-55-37 href=#__codelineno-55-37></a> &quot;Owner&quot;: {
</span><span id=__span-55-38><a id=__codelineno-55-38 name=__codelineno-55-38 href=#__codelineno-55-38></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-55-39><a id=__codelineno-55-39 name=__codelineno-55-39 href=#__codelineno-55-39></a> &quot;ID&quot;: &quot;1234567890qwertyuiopasdfghjklzxc&quot;
</span><span id=__span-55-40><a id=__codelineno-55-40 name=__codelineno-55-40 href=#__codelineno-55-40></a> }
</span><span id=__span-55-41><a id=__codelineno-55-41 name=__codelineno-55-41 href=#__codelineno-55-41></a> }
</span><span id=__span-55-42><a id=__codelineno-55-42 name=__codelineno-55-42 href=#__codelineno-55-42></a> ],
</span><span id=__span-55-43><a id=__codelineno-55-43 name=__codelineno-55-43 href=#__codelineno-55-43></a> &quot;RequestCharged&quot;: null
</span><span id=__span-55-44><a id=__codelineno-55-44 name=__codelineno-55-44 href=#__codelineno-55-44></a> }
</span></code></pre></div> <p>Table 6 Key vs. VersionId<a href=#id2 title="Permalink to this table">🔗</a></p> <table> <thead> <tr> <th></th> <th></th> </tr> </thead> <tbody> <tr> <td><strong>Key</strong></td> <td><strong>VersionId</strong></td> </tr> <tr> <td>something1.txt</td> <td>kv7QRQsfHhEe-T6c9g-v3uIPoyX6FTs</td> </tr> <tr> <td>something2.txt</td> <td>no1KrA3MbEtjIk1CnN5U.rTtFKFXSpj</td> </tr> <tr> <td>something2.txt</td> <td>gRYReY1SpVI3rS-Qp0NYDPofoAfGfc7</td> </tr> </tbody> </table> <p>File <strong>something1.txt</strong> has one version, while file <strong>something2.txt</strong> has two versions..</p> <h2 id=downloading-a-chosen-version-of-the-file>Downloading a chosen version of the file<a href=#downloading-a-chosen-version-of-the-file title="Permalink to this headline">🔗</a><a class=headerlink href=#downloading-a-chosen-version-of-the-file title="Permanent link">&para;</a></h2> <p>Let us return to <strong>$bucket_name1</strong>.</p> <p>To download version of file stored on that bucket called <strong>something.txt</strong> which has <strong>VersionId</strong> of <strong>whrj2pDFrrFq0WLdH0zGzprfkebQykf</strong>, we execute <strong>get-object</strong> command:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-56-1><a id=__codelineno-56-1 name=__codelineno-56-1 href=#__codelineno-56-1></a>aws s3api get-object \
</span><span id=__span-56-2><a id=__codelineno-56-2 name=__codelineno-56-2 href=#__codelineno-56-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-56-3><a id=__codelineno-56-3 name=__codelineno-56-3 href=#__codelineno-56-3></a>--bucket $bucket_name1 \
</span><span id=__span-56-4><a id=__codelineno-56-4 name=__codelineno-56-4 href=#__codelineno-56-4></a>--key something.txt \
</span><span id=__span-56-5><a id=__codelineno-56-5 name=__codelineno-56-5 href=#__codelineno-56-5></a>--version-id whrj2pDFrrFq0WLdH0zGzprfkebQykf \
</span><span id=__span-56-6><a id=__codelineno-56-6 name=__codelineno-56-6 href=#__codelineno-56-6></a>./something.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-57-1><a id=__codelineno-57-1 name=__codelineno-57-1 href=#__codelineno-57-1></a>aws s3api get-object \
</span><span id=__span-57-2><a id=__codelineno-57-2 name=__codelineno-57-2 href=#__codelineno-57-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-57-3><a id=__codelineno-57-3 name=__codelineno-57-3 href=#__codelineno-57-3></a>--bucket $bucket_name1 \
</span><span id=__span-57-4><a id=__codelineno-57-4 name=__codelineno-57-4 href=#__codelineno-57-4></a>--key something.txt \
</span><span id=__span-57-5><a id=__codelineno-57-5 name=__codelineno-57-5 href=#__codelineno-57-5></a>--version-id whrj2pDFrrFq0WLdH0zGzprfkebQykf \
</span><span id=__span-57-6><a id=__codelineno-57-6 name=__codelineno-57-6 href=#__codelineno-57-6></a>./something.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-58-1><a id=__codelineno-58-1 name=__codelineno-58-1 href=#__codelineno-58-1></a>aws s3api get-object \
</span><span id=__span-58-2><a id=__codelineno-58-2 name=__codelineno-58-2 href=#__codelineno-58-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-58-3><a id=__codelineno-58-3 name=__codelineno-58-3 href=#__codelineno-58-3></a>--bucket $bucket_name1 \
</span><span id=__span-58-4><a id=__codelineno-58-4 name=__codelineno-58-4 href=#__codelineno-58-4></a>--key something.txt \
</span><span id=__span-58-5><a id=__codelineno-58-5 name=__codelineno-58-5 href=#__codelineno-58-5></a>--version-id whrj2pDFrrFq0WLdH0zGzprfkebQykf \
</span><span id=__span-58-6><a id=__codelineno-58-6 name=__codelineno-58-6 href=#__codelineno-58-6></a>./something.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-59-1><a id=__codelineno-59-1 name=__codelineno-59-1 href=#__codelineno-59-1></a>aws s3api get-object \
</span><span id=__span-59-2><a id=__codelineno-59-2 name=__codelineno-59-2 href=#__codelineno-59-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-59-3><a id=__codelineno-59-3 name=__codelineno-59-3 href=#__codelineno-59-3></a>--bucket $bucket_name1 \
</span><span id=__span-59-4><a id=__codelineno-59-4 name=__codelineno-59-4 href=#__codelineno-59-4></a>--key something.txt \
</span><span id=__span-59-5><a id=__codelineno-59-5 name=__codelineno-59-5 href=#__codelineno-59-5></a>--version-id whrj2pDFrrFq0WLdH0zGzprfkebQykf \
</span><span id=__span-59-6><a id=__codelineno-59-6 name=__codelineno-59-6 href=#__codelineno-59-6></a>./something.txt
</span></code></pre></div> <p>In this command:</p> <dl> <dt>--key</dt> <dd>is the name and/or location of the file on your bucket</dd> <dt>--version-id</dt> <dd>is the ID of the chosen version of the file</dd> <dt>./something.txt</dt> <dd>is the name and/or location on your local file system to which you want to download the file. Iff there is already a file there, it will be overwritten.</dd> </dl> <p>The file should be downloaded and we should get output like this:</p> <div class=highlight><pre><span></span><code><span id=__span-60-1><a id=__codelineno-60-1 name=__codelineno-60-1 href=#__codelineno-60-1></a>{
</span><span id=__span-60-2><a id=__codelineno-60-2 name=__codelineno-60-2 href=#__codelineno-60-2></a> &quot;AcceptRanges&quot;: &quot;bytes&quot;,
</span><span id=__span-60-3><a id=__codelineno-60-3 name=__codelineno-60-3 href=#__codelineno-60-3></a> &quot;LastModified&quot;: &quot;Fri, 23 Aug 2024 10:19:24 GMT&quot;,
</span><span id=__span-60-4><a id=__codelineno-60-4 name=__codelineno-60-4 href=#__codelineno-60-4></a> &quot;ContentLength&quot;: 18,
</span><span id=__span-60-5><a id=__codelineno-60-5 name=__codelineno-60-5 href=#__codelineno-60-5></a> &quot;ETag&quot;: &quot;\&quot;a4d8980efbd9b71f416595a3d5588b32\&quot;&quot;,
</span><span id=__span-60-6><a id=__codelineno-60-6 name=__codelineno-60-6 href=#__codelineno-60-6></a> &quot;VersionId&quot;: &quot;whrj2pDFrrFq0WLdH0zGzprfkebQykf&quot;,
</span><span id=__span-60-7><a id=__codelineno-60-7 name=__codelineno-60-7 href=#__codelineno-60-7></a> &quot;ContentType&quot;: &quot;binary/octet-stream&quot;,
</span><span id=__span-60-8><a id=__codelineno-60-8 name=__codelineno-60-8 href=#__codelineno-60-8></a> &quot;Metadata&quot;: {}
</span><span id=__span-60-9><a id=__codelineno-60-9 name=__codelineno-60-9 href=#__codelineno-60-9></a>}
</span></code></pre></div> <p>The file should be in our current working directory:</p> <p><a class=glightbox href=../_images/s3-bucket-versioning-04_creodias.png data-type=image data-width=100% data-height=auto data-desc-position=bottom><img alt=s3-bucket-versioning-04_creodias.png src=../_images/s3-bucket-versioning-04_creodias.png></a></p> <p>Displaying its contents with the <strong>cat</strong> command reveals that it is indeed the first version of that file:</p> <p><a class=glightbox href=../_images/s3-bucket-versioning-05_creodias.png data-type=image data-width=100% data-height=auto data-desc-position=bottom><img alt=s3-bucket-versioning-05_creodias.png src=../_images/s3-bucket-versioning-05_creodias.png></a></p> <h2 id=deleting-objects-on-version-enabled-buckets>Deleting objects on version-enabled buckets<a href=#deleting-objects-on-version-enabled-buckets title="Permalink to this headline">🔗</a><a class=headerlink href=#deleting-objects-on-version-enabled-buckets title="Permanent link">&para;</a></h2> <p>AWS CLI includes command <strong>delete-object</strong> which is used to delete files stored on buckets. It behaves differently depending on the circumstances:</p> <blockquote> <ol> <li>On regular buckets, it will simply delete the specified file.</li> <li>On version-enabled buckets, there are two possibilities:</li> </ol> </blockquote> <dl> <dt>Version to be deleted is not specified</dt> <dd>The command will not delete the specified file but will, instead, place a deletion marker into the file.</dd> <dt>The version to be deleted is specified</dt> <dd>The specified version will be deleted permanently.</dd> </dl> <p>Here are the examples for version-enabled buckets.</p> <h3 id=setting-up-a-deletion-marker>Setting up a deletion marker<a href=#setting-up-a-deletion-marker title="Permalink to this headline">🔗</a><a class=headerlink href=#setting-up-a-deletion-marker title="Permanent link">&para;</a></h3> <p>The command to delete files from buckets is <strong>delete-object</strong>.</p> <p>Let us try to delete file named <strong>something.txt</strong> from bucket <strong>$bucket_name1</strong> and let us NOT specify the version:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-61-1><a id=__codelineno-61-1 name=__codelineno-61-1 href=#__codelineno-61-1></a>aws s3api delete-object \
</span><span id=__span-61-2><a id=__codelineno-61-2 name=__codelineno-61-2 href=#__codelineno-61-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-61-3><a id=__codelineno-61-3 name=__codelineno-61-3 href=#__codelineno-61-3></a>--bucket $bucket_name1 \
</span><span id=__span-61-4><a id=__codelineno-61-4 name=__codelineno-61-4 href=#__codelineno-61-4></a>--key something.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-62-1><a id=__codelineno-62-1 name=__codelineno-62-1 href=#__codelineno-62-1></a>aws s3api delete-object \
</span><span id=__span-62-2><a id=__codelineno-62-2 name=__codelineno-62-2 href=#__codelineno-62-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-62-3><a id=__codelineno-62-3 name=__codelineno-62-3 href=#__codelineno-62-3></a>--bucket $bucket_name1 \
</span><span id=__span-62-4><a id=__codelineno-62-4 name=__codelineno-62-4 href=#__codelineno-62-4></a>--key something.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-63-1><a id=__codelineno-63-1 name=__codelineno-63-1 href=#__codelineno-63-1></a>aws s3api delete-object \
</span><span id=__span-63-2><a id=__codelineno-63-2 name=__codelineno-63-2 href=#__codelineno-63-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-63-3><a id=__codelineno-63-3 name=__codelineno-63-3 href=#__codelineno-63-3></a>--bucket $bucket_name1 \
</span><span id=__span-63-4><a id=__codelineno-63-4 name=__codelineno-63-4 href=#__codelineno-63-4></a>--key something.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-64-1><a id=__codelineno-64-1 name=__codelineno-64-1 href=#__codelineno-64-1></a>aws s3api delete-object \
</span><span id=__span-64-2><a id=__codelineno-64-2 name=__codelineno-64-2 href=#__codelineno-64-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-64-3><a id=__codelineno-64-3 name=__codelineno-64-3 href=#__codelineno-64-3></a>--bucket $bucket_name1 \
</span><span id=__span-64-4><a id=__codelineno-64-4 name=__codelineno-64-4 href=#__codelineno-64-4></a>--key something.txt
</span></code></pre></div> <p>This command should return output like this:</p> <div class=highlight><pre><span></span><code><span id=__span-65-1><a id=__codelineno-65-1 name=__codelineno-65-1 href=#__codelineno-65-1></a>{
</span><span id=__span-65-2><a id=__codelineno-65-2 name=__codelineno-65-2 href=#__codelineno-65-2></a> &quot;DeleteMarker&quot;: true,
</span><span id=__span-65-3><a id=__codelineno-65-3 name=__codelineno-65-3 href=#__codelineno-65-3></a> &quot;VersionId&quot;: &quot;A0hVZCX0z6yMrlmoYymeaGPT4nzInS2&quot;
</span><span id=__span-65-4><a id=__codelineno-65-4 name=__codelineno-65-4 href=#__codelineno-65-4></a>}
</span></code></pre></div> <p>The marker we just placed causes the file to be invisible when listing files normally. <strong>VersionId</strong> is useful if you, say, want to remove that marker and restore the file.</p> <p>To fully see the effect of <strong>delete-object</strong> command, we list objects again using <strong>list-objects</strong>:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-66-1><a id=__codelineno-66-1 name=__codelineno-66-1 href=#__codelineno-66-1></a>aws s3api list-objects \
</span><span id=__span-66-2><a id=__codelineno-66-2 name=__codelineno-66-2 href=#__codelineno-66-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-66-3><a id=__codelineno-66-3 name=__codelineno-66-3 href=#__codelineno-66-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-67-1><a id=__codelineno-67-1 name=__codelineno-67-1 href=#__codelineno-67-1></a>aws s3api list-objects \
</span><span id=__span-67-2><a id=__codelineno-67-2 name=__codelineno-67-2 href=#__codelineno-67-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-67-3><a id=__codelineno-67-3 name=__codelineno-67-3 href=#__codelineno-67-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-68-1><a id=__codelineno-68-1 name=__codelineno-68-1 href=#__codelineno-68-1></a>aws s3api list-objects \
</span><span id=__span-68-2><a id=__codelineno-68-2 name=__codelineno-68-2 href=#__codelineno-68-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-68-3><a id=__codelineno-68-3 name=__codelineno-68-3 href=#__codelineno-68-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-69-1><a id=__codelineno-69-1 name=__codelineno-69-1 href=#__codelineno-69-1></a>aws s3api list-objects \
</span><span id=__span-69-2><a id=__codelineno-69-2 name=__codelineno-69-2 href=#__codelineno-69-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-69-3><a id=__codelineno-69-3 name=__codelineno-69-3 href=#__codelineno-69-3></a>--bucket $bucket_name1
</span></code></pre></div> <p>This time, the output does not list any files - the file <strong>something.txt</strong> became invisible.</p> <p>If there are no files to list, you might get the following output:</p> <div class=highlight><pre><span></span><code><span id=__span-70-1><a id=__codelineno-70-1 name=__codelineno-70-1 href=#__codelineno-70-1></a>{
</span><span id=__span-70-2><a id=__codelineno-70-2 name=__codelineno-70-2 href=#__codelineno-70-2></a> &quot;RequestCharged&quot;: null
</span><span id=__span-70-3><a id=__codelineno-70-3 name=__codelineno-70-3 href=#__codelineno-70-3></a>}
</span></code></pre></div> <p>or your output might be empty.</p> <p>If we list versions of files in our bucket using <strong>list-object-versions</strong>, for instance:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-71-1><a id=__codelineno-71-1 name=__codelineno-71-1 href=#__codelineno-71-1></a>aws s3api list-object-versions \
</span><span id=__span-71-2><a id=__codelineno-71-2 name=__codelineno-71-2 href=#__codelineno-71-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-71-3><a id=__codelineno-71-3 name=__codelineno-71-3 href=#__codelineno-71-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-72-1><a id=__codelineno-72-1 name=__codelineno-72-1 href=#__codelineno-72-1></a>aws s3api list-object-versions \
</span><span id=__span-72-2><a id=__codelineno-72-2 name=__codelineno-72-2 href=#__codelineno-72-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-72-3><a id=__codelineno-72-3 name=__codelineno-72-3 href=#__codelineno-72-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-73-1><a id=__codelineno-73-1 name=__codelineno-73-1 href=#__codelineno-73-1></a>aws s3api list-object-versions \
</span><span id=__span-73-2><a id=__codelineno-73-2 name=__codelineno-73-2 href=#__codelineno-73-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-73-3><a id=__codelineno-73-3 name=__codelineno-73-3 href=#__codelineno-73-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-74-1><a id=__codelineno-74-1 name=__codelineno-74-1 href=#__codelineno-74-1></a>aws s3api list-object-versions \
</span><span id=__span-74-2><a id=__codelineno-74-2 name=__codelineno-74-2 href=#__codelineno-74-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-74-3><a id=__codelineno-74-3 name=__codelineno-74-3 href=#__codelineno-74-3></a>--bucket $bucket_name1
</span></code></pre></div> <p>we will see that the previous versions are still there:</p> <div class=highlight><pre><span></span><code><span id=__span-75-1><a id=__codelineno-75-1 name=__codelineno-75-1 href=#__codelineno-75-1></a>{
</span><span id=__span-75-2><a id=__codelineno-75-2 name=__codelineno-75-2 href=#__codelineno-75-2></a> &quot;Versions&quot;: [
</span><span id=__span-75-3><a id=__codelineno-75-3 name=__codelineno-75-3 href=#__codelineno-75-3></a> {
</span><span id=__span-75-4><a id=__codelineno-75-4 name=__codelineno-75-4 href=#__codelineno-75-4></a> &quot;ETag&quot;: &quot;\&quot;ded190b85763d32ce9c09a8aef51f44c\&quot;&quot;,
</span><span id=__span-75-5><a id=__codelineno-75-5 name=__codelineno-75-5 href=#__codelineno-75-5></a> &quot;Size&quot;: 18,
</span><span id=__span-75-6><a id=__codelineno-75-6 name=__codelineno-75-6 href=#__codelineno-75-6></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-75-7><a id=__codelineno-75-7 name=__codelineno-75-7 href=#__codelineno-75-7></a> &quot;Key&quot;: &quot;something.txt&quot;,
</span><span id=__span-75-8><a id=__codelineno-75-8 name=__codelineno-75-8 href=#__codelineno-75-8></a> &quot;VersionId&quot;: &quot;t22ZzEq6kt5ILKFfLZgoeSzW.I9HVtN&quot;,
</span><span id=__span-75-9><a id=__codelineno-75-9 name=__codelineno-75-9 href=#__codelineno-75-9></a> &quot;IsLatest&quot;: false,
</span><span id=__span-75-10><a id=__codelineno-75-10 name=__codelineno-75-10 href=#__codelineno-75-10></a> &quot;LastModified&quot;: &quot;2024-08-23T10:32:30.259Z&quot;,
</span><span id=__span-75-11><a id=__codelineno-75-11 name=__codelineno-75-11 href=#__codelineno-75-11></a> &quot;Owner&quot;: {
</span><span id=__span-75-12><a id=__codelineno-75-12 name=__codelineno-75-12 href=#__codelineno-75-12></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-75-13><a id=__codelineno-75-13 name=__codelineno-75-13 href=#__codelineno-75-13></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-75-14><a id=__codelineno-75-14 name=__codelineno-75-14 href=#__codelineno-75-14></a> }
</span><span id=__span-75-15><a id=__codelineno-75-15 name=__codelineno-75-15 href=#__codelineno-75-15></a> },
</span><span id=__span-75-16><a id=__codelineno-75-16 name=__codelineno-75-16 href=#__codelineno-75-16></a> {
</span><span id=__span-75-17><a id=__codelineno-75-17 name=__codelineno-75-17 href=#__codelineno-75-17></a> &quot;ETag&quot;: &quot;\&quot;a4d8980efbd9b71f416595a3d5588b32\&quot;&quot;,
</span><span id=__span-75-18><a id=__codelineno-75-18 name=__codelineno-75-18 href=#__codelineno-75-18></a> &quot;Size&quot;: 18,
</span><span id=__span-75-19><a id=__codelineno-75-19 name=__codelineno-75-19 href=#__codelineno-75-19></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-75-20><a id=__codelineno-75-20 name=__codelineno-75-20 href=#__codelineno-75-20></a> &quot;Key&quot;: &quot;something.txt&quot;,
</span><span id=__span-75-21><a id=__codelineno-75-21 name=__codelineno-75-21 href=#__codelineno-75-21></a> &quot;VersionId&quot;: &quot;whrj2pDFrrFq0WLdH0zGzprfkebQykf&quot;,
</span><span id=__span-75-22><a id=__codelineno-75-22 name=__codelineno-75-22 href=#__codelineno-75-22></a> &quot;IsLatest&quot;: false,
</span><span id=__span-75-23><a id=__codelineno-75-23 name=__codelineno-75-23 href=#__codelineno-75-23></a> &quot;LastModified&quot;: &quot;2024-08-23T10:19:24.943Z&quot;,
</span><span id=__span-75-24><a id=__codelineno-75-24 name=__codelineno-75-24 href=#__codelineno-75-24></a> &quot;Owner&quot;: {
</span><span id=__span-75-25><a id=__codelineno-75-25 name=__codelineno-75-25 href=#__codelineno-75-25></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-75-26><a id=__codelineno-75-26 name=__codelineno-75-26 href=#__codelineno-75-26></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-75-27><a id=__codelineno-75-27 name=__codelineno-75-27 href=#__codelineno-75-27></a> }
</span><span id=__span-75-28><a id=__codelineno-75-28 name=__codelineno-75-28 href=#__codelineno-75-28></a> }
</span><span id=__span-75-29><a id=__codelineno-75-29 name=__codelineno-75-29 href=#__codelineno-75-29></a> ],
</span><span id=__span-75-30><a id=__codelineno-75-30 name=__codelineno-75-30 href=#__codelineno-75-30></a> &quot;DeleteMarkers&quot;: [
</span><span id=__span-75-31><a id=__codelineno-75-31 name=__codelineno-75-31 href=#__codelineno-75-31></a> {
</span><span id=__span-75-32><a id=__codelineno-75-32 name=__codelineno-75-32 href=#__codelineno-75-32></a> &quot;Owner&quot;: {
</span><span id=__span-75-33><a id=__codelineno-75-33 name=__codelineno-75-33 href=#__codelineno-75-33></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-75-34><a id=__codelineno-75-34 name=__codelineno-75-34 href=#__codelineno-75-34></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-75-35><a id=__codelineno-75-35 name=__codelineno-75-35 href=#__codelineno-75-35></a> },
</span><span id=__span-75-36><a id=__codelineno-75-36 name=__codelineno-75-36 href=#__codelineno-75-36></a> &quot;Key&quot;: &quot;something.txt&quot;,
</span><span id=__span-75-37><a id=__codelineno-75-37 name=__codelineno-75-37 href=#__codelineno-75-37></a> &quot;VersionId&quot;: &quot;A0hVZCX0z6yMrlmoYymeaGPT4nzInS2&quot;,
</span><span id=__span-75-38><a id=__codelineno-75-38 name=__codelineno-75-38 href=#__codelineno-75-38></a> &quot;IsLatest&quot;: true,
</span><span id=__span-75-39><a id=__codelineno-75-39 name=__codelineno-75-39 href=#__codelineno-75-39></a> &quot;LastModified&quot;: &quot;2024-08-23T11:28:48.128Z&quot;
</span><span id=__span-75-40><a id=__codelineno-75-40 name=__codelineno-75-40 href=#__codelineno-75-40></a> }
</span><span id=__span-75-41><a id=__codelineno-75-41 name=__codelineno-75-41 href=#__codelineno-75-41></a> ],
</span><span id=__span-75-42><a id=__codelineno-75-42 name=__codelineno-75-42 href=#__codelineno-75-42></a> &quot;RequestCharged&quot;: null
</span><span id=__span-75-43><a id=__codelineno-75-43 name=__codelineno-75-43 href=#__codelineno-75-43></a>}
</span></code></pre></div> <p>Apart from the previously uploaded versions, a delete marker (key <strong>DeleteMarkers</strong>) with version ID of <strong>A0hVZCX0z6yMrlmoYymeaGPT4nzInS2</strong> can also be found.</p> <p>Note</p> <p>If your bucket contains additional files, they too will be listed here.</p> <p>Within the Horizon dashboard, the file is also “invisible”:</p> <p><a class=glightbox href=../_images/s3-bucket-versioning-06_creodias.png data-type=image data-width=100% data-height=auto data-desc-position=bottom><img alt=s3-bucket-versioning-06_creodias.png src=../_images/s3-bucket-versioning-06_creodias.png></a></p> <p>Even though the file cannot be seen, the size of the bucket is still displayed correctly - 36 bytes. Each stored version of each file adds to the total size.</p> <h3 id=removing-the-deletion-marker>Removing the deletion marker<a href=#removing-the-deletion-marker title="Permalink to this headline">🔗</a><a class=headerlink href=#removing-the-deletion-marker title="Permanent link">&para;</a></h3> <p>To restore the visibility of a file, delete its deletion marker by issuing command <strong>delete-object</strong> and specify the <strong>VersionID</strong> of the deletion marker:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-76-1><a id=__codelineno-76-1 name=__codelineno-76-1 href=#__codelineno-76-1></a>aws s3api delete-object \
</span><span id=__span-76-2><a id=__codelineno-76-2 name=__codelineno-76-2 href=#__codelineno-76-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-76-3><a id=__codelineno-76-3 name=__codelineno-76-3 href=#__codelineno-76-3></a>--bucket $bucket_name1 \
</span><span id=__span-76-4><a id=__codelineno-76-4 name=__codelineno-76-4 href=#__codelineno-76-4></a>--key something.txt \
</span><span id=__span-76-5><a id=__codelineno-76-5 name=__codelineno-76-5 href=#__codelineno-76-5></a>--version-id A0hVZCX0z6yMrlmoYymeaGPT4nzInS2
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-77-1><a id=__codelineno-77-1 name=__codelineno-77-1 href=#__codelineno-77-1></a>aws s3api delete-object \
</span><span id=__span-77-2><a id=__codelineno-77-2 name=__codelineno-77-2 href=#__codelineno-77-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-77-3><a id=__codelineno-77-3 name=__codelineno-77-3 href=#__codelineno-77-3></a>--bucket $bucket_name1 \
</span><span id=__span-77-4><a id=__codelineno-77-4 name=__codelineno-77-4 href=#__codelineno-77-4></a>--key something.txt \
</span><span id=__span-77-5><a id=__codelineno-77-5 name=__codelineno-77-5 href=#__codelineno-77-5></a>--version-id A0hVZCX0z6yMrlmoYymeaGPT4nzInS2
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-78-1><a id=__codelineno-78-1 name=__codelineno-78-1 href=#__codelineno-78-1></a>aws s3api delete-object \
</span><span id=__span-78-2><a id=__codelineno-78-2 name=__codelineno-78-2 href=#__codelineno-78-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-78-3><a id=__codelineno-78-3 name=__codelineno-78-3 href=#__codelineno-78-3></a>--bucket $bucket_name1 \
</span><span id=__span-78-4><a id=__codelineno-78-4 name=__codelineno-78-4 href=#__codelineno-78-4></a>--key something.txt \
</span><span id=__span-78-5><a id=__codelineno-78-5 name=__codelineno-78-5 href=#__codelineno-78-5></a>--version-id A0hVZCX0z6yMrlmoYymeaGPT4nzInS2
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-79-1><a id=__codelineno-79-1 name=__codelineno-79-1 href=#__codelineno-79-1></a>aws s3api delete-object \
</span><span id=__span-79-2><a id=__codelineno-79-2 name=__codelineno-79-2 href=#__codelineno-79-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-79-3><a id=__codelineno-79-3 name=__codelineno-79-3 href=#__codelineno-79-3></a>--bucket $bucket_name1 \
</span><span id=__span-79-4><a id=__codelineno-79-4 name=__codelineno-79-4 href=#__codelineno-79-4></a>--key something.txt \
</span><span id=__span-79-5><a id=__codelineno-79-5 name=__codelineno-79-5 href=#__codelineno-79-5></a>--version-id A0hVZCX0z6yMrlmoYymeaGPT4nzInS2
</span></code></pre></div> <p>In this command:</p> <blockquote> <ul> <li><strong>something.txt</strong> is the name of the file</li> <li><strong>A0hVZCX0z6yMrlmoYymeaGPT4nzInS2</strong> is the <strong>VersionID</strong> of the deletion marker which was obtained while following the previous section of this article.</li> </ul> </blockquote> <p>Warning</p> <p>Make sure to enter the correct <strong>VersionID</strong> to prevent accidental deletion of important data!</p> <p>We get the following output:</p> <div class=highlight><pre><span></span><code><span id=__span-80-1><a id=__codelineno-80-1 name=__codelineno-80-1 href=#__codelineno-80-1></a>{
</span><span id=__span-80-2><a id=__codelineno-80-2 name=__codelineno-80-2 href=#__codelineno-80-2></a> &quot;DeleteMarker&quot;: true,
</span><span id=__span-80-3><a id=__codelineno-80-3 name=__codelineno-80-3 href=#__codelineno-80-3></a> &quot;VersionId&quot;: &quot;A0hVZCX0z6yMrlmoYymeaGPT4nzInS2&quot;
</span><span id=__span-80-4><a id=__codelineno-80-4 name=__codelineno-80-4 href=#__codelineno-80-4></a>}
</span></code></pre></div> <p>Once again, let us list object versions using command <strong>list-object-versions</strong>:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-81-1><a id=__codelineno-81-1 name=__codelineno-81-1 href=#__codelineno-81-1></a>aws s3api list-object-versions \
</span><span id=__span-81-2><a id=__codelineno-81-2 name=__codelineno-81-2 href=#__codelineno-81-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-81-3><a id=__codelineno-81-3 name=__codelineno-81-3 href=#__codelineno-81-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-82-1><a id=__codelineno-82-1 name=__codelineno-82-1 href=#__codelineno-82-1></a>aws s3api list-object-versions \
</span><span id=__span-82-2><a id=__codelineno-82-2 name=__codelineno-82-2 href=#__codelineno-82-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-82-3><a id=__codelineno-82-3 name=__codelineno-82-3 href=#__codelineno-82-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-83-1><a id=__codelineno-83-1 name=__codelineno-83-1 href=#__codelineno-83-1></a>aws s3api list-object-versions \
</span><span id=__span-83-2><a id=__codelineno-83-2 name=__codelineno-83-2 href=#__codelineno-83-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-83-3><a id=__codelineno-83-3 name=__codelineno-83-3 href=#__codelineno-83-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-84-1><a id=__codelineno-84-1 name=__codelineno-84-1 href=#__codelineno-84-1></a>aws s3api list-object-versions \
</span><span id=__span-84-2><a id=__codelineno-84-2 name=__codelineno-84-2 href=#__codelineno-84-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-84-3><a id=__codelineno-84-3 name=__codelineno-84-3 href=#__codelineno-84-3></a>--bucket $bucket_name1
</span></code></pre></div> <p>The delete marker no longer exists:</p> <div class=highlight><pre><span></span><code><span id=__span-85-1><a id=__codelineno-85-1 name=__codelineno-85-1 href=#__codelineno-85-1></a>{
</span><span id=__span-85-2><a id=__codelineno-85-2 name=__codelineno-85-2 href=#__codelineno-85-2></a> &quot;Versions&quot;: [
</span><span id=__span-85-3><a id=__codelineno-85-3 name=__codelineno-85-3 href=#__codelineno-85-3></a> {
</span><span id=__span-85-4><a id=__codelineno-85-4 name=__codelineno-85-4 href=#__codelineno-85-4></a> &quot;ETag&quot;: &quot;\&quot;ded190b85763d32ce9c09a8aef51f44c\&quot;&quot;,
</span><span id=__span-85-5><a id=__codelineno-85-5 name=__codelineno-85-5 href=#__codelineno-85-5></a> &quot;Size&quot;: 18,
</span><span id=__span-85-6><a id=__codelineno-85-6 name=__codelineno-85-6 href=#__codelineno-85-6></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-85-7><a id=__codelineno-85-7 name=__codelineno-85-7 href=#__codelineno-85-7></a> &quot;Key&quot;: &quot;something.txt&quot;,
</span><span id=__span-85-8><a id=__codelineno-85-8 name=__codelineno-85-8 href=#__codelineno-85-8></a> &quot;VersionId&quot;: &quot;t22ZzEq6kt5ILKFfLZgoeSzW.I9HVtN&quot;,
</span><span id=__span-85-9><a id=__codelineno-85-9 name=__codelineno-85-9 href=#__codelineno-85-9></a> &quot;IsLatest&quot;: true,
</span><span id=__span-85-10><a id=__codelineno-85-10 name=__codelineno-85-10 href=#__codelineno-85-10></a> &quot;LastModified&quot;: &quot;2024-08-23T10:32:30.259Z&quot;,
</span><span id=__span-85-11><a id=__codelineno-85-11 name=__codelineno-85-11 href=#__codelineno-85-11></a> &quot;Owner&quot;: {
</span><span id=__span-85-12><a id=__codelineno-85-12 name=__codelineno-85-12 href=#__codelineno-85-12></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-85-13><a id=__codelineno-85-13 name=__codelineno-85-13 href=#__codelineno-85-13></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-85-14><a id=__codelineno-85-14 name=__codelineno-85-14 href=#__codelineno-85-14></a> }
</span><span id=__span-85-15><a id=__codelineno-85-15 name=__codelineno-85-15 href=#__codelineno-85-15></a> },
</span><span id=__span-85-16><a id=__codelineno-85-16 name=__codelineno-85-16 href=#__codelineno-85-16></a> {
</span><span id=__span-85-17><a id=__codelineno-85-17 name=__codelineno-85-17 href=#__codelineno-85-17></a> &quot;ETag&quot;: &quot;\&quot;a4d8980efbd9b71f416595a3d5588b32\&quot;&quot;,
</span><span id=__span-85-18><a id=__codelineno-85-18 name=__codelineno-85-18 href=#__codelineno-85-18></a> &quot;Size&quot;: 18,
</span><span id=__span-85-19><a id=__codelineno-85-19 name=__codelineno-85-19 href=#__codelineno-85-19></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-85-20><a id=__codelineno-85-20 name=__codelineno-85-20 href=#__codelineno-85-20></a> &quot;Key&quot;: &quot;something.txt&quot;,
</span><span id=__span-85-21><a id=__codelineno-85-21 name=__codelineno-85-21 href=#__codelineno-85-21></a> &quot;VersionId&quot;: &quot;whrj2pDFrrFq0WLdH0zGzprfkebQykf&quot;,
</span><span id=__span-85-22><a id=__codelineno-85-22 name=__codelineno-85-22 href=#__codelineno-85-22></a> &quot;IsLatest&quot;: false,
</span><span id=__span-85-23><a id=__codelineno-85-23 name=__codelineno-85-23 href=#__codelineno-85-23></a> &quot;LastModified&quot;: &quot;2024-08-23T10:19:24.943Z&quot;,
</span><span id=__span-85-24><a id=__codelineno-85-24 name=__codelineno-85-24 href=#__codelineno-85-24></a> &quot;Owner&quot;: {
</span><span id=__span-85-25><a id=__codelineno-85-25 name=__codelineno-85-25 href=#__codelineno-85-25></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-85-26><a id=__codelineno-85-26 name=__codelineno-85-26 href=#__codelineno-85-26></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-85-27><a id=__codelineno-85-27 name=__codelineno-85-27 href=#__codelineno-85-27></a> }
</span><span id=__span-85-28><a id=__codelineno-85-28 name=__codelineno-85-28 href=#__codelineno-85-28></a> }
</span><span id=__span-85-29><a id=__codelineno-85-29 name=__codelineno-85-29 href=#__codelineno-85-29></a> ],
</span><span id=__span-85-30><a id=__codelineno-85-30 name=__codelineno-85-30 href=#__codelineno-85-30></a> &quot;RequestCharged&quot;: null
</span><span id=__span-85-31><a id=__codelineno-85-31 name=__codelineno-85-31 href=#__codelineno-85-31></a>}
</span></code></pre></div> <p>And if we list files with <strong>list-objects</strong>:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-86-1><a id=__codelineno-86-1 name=__codelineno-86-1 href=#__codelineno-86-1></a>aws s3api list-objects \
</span><span id=__span-86-2><a id=__codelineno-86-2 name=__codelineno-86-2 href=#__codelineno-86-2></a>--bucket $bucket_name1 \
</span><span id=__span-86-3><a id=__codelineno-86-3 name=__codelineno-86-3 href=#__codelineno-86-3></a>--endpoint-url https://s3.waw4-1.3Engines.com
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-87-1><a id=__codelineno-87-1 name=__codelineno-87-1 href=#__codelineno-87-1></a>aws s3api list-objects \
</span><span id=__span-87-2><a id=__codelineno-87-2 name=__codelineno-87-2 href=#__codelineno-87-2></a>--bucket $bucket_name1 \
</span><span id=__span-87-3><a id=__codelineno-87-3 name=__codelineno-87-3 href=#__codelineno-87-3></a>--endpoint-url https://s3.waw3-1.3Engines.com
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-88-1><a id=__codelineno-88-1 name=__codelineno-88-1 href=#__codelineno-88-1></a>aws s3api list-objects \
</span><span id=__span-88-2><a id=__codelineno-88-2 name=__codelineno-88-2 href=#__codelineno-88-2></a>--bucket $bucket_name1 \
</span><span id=__span-88-3><a id=__codelineno-88-3 name=__codelineno-88-3 href=#__codelineno-88-3></a>--endpoint-url https://s3.waw3-2.3Engines.com
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-89-1><a id=__codelineno-89-1 name=__codelineno-89-1 href=#__codelineno-89-1></a>aws s3api list-objects \
</span><span id=__span-89-2><a id=__codelineno-89-2 name=__codelineno-89-2 href=#__codelineno-89-2></a>--bucket $bucket_name1 \
</span><span id=__span-89-3><a id=__codelineno-89-3 name=__codelineno-89-3 href=#__codelineno-89-3></a>--endpoint-url https://s3.fra1-2.3Engines.com
</span></code></pre></div> <p>the output once again shows one file - <strong>something.txt</strong>:</p> <div class=highlight><pre><span></span><code><span id=__span-90-1><a id=__codelineno-90-1 name=__codelineno-90-1 href=#__codelineno-90-1></a>{
</span><span id=__span-90-2><a id=__codelineno-90-2 name=__codelineno-90-2 href=#__codelineno-90-2></a> &quot;Contents&quot;: [
</span><span id=__span-90-3><a id=__codelineno-90-3 name=__codelineno-90-3 href=#__codelineno-90-3></a> {
</span><span id=__span-90-4><a id=__codelineno-90-4 name=__codelineno-90-4 href=#__codelineno-90-4></a> &quot;Key&quot;: &quot;something.txt&quot;,
</span><span id=__span-90-5><a id=__codelineno-90-5 name=__codelineno-90-5 href=#__codelineno-90-5></a> &quot;LastModified&quot;: &quot;2024-08-23T10:32:30.259Z&quot;,
</span><span id=__span-90-6><a id=__codelineno-90-6 name=__codelineno-90-6 href=#__codelineno-90-6></a> &quot;ETag&quot;: &quot;\&quot;ded190b85763d32ce9c09a8aef51f44c\&quot;&quot;,
</span><span id=__span-90-7><a id=__codelineno-90-7 name=__codelineno-90-7 href=#__codelineno-90-7></a> &quot;Size&quot;: 18,
</span><span id=__span-90-8><a id=__codelineno-90-8 name=__codelineno-90-8 href=#__codelineno-90-8></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-90-9><a id=__codelineno-90-9 name=__codelineno-90-9 href=#__codelineno-90-9></a> &quot;Owner&quot;: {
</span><span id=__span-90-10><a id=__codelineno-90-10 name=__codelineno-90-10 href=#__codelineno-90-10></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-90-11><a id=__codelineno-90-11 name=__codelineno-90-11 href=#__codelineno-90-11></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-90-12><a id=__codelineno-90-12 name=__codelineno-90-12 href=#__codelineno-90-12></a> }
</span><span id=__span-90-13><a id=__codelineno-90-13 name=__codelineno-90-13 href=#__codelineno-90-13></a> }
</span><span id=__span-90-14><a id=__codelineno-90-14 name=__codelineno-90-14 href=#__codelineno-90-14></a> ],
</span><span id=__span-90-15><a id=__codelineno-90-15 name=__codelineno-90-15 href=#__codelineno-90-15></a> &quot;RequestCharged&quot;: null
</span><span id=__span-90-16><a id=__codelineno-90-16 name=__codelineno-90-16 href=#__codelineno-90-16></a>}
</span></code></pre></div> <p>The file should now also be visible in Horizon again:</p> <p><a class=glightbox href=../_images/s3-bucket-versioning-07_creodias.png data-type=image data-width=100% data-height=auto data-desc-position=bottom><img alt=s3-bucket-versioning-07_creodias.png src=../_images/s3-bucket-versioning-07_creodias.png></a></p> <p>That on this screenshot, the visible file has size 18 bytes, whereas the total size of this bucket is 36 bytes. This is because the total size includes both stored versions of the file.</p> <h3 id=permanently-removing-files-from-version-enabled-bucket>Permanently removing files from version-enabled bucket<a href=#permanently-removing-files-from-version-enabled-bucket title="Permalink to this headline">🔗</a><a class=headerlink href=#permanently-removing-files-from-version-enabled-bucket title="Permanent link">&para;</a></h3> <p>You can delete versions of file stored in the bucket just like you can delete the previously mentioned delete marker.</p> <p>The two versions of file <strong>something.txt</strong>, <strong>t22ZzEq6kt5ILKFfLZgoeSzW.I9HVtN</strong> and <strong>whrj2pDFrrFq0WLdH0zGzprfkebQykf</strong> still exist in bucket <strong>$bucket_name1</strong>.</p> <p>To delete the first version permanently, we use command <strong>delete-object</strong> similar to the one used to remove the deletion marker. The difference is that here we specify the <strong>VersionID</strong> which we want to remove.</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-91-1><a id=__codelineno-91-1 name=__codelineno-91-1 href=#__codelineno-91-1></a>aws s3api delete-object \
</span><span id=__span-91-2><a id=__codelineno-91-2 name=__codelineno-91-2 href=#__codelineno-91-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-91-3><a id=__codelineno-91-3 name=__codelineno-91-3 href=#__codelineno-91-3></a>--bucket $bucket_name1 \
</span><span id=__span-91-4><a id=__codelineno-91-4 name=__codelineno-91-4 href=#__codelineno-91-4></a>--key something.txt \
</span><span id=__span-91-5><a id=__codelineno-91-5 name=__codelineno-91-5 href=#__codelineno-91-5></a>--version-id t22ZzEq6kt5ILKFfLZgoeSzW.I9HVtN
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-92-1><a id=__codelineno-92-1 name=__codelineno-92-1 href=#__codelineno-92-1></a>aws s3api delete-object \
</span><span id=__span-92-2><a id=__codelineno-92-2 name=__codelineno-92-2 href=#__codelineno-92-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-92-3><a id=__codelineno-92-3 name=__codelineno-92-3 href=#__codelineno-92-3></a>--bucket $bucket_name1 \
</span><span id=__span-92-4><a id=__codelineno-92-4 name=__codelineno-92-4 href=#__codelineno-92-4></a>--key something.txt \
</span><span id=__span-92-5><a id=__codelineno-92-5 name=__codelineno-92-5 href=#__codelineno-92-5></a>--version-id t22ZzEq6kt5ILKFfLZgoeSzW.I9HVtN
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-93-1><a id=__codelineno-93-1 name=__codelineno-93-1 href=#__codelineno-93-1></a>aws s3api delete-object \
</span><span id=__span-93-2><a id=__codelineno-93-2 name=__codelineno-93-2 href=#__codelineno-93-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-93-3><a id=__codelineno-93-3 name=__codelineno-93-3 href=#__codelineno-93-3></a>--bucket $bucket_name1 \
</span><span id=__span-93-4><a id=__codelineno-93-4 name=__codelineno-93-4 href=#__codelineno-93-4></a>--key something.txt \
</span><span id=__span-93-5><a id=__codelineno-93-5 name=__codelineno-93-5 href=#__codelineno-93-5></a>--version-id t22ZzEq6kt5ILKFfLZgoeSzW.I9HVtN
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-94-1><a id=__codelineno-94-1 name=__codelineno-94-1 href=#__codelineno-94-1></a>aws s3api delete-object \
</span><span id=__span-94-2><a id=__codelineno-94-2 name=__codelineno-94-2 href=#__codelineno-94-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-94-3><a id=__codelineno-94-3 name=__codelineno-94-3 href=#__codelineno-94-3></a>--bucket $bucket_name1 \
</span><span id=__span-94-4><a id=__codelineno-94-4 name=__codelineno-94-4 href=#__codelineno-94-4></a>--key something.txt \
</span><span id=__span-94-5><a id=__codelineno-94-5 name=__codelineno-94-5 href=#__codelineno-94-5></a>--version-id t22ZzEq6kt5ILKFfLZgoeSzW.I9HVtN
</span></code></pre></div> <p>We should get output like this:</p> <div class=highlight><pre><span></span><code><span id=__span-95-1><a id=__codelineno-95-1 name=__codelineno-95-1 href=#__codelineno-95-1></a>{
</span><span id=__span-95-2><a id=__codelineno-95-2 name=__codelineno-95-2 href=#__codelineno-95-2></a> &quot;VersionId&quot;: &quot;t22ZzEq6kt5ILKFfLZgoeSzW.I9HVtN&quot;
</span><span id=__span-95-3><a id=__codelineno-95-3 name=__codelineno-95-3 href=#__codelineno-95-3></a>}
</span></code></pre></div> <p>When we list versions of files stored on bucket with <strong>list-object-versions</strong>:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-96-1><a id=__codelineno-96-1 name=__codelineno-96-1 href=#__codelineno-96-1></a>aws s3api list-object-versions \
</span><span id=__span-96-2><a id=__codelineno-96-2 name=__codelineno-96-2 href=#__codelineno-96-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-96-3><a id=__codelineno-96-3 name=__codelineno-96-3 href=#__codelineno-96-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-97-1><a id=__codelineno-97-1 name=__codelineno-97-1 href=#__codelineno-97-1></a>aws s3api list-object-versions \
</span><span id=__span-97-2><a id=__codelineno-97-2 name=__codelineno-97-2 href=#__codelineno-97-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-97-3><a id=__codelineno-97-3 name=__codelineno-97-3 href=#__codelineno-97-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-98-1><a id=__codelineno-98-1 name=__codelineno-98-1 href=#__codelineno-98-1></a>aws s3api list-object-versions \
</span><span id=__span-98-2><a id=__codelineno-98-2 name=__codelineno-98-2 href=#__codelineno-98-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-98-3><a id=__codelineno-98-3 name=__codelineno-98-3 href=#__codelineno-98-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-99-1><a id=__codelineno-99-1 name=__codelineno-99-1 href=#__codelineno-99-1></a>aws s3api list-object-versions \
</span><span id=__span-99-2><a id=__codelineno-99-2 name=__codelineno-99-2 href=#__codelineno-99-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-99-3><a id=__codelineno-99-3 name=__codelineno-99-3 href=#__codelineno-99-3></a>--bucket $bucket_name1
</span></code></pre></div> <p>the output will show us only one version of one file:</p> <div class=highlight><pre><span></span><code><span id=__span-100-1><a id=__codelineno-100-1 name=__codelineno-100-1 href=#__codelineno-100-1></a>{
</span><span id=__span-100-2><a id=__codelineno-100-2 name=__codelineno-100-2 href=#__codelineno-100-2></a> &quot;Versions&quot;: [
</span><span id=__span-100-3><a id=__codelineno-100-3 name=__codelineno-100-3 href=#__codelineno-100-3></a> {
</span><span id=__span-100-4><a id=__codelineno-100-4 name=__codelineno-100-4 href=#__codelineno-100-4></a> &quot;ETag&quot;: &quot;\&quot;a4d8980efbd9b71f416595a3d5588b32\&quot;&quot;,
</span><span id=__span-100-5><a id=__codelineno-100-5 name=__codelineno-100-5 href=#__codelineno-100-5></a> &quot;Size&quot;: 18,
</span><span id=__span-100-6><a id=__codelineno-100-6 name=__codelineno-100-6 href=#__codelineno-100-6></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-100-7><a id=__codelineno-100-7 name=__codelineno-100-7 href=#__codelineno-100-7></a> &quot;Key&quot;: &quot;something.txt&quot;,
</span><span id=__span-100-8><a id=__codelineno-100-8 name=__codelineno-100-8 href=#__codelineno-100-8></a> &quot;VersionId&quot;: &quot;whrj2pDFrrFq0WLdH0zGzprfkebQykf&quot;,
</span><span id=__span-100-9><a id=__codelineno-100-9 name=__codelineno-100-9 href=#__codelineno-100-9></a> &quot;IsLatest&quot;: true,
</span><span id=__span-100-10><a id=__codelineno-100-10 name=__codelineno-100-10 href=#__codelineno-100-10></a> &quot;LastModified&quot;: &quot;2024-08-23T10:19:24.943Z&quot;,
</span><span id=__span-100-11><a id=__codelineno-100-11 name=__codelineno-100-11 href=#__codelineno-100-11></a> &quot;Owner&quot;: {
</span><span id=__span-100-12><a id=__codelineno-100-12 name=__codelineno-100-12 href=#__codelineno-100-12></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-100-13><a id=__codelineno-100-13 name=__codelineno-100-13 href=#__codelineno-100-13></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-100-14><a id=__codelineno-100-14 name=__codelineno-100-14 href=#__codelineno-100-14></a> }
</span><span id=__span-100-15><a id=__codelineno-100-15 name=__codelineno-100-15 href=#__codelineno-100-15></a> }
</span><span id=__span-100-16><a id=__codelineno-100-16 name=__codelineno-100-16 href=#__codelineno-100-16></a> ],
</span><span id=__span-100-17><a id=__codelineno-100-17 name=__codelineno-100-17 href=#__codelineno-100-17></a> &quot;RequestCharged&quot;: null
</span><span id=__span-100-18><a id=__codelineno-100-18 name=__codelineno-100-18 href=#__codelineno-100-18></a>}
</span></code></pre></div> <p>In the Horizon dashboard, the total size of the bucket was reduced to 18 bytes:</p> <p><a class=glightbox href=../_images/s3-bucket-versioning-08_creodias.png data-type=image data-width=100% data-height=auto data-desc-position=bottom><img alt=s3-bucket-versioning-08_creodias.png src=../_images/s3-bucket-versioning-08_creodias.png></a></p> <p>If we delete the last version using command <strong>delete-object</strong>,</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-101-1><a id=__codelineno-101-1 name=__codelineno-101-1 href=#__codelineno-101-1></a>aws s3api delete-object \
</span><span id=__span-101-2><a id=__codelineno-101-2 name=__codelineno-101-2 href=#__codelineno-101-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-101-3><a id=__codelineno-101-3 name=__codelineno-101-3 href=#__codelineno-101-3></a>--bucket $bucket_name1 \
</span><span id=__span-101-4><a id=__codelineno-101-4 name=__codelineno-101-4 href=#__codelineno-101-4></a>--key something.txt \
</span><span id=__span-101-5><a id=__codelineno-101-5 name=__codelineno-101-5 href=#__codelineno-101-5></a>--version-id whrj2pDFrrFq0WLdH0zGzprfkebQykf
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-102-1><a id=__codelineno-102-1 name=__codelineno-102-1 href=#__codelineno-102-1></a>aws s3api delete-object \
</span><span id=__span-102-2><a id=__codelineno-102-2 name=__codelineno-102-2 href=#__codelineno-102-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-102-3><a id=__codelineno-102-3 name=__codelineno-102-3 href=#__codelineno-102-3></a>--bucket $bucket_name1 \
</span><span id=__span-102-4><a id=__codelineno-102-4 name=__codelineno-102-4 href=#__codelineno-102-4></a>--key something.txt \
</span><span id=__span-102-5><a id=__codelineno-102-5 name=__codelineno-102-5 href=#__codelineno-102-5></a>--version-id whrj2pDFrrFq0WLdH0zGzprfkebQykf
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-103-1><a id=__codelineno-103-1 name=__codelineno-103-1 href=#__codelineno-103-1></a>aws s3api delete-object \
</span><span id=__span-103-2><a id=__codelineno-103-2 name=__codelineno-103-2 href=#__codelineno-103-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-103-3><a id=__codelineno-103-3 name=__codelineno-103-3 href=#__codelineno-103-3></a>--bucket $bucket_name1 \
</span><span id=__span-103-4><a id=__codelineno-103-4 name=__codelineno-103-4 href=#__codelineno-103-4></a>--key something.txt \
</span><span id=__span-103-5><a id=__codelineno-103-5 name=__codelineno-103-5 href=#__codelineno-103-5></a>--version-id whrj2pDFrrFq0WLdH0zGzprfkebQykf
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-104-1><a id=__codelineno-104-1 name=__codelineno-104-1 href=#__codelineno-104-1></a>aws s3api delete-object \
</span><span id=__span-104-2><a id=__codelineno-104-2 name=__codelineno-104-2 href=#__codelineno-104-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-104-3><a id=__codelineno-104-3 name=__codelineno-104-3 href=#__codelineno-104-3></a>--bucket $bucket_name1 \
</span><span id=__span-104-4><a id=__codelineno-104-4 name=__codelineno-104-4 href=#__codelineno-104-4></a>--key something.txt \
</span><span id=__span-104-5><a id=__codelineno-104-5 name=__codelineno-104-5 href=#__codelineno-104-5></a>--version-id whrj2pDFrrFq0WLdH0zGzprfkebQykf
</span></code></pre></div> <p>the last file from Horizon dashboard should disappear and the size of the bucket should be reduced to zero bytes:</p> <p><a class=glightbox href=../_images/s3-bucket-versioning-09_creodias.png data-type=image data-width=100% data-height=auto data-desc-position=bottom><img alt=s3-bucket-versioning-09_creodias.png src=../_images/s3-bucket-versioning-09_creodias.png></a></p> <p>If we now execute the <strong>list-object-versions</strong> command:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-105-1><a id=__codelineno-105-1 name=__codelineno-105-1 href=#__codelineno-105-1></a>aws s3api list-object-versions \
</span><span id=__span-105-2><a id=__codelineno-105-2 name=__codelineno-105-2 href=#__codelineno-105-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-105-3><a id=__codelineno-105-3 name=__codelineno-105-3 href=#__codelineno-105-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-106-1><a id=__codelineno-106-1 name=__codelineno-106-1 href=#__codelineno-106-1></a>aws s3api list-object-versions \
</span><span id=__span-106-2><a id=__codelineno-106-2 name=__codelineno-106-2 href=#__codelineno-106-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-106-3><a id=__codelineno-106-3 name=__codelineno-106-3 href=#__codelineno-106-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-107-1><a id=__codelineno-107-1 name=__codelineno-107-1 href=#__codelineno-107-1></a>aws s3api list-object-versions \
</span><span id=__span-107-2><a id=__codelineno-107-2 name=__codelineno-107-2 href=#__codelineno-107-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-107-3><a id=__codelineno-107-3 name=__codelineno-107-3 href=#__codelineno-107-3></a>--bucket $bucket_name1
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-108-1><a id=__codelineno-108-1 name=__codelineno-108-1 href=#__codelineno-108-1></a>aws s3api list-object-versions \
</span><span id=__span-108-2><a id=__codelineno-108-2 name=__codelineno-108-2 href=#__codelineno-108-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-108-3><a id=__codelineno-108-3 name=__codelineno-108-3 href=#__codelineno-108-3></a>--bucket $bucket_name1
</span></code></pre></div> <p>we will see that there are no files or versions there:</p> <div class=highlight><pre><span></span><code><span id=__span-109-1><a id=__codelineno-109-1 name=__codelineno-109-1 href=#__codelineno-109-1></a>{
</span><span id=__span-109-2><a id=__codelineno-109-2 name=__codelineno-109-2 href=#__codelineno-109-2></a> &quot;RequestCharged&quot;: null
</span><span id=__span-109-3><a id=__codelineno-109-3 name=__codelineno-109-3 href=#__codelineno-109-3></a>}
</span></code></pre></div> <h2 id=using-lifecycle-policy-to-configure-automatic-deletion-of-previous-versions-of-files>Using lifecycle policy to configure automatic deletion of previous versions of files<a href=#using-lifecycle-policy-to-configure-automatic-deletion-of-previous-versions-of-files title="Permalink to this headline">🔗</a><a class=headerlink href=#using-lifecycle-policy-to-configure-automatic-deletion-of-previous-versions-of-files title="Permanent link">&para;</a></h2> <p>“Noncurrent version” is any version of a file which is not the latest. In this section, we will cover how to configure automatic deletion of these versions after a specified amount of days.</p> <p>For this purpose, we will use function called “lifecycle policy”.</p> <p>This example covers configuring automatic removal of noncurrent versions of a file 1 day after a newer version of the same file has been uploaded.</p> <h3 id=preparing-the-testing-environment>Preparing the testing environment<a href=#preparing-the-testing-environment title="Permalink to this headline">🔗</a><a class=headerlink href=#preparing-the-testing-environment title="Permanent link">&para;</a></h3> <p>For testing, create bucket whose name is stored in variable <strong>$bucket_name3</strong> and enable versioning:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-110-1><a id=__codelineno-110-1 name=__codelineno-110-1 href=#__codelineno-110-1></a>aws s3api create-bucket \
</span><span id=__span-110-2><a id=__codelineno-110-2 name=__codelineno-110-2 href=#__codelineno-110-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-110-3><a id=__codelineno-110-3 name=__codelineno-110-3 href=#__codelineno-110-3></a>--bucket $bucket_name3
</span><span id=__span-110-4><a id=__codelineno-110-4 name=__codelineno-110-4 href=#__codelineno-110-4></a>
</span><span id=__span-110-5><a id=__codelineno-110-5 name=__codelineno-110-5 href=#__codelineno-110-5></a>aws s3api put-bucket-versioning \
</span><span id=__span-110-6><a id=__codelineno-110-6 name=__codelineno-110-6 href=#__codelineno-110-6></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-110-7><a id=__codelineno-110-7 name=__codelineno-110-7 href=#__codelineno-110-7></a>--bucket $bucket_name3 \
</span><span id=__span-110-8><a id=__codelineno-110-8 name=__codelineno-110-8 href=#__codelineno-110-8></a>--versioning-configuration MFADelete=Disabled,Status=Enabled
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-111-1><a id=__codelineno-111-1 name=__codelineno-111-1 href=#__codelineno-111-1></a>aws s3api create-bucket \
</span><span id=__span-111-2><a id=__codelineno-111-2 name=__codelineno-111-2 href=#__codelineno-111-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-111-3><a id=__codelineno-111-3 name=__codelineno-111-3 href=#__codelineno-111-3></a>--bucket $bucket_name3
</span><span id=__span-111-4><a id=__codelineno-111-4 name=__codelineno-111-4 href=#__codelineno-111-4></a>
</span><span id=__span-111-5><a id=__codelineno-111-5 name=__codelineno-111-5 href=#__codelineno-111-5></a>aws s3api put-bucket-versioning \
</span><span id=__span-111-6><a id=__codelineno-111-6 name=__codelineno-111-6 href=#__codelineno-111-6></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-111-7><a id=__codelineno-111-7 name=__codelineno-111-7 href=#__codelineno-111-7></a>--bucket $bucket_name3 \
</span><span id=__span-111-8><a id=__codelineno-111-8 name=__codelineno-111-8 href=#__codelineno-111-8></a>--versioning-configuration MFADelete=Disabled,Status=Enabled
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-112-1><a id=__codelineno-112-1 name=__codelineno-112-1 href=#__codelineno-112-1></a>aws s3api create-bucket \
</span><span id=__span-112-2><a id=__codelineno-112-2 name=__codelineno-112-2 href=#__codelineno-112-2></a>--endpoint-url https://{{ s3_login }} \
</span><span id=__span-112-3><a id=__codelineno-112-3 name=__codelineno-112-3 href=#__codelineno-112-3></a>--bucket $bucket_name3
</span><span id=__span-112-4><a id=__codelineno-112-4 name=__codelineno-112-4 href=#__codelineno-112-4></a>
</span><span id=__span-112-5><a id=__codelineno-112-5 name=__codelineno-112-5 href=#__codelineno-112-5></a>aws s3api put-bucket-versioning \
</span><span id=__span-112-6><a id=__codelineno-112-6 name=__codelineno-112-6 href=#__codelineno-112-6></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-112-7><a id=__codelineno-112-7 name=__codelineno-112-7 href=#__codelineno-112-7></a>--bucket $bucket_name3 \
</span><span id=__span-112-8><a id=__codelineno-112-8 name=__codelineno-112-8 href=#__codelineno-112-8></a>--versioning-configuration MFADelete=Disabled,Status=Enabled
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-113-1><a id=__codelineno-113-1 name=__codelineno-113-1 href=#__codelineno-113-1></a>aws s3api create-bucket \
</span><span id=__span-113-2><a id=__codelineno-113-2 name=__codelineno-113-2 href=#__codelineno-113-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-113-3><a id=__codelineno-113-3 name=__codelineno-113-3 href=#__codelineno-113-3></a>--bucket $bucket_name3
</span><span id=__span-113-4><a id=__codelineno-113-4 name=__codelineno-113-4 href=#__codelineno-113-4></a>
</span><span id=__span-113-5><a id=__codelineno-113-5 name=__codelineno-113-5 href=#__codelineno-113-5></a>aws s3api put-bucket-versioning \
</span><span id=__span-113-6><a id=__codelineno-113-6 name=__codelineno-113-6 href=#__codelineno-113-6></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-113-7><a id=__codelineno-113-7 name=__codelineno-113-7 href=#__codelineno-113-7></a>--bucket $bucket_name3 \
</span><span id=__span-113-8><a id=__codelineno-113-8 name=__codelineno-113-8 href=#__codelineno-113-8></a>--versioning-configuration MFADelete=Disabled,Status=Enabled
</span></code></pre></div> <p>For the sake of this article, let us suppose that we are in a folder which contains the following two files:</p> <blockquote> <ul> <li><strong>mycode.py</strong></li> <li><strong>announcement.md</strong></li> </ul> </blockquote> <p>The actual content of these files is not important here.</p> <p>We upload these files to <strong>$bucket_name3</strong> using the standard <strong>put-object</strong> command:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-114-1><a id=__codelineno-114-1 name=__codelineno-114-1 href=#__codelineno-114-1></a>aws s3api put-object \
</span><span id=__span-114-2><a id=__codelineno-114-2 name=__codelineno-114-2 href=#__codelineno-114-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-114-3><a id=__codelineno-114-3 name=__codelineno-114-3 href=#__codelineno-114-3></a>--bucket $bucket_name1 \
</span><span id=__span-114-4><a id=__codelineno-114-4 name=__codelineno-114-4 href=#__codelineno-114-4></a>--body mycode.py \
</span><span id=__span-114-5><a id=__codelineno-114-5 name=__codelineno-114-5 href=#__codelineno-114-5></a>--key mycode.py
</span><span id=__span-114-6><a id=__codelineno-114-6 name=__codelineno-114-6 href=#__codelineno-114-6></a>
</span><span id=__span-114-7><a id=__codelineno-114-7 name=__codelineno-114-7 href=#__codelineno-114-7></a>aws s3api put-object \
</span><span id=__span-114-8><a id=__codelineno-114-8 name=__codelineno-114-8 href=#__codelineno-114-8></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-114-9><a id=__codelineno-114-9 name=__codelineno-114-9 href=#__codelineno-114-9></a>--bucket $bucket_name1 \
</span><span id=__span-114-10><a id=__codelineno-114-10 name=__codelineno-114-10 href=#__codelineno-114-10></a>--body announcement.md \
</span><span id=__span-114-11><a id=__codelineno-114-11 name=__codelineno-114-11 href=#__codelineno-114-11></a>--key announcement.md
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-115-1><a id=__codelineno-115-1 name=__codelineno-115-1 href=#__codelineno-115-1></a>aws s3api put-object \
</span><span id=__span-115-2><a id=__codelineno-115-2 name=__codelineno-115-2 href=#__codelineno-115-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-115-3><a id=__codelineno-115-3 name=__codelineno-115-3 href=#__codelineno-115-3></a>--bucket $bucket_name1 \
</span><span id=__span-115-4><a id=__codelineno-115-4 name=__codelineno-115-4 href=#__codelineno-115-4></a>--body mycode.py \
</span><span id=__span-115-5><a id=__codelineno-115-5 name=__codelineno-115-5 href=#__codelineno-115-5></a>--key mycode.py
</span><span id=__span-115-6><a id=__codelineno-115-6 name=__codelineno-115-6 href=#__codelineno-115-6></a>
</span><span id=__span-115-7><a id=__codelineno-115-7 name=__codelineno-115-7 href=#__codelineno-115-7></a>aws s3api put-object \
</span><span id=__span-115-8><a id=__codelineno-115-8 name=__codelineno-115-8 href=#__codelineno-115-8></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-115-9><a id=__codelineno-115-9 name=__codelineno-115-9 href=#__codelineno-115-9></a>--bucket $bucket_name1 \
</span><span id=__span-115-10><a id=__codelineno-115-10 name=__codelineno-115-10 href=#__codelineno-115-10></a>--body announcement.md \
</span><span id=__span-115-11><a id=__codelineno-115-11 name=__codelineno-115-11 href=#__codelineno-115-11></a>--key announcement.md
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-116-1><a id=__codelineno-116-1 name=__codelineno-116-1 href=#__codelineno-116-1></a>aws s3api put-object \
</span><span id=__span-116-2><a id=__codelineno-116-2 name=__codelineno-116-2 href=#__codelineno-116-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-116-3><a id=__codelineno-116-3 name=__codelineno-116-3 href=#__codelineno-116-3></a>--bucket $bucket_name1 \
</span><span id=__span-116-4><a id=__codelineno-116-4 name=__codelineno-116-4 href=#__codelineno-116-4></a>--body mycode.py \
</span><span id=__span-116-5><a id=__codelineno-116-5 name=__codelineno-116-5 href=#__codelineno-116-5></a>--key mycode.py
</span><span id=__span-116-6><a id=__codelineno-116-6 name=__codelineno-116-6 href=#__codelineno-116-6></a>
</span><span id=__span-116-7><a id=__codelineno-116-7 name=__codelineno-116-7 href=#__codelineno-116-7></a>aws s3api put-object \
</span><span id=__span-116-8><a id=__codelineno-116-8 name=__codelineno-116-8 href=#__codelineno-116-8></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-116-9><a id=__codelineno-116-9 name=__codelineno-116-9 href=#__codelineno-116-9></a>--bucket $bucket_name1 \
</span><span id=__span-116-10><a id=__codelineno-116-10 name=__codelineno-116-10 href=#__codelineno-116-10></a>--body announcement.md \
</span><span id=__span-116-11><a id=__codelineno-116-11 name=__codelineno-116-11 href=#__codelineno-116-11></a>--key announcement.md
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-117-1><a id=__codelineno-117-1 name=__codelineno-117-1 href=#__codelineno-117-1></a>aws s3api put-object \
</span><span id=__span-117-2><a id=__codelineno-117-2 name=__codelineno-117-2 href=#__codelineno-117-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-117-3><a id=__codelineno-117-3 name=__codelineno-117-3 href=#__codelineno-117-3></a>--bucket $bucket_name1 \
</span><span id=__span-117-4><a id=__codelineno-117-4 name=__codelineno-117-4 href=#__codelineno-117-4></a>--body mycode.py \
</span><span id=__span-117-5><a id=__codelineno-117-5 name=__codelineno-117-5 href=#__codelineno-117-5></a>--key mycode.py
</span><span id=__span-117-6><a id=__codelineno-117-6 name=__codelineno-117-6 href=#__codelineno-117-6></a>
</span><span id=__span-117-7><a id=__codelineno-117-7 name=__codelineno-117-7 href=#__codelineno-117-7></a>aws s3api put-object \
</span><span id=__span-117-8><a id=__codelineno-117-8 name=__codelineno-117-8 href=#__codelineno-117-8></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-117-9><a id=__codelineno-117-9 name=__codelineno-117-9 href=#__codelineno-117-9></a>--bucket $bucket_name1 \
</span><span id=__span-117-10><a id=__codelineno-117-10 name=__codelineno-117-10 href=#__codelineno-117-10></a>--body announcement.md \
</span><span id=__span-117-11><a id=__codelineno-117-11 name=__codelineno-117-11 href=#__codelineno-117-11></a>--key announcement.md
</span></code></pre></div> <p>To see these files after upload, execute <strong>list-object-versions</strong> on the bucket:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-118-1><a id=__codelineno-118-1 name=__codelineno-118-1 href=#__codelineno-118-1></a>aws s3api list-object-versions \
</span><span id=__span-118-2><a id=__codelineno-118-2 name=__codelineno-118-2 href=#__codelineno-118-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-118-3><a id=__codelineno-118-3 name=__codelineno-118-3 href=#__codelineno-118-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-119-1><a id=__codelineno-119-1 name=__codelineno-119-1 href=#__codelineno-119-1></a>aws s3api list-object-versions \
</span><span id=__span-119-2><a id=__codelineno-119-2 name=__codelineno-119-2 href=#__codelineno-119-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-119-3><a id=__codelineno-119-3 name=__codelineno-119-3 href=#__codelineno-119-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-120-1><a id=__codelineno-120-1 name=__codelineno-120-1 href=#__codelineno-120-1></a>aws s3api list-object-versions \
</span><span id=__span-120-2><a id=__codelineno-120-2 name=__codelineno-120-2 href=#__codelineno-120-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-120-3><a id=__codelineno-120-3 name=__codelineno-120-3 href=#__codelineno-120-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-121-1><a id=__codelineno-121-1 name=__codelineno-121-1 href=#__codelineno-121-1></a>aws s3api list-object-versions \
</span><span id=__span-121-2><a id=__codelineno-121-2 name=__codelineno-121-2 href=#__codelineno-121-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-121-3><a id=__codelineno-121-3 name=__codelineno-121-3 href=#__codelineno-121-3></a>--bucket $bucket_name3
</span></code></pre></div> <p>We get the following output:</p> <div class=highlight><pre><span></span><code><span id=__span-122-1><a id=__codelineno-122-1 name=__codelineno-122-1 href=#__codelineno-122-1></a>{
</span><span id=__span-122-2><a id=__codelineno-122-2 name=__codelineno-122-2 href=#__codelineno-122-2></a> &quot;Versions&quot;: [
</span><span id=__span-122-3><a id=__codelineno-122-3 name=__codelineno-122-3 href=#__codelineno-122-3></a> {
</span><span id=__span-122-4><a id=__codelineno-122-4 name=__codelineno-122-4 href=#__codelineno-122-4></a> &quot;ETag&quot;: &quot;\&quot;d185982da39fb33854a5b49c8e416e07\&quot;&quot;,
</span><span id=__span-122-5><a id=__codelineno-122-5 name=__codelineno-122-5 href=#__codelineno-122-5></a> &quot;Size&quot;: 34,
</span><span id=__span-122-6><a id=__codelineno-122-6 name=__codelineno-122-6 href=#__codelineno-122-6></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-122-7><a id=__codelineno-122-7 name=__codelineno-122-7 href=#__codelineno-122-7></a> &quot;Key&quot;: &quot;announcement.md&quot;,
</span><span id=__span-122-8><a id=__codelineno-122-8 name=__codelineno-122-8 href=#__codelineno-122-8></a> &quot;VersionId&quot;: &quot;r714CQ6MLAo4l300Fv9iBCqfNpESPpN&quot;,
</span><span id=__span-122-9><a id=__codelineno-122-9 name=__codelineno-122-9 href=#__codelineno-122-9></a> &quot;IsLatest&quot;: true,
</span><span id=__span-122-10><a id=__codelineno-122-10 name=__codelineno-122-10 href=#__codelineno-122-10></a> &quot;LastModified&quot;: &quot;2024-10-04T14:51:26.015Z&quot;,
</span><span id=__span-122-11><a id=__codelineno-122-11 name=__codelineno-122-11 href=#__codelineno-122-11></a> &quot;Owner&quot;: {
</span><span id=__span-122-12><a id=__codelineno-122-12 name=__codelineno-122-12 href=#__codelineno-122-12></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-122-13><a id=__codelineno-122-13 name=__codelineno-122-13 href=#__codelineno-122-13></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-122-14><a id=__codelineno-122-14 name=__codelineno-122-14 href=#__codelineno-122-14></a> }
</span><span id=__span-122-15><a id=__codelineno-122-15 name=__codelineno-122-15 href=#__codelineno-122-15></a> },
</span><span id=__span-122-16><a id=__codelineno-122-16 name=__codelineno-122-16 href=#__codelineno-122-16></a> {
</span><span id=__span-122-17><a id=__codelineno-122-17 name=__codelineno-122-17 href=#__codelineno-122-17></a> &quot;ETag&quot;: &quot;\&quot;6cf02e36dd1dc8b58ea77ba4a94291f2\&quot;&quot;,
</span><span id=__span-122-18><a id=__codelineno-122-18 name=__codelineno-122-18 href=#__codelineno-122-18></a> &quot;Size&quot;: 21,
</span><span id=__span-122-19><a id=__codelineno-122-19 name=__codelineno-122-19 href=#__codelineno-122-19></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-122-20><a id=__codelineno-122-20 name=__codelineno-122-20 href=#__codelineno-122-20></a> &quot;Key&quot;: &quot;mycode.py&quot;,
</span><span id=__span-122-21><a id=__codelineno-122-21 name=__codelineno-122-21 href=#__codelineno-122-21></a> &quot;VersionId&quot;: &quot;.qBE6Dx91dxnU7aYOzmBMM1qRg3QwAx&quot;,
</span><span id=__span-122-22><a id=__codelineno-122-22 name=__codelineno-122-22 href=#__codelineno-122-22></a> &quot;IsLatest&quot;: true,
</span><span id=__span-122-23><a id=__codelineno-122-23 name=__codelineno-122-23 href=#__codelineno-122-23></a> &quot;LastModified&quot;: &quot;2024-10-04T14:51:41.115Z&quot;,
</span><span id=__span-122-24><a id=__codelineno-122-24 name=__codelineno-122-24 href=#__codelineno-122-24></a> &quot;Owner&quot;: {
</span><span id=__span-122-25><a id=__codelineno-122-25 name=__codelineno-122-25 href=#__codelineno-122-25></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-122-26><a id=__codelineno-122-26 name=__codelineno-122-26 href=#__codelineno-122-26></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-122-27><a id=__codelineno-122-27 name=__codelineno-122-27 href=#__codelineno-122-27></a> }
</span><span id=__span-122-28><a id=__codelineno-122-28 name=__codelineno-122-28 href=#__codelineno-122-28></a> }
</span><span id=__span-122-29><a id=__codelineno-122-29 name=__codelineno-122-29 href=#__codelineno-122-29></a> ],
</span><span id=__span-122-30><a id=__codelineno-122-30 name=__codelineno-122-30 href=#__codelineno-122-30></a> &quot;RequestCharged&quot;: null
</span><span id=__span-122-31><a id=__codelineno-122-31 name=__codelineno-122-31 href=#__codelineno-122-31></a>}
</span></code></pre></div> <p>To test automatic deleting of previous versions, we modify file named <strong>mycode.py</strong> on our local computer and upload it one more time using <strong>put-object</strong>:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-123-1><a id=__codelineno-123-1 name=__codelineno-123-1 href=#__codelineno-123-1></a>aws s3api put-object \
</span><span id=__span-123-2><a id=__codelineno-123-2 name=__codelineno-123-2 href=#__codelineno-123-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-123-3><a id=__codelineno-123-3 name=__codelineno-123-3 href=#__codelineno-123-3></a>--bucket $bucket_name3 \
</span><span id=__span-123-4><a id=__codelineno-123-4 name=__codelineno-123-4 href=#__codelineno-123-4></a>--body mycode.py \
</span><span id=__span-123-5><a id=__codelineno-123-5 name=__codelineno-123-5 href=#__codelineno-123-5></a>--key mycode.py
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-124-1><a id=__codelineno-124-1 name=__codelineno-124-1 href=#__codelineno-124-1></a>aws s3api put-object \
</span><span id=__span-124-2><a id=__codelineno-124-2 name=__codelineno-124-2 href=#__codelineno-124-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-124-3><a id=__codelineno-124-3 name=__codelineno-124-3 href=#__codelineno-124-3></a>--bucket $bucket_name3 \
</span><span id=__span-124-4><a id=__codelineno-124-4 name=__codelineno-124-4 href=#__codelineno-124-4></a>--body mycode.py \
</span><span id=__span-124-5><a id=__codelineno-124-5 name=__codelineno-124-5 href=#__codelineno-124-5></a>--key mycode.py
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-125-1><a id=__codelineno-125-1 name=__codelineno-125-1 href=#__codelineno-125-1></a>aws s3api put-object \
</span><span id=__span-125-2><a id=__codelineno-125-2 name=__codelineno-125-2 href=#__codelineno-125-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-125-3><a id=__codelineno-125-3 name=__codelineno-125-3 href=#__codelineno-125-3></a>--bucket $bucket_name3 \
</span><span id=__span-125-4><a id=__codelineno-125-4 name=__codelineno-125-4 href=#__codelineno-125-4></a>--body mycode.py \
</span><span id=__span-125-5><a id=__codelineno-125-5 name=__codelineno-125-5 href=#__codelineno-125-5></a>--key mycode.py
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-126-1><a id=__codelineno-126-1 name=__codelineno-126-1 href=#__codelineno-126-1></a>aws s3api put-object \
</span><span id=__span-126-2><a id=__codelineno-126-2 name=__codelineno-126-2 href=#__codelineno-126-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-126-3><a id=__codelineno-126-3 name=__codelineno-126-3 href=#__codelineno-126-3></a>--bucket $bucket_name3 \
</span><span id=__span-126-4><a id=__codelineno-126-4 name=__codelineno-126-4 href=#__codelineno-126-4></a>--body mycode.py \
</span><span id=__span-126-5><a id=__codelineno-126-5 name=__codelineno-126-5 href=#__codelineno-126-5></a>--key mycode.py
</span></code></pre></div> <p>Executing <strong>list-object-versions</strong> again:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-127-1><a id=__codelineno-127-1 name=__codelineno-127-1 href=#__codelineno-127-1></a>aws s3api list-object-versions \
</span><span id=__span-127-2><a id=__codelineno-127-2 name=__codelineno-127-2 href=#__codelineno-127-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-127-3><a id=__codelineno-127-3 name=__codelineno-127-3 href=#__codelineno-127-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-128-1><a id=__codelineno-128-1 name=__codelineno-128-1 href=#__codelineno-128-1></a>aws s3api list-object-versions \
</span><span id=__span-128-2><a id=__codelineno-128-2 name=__codelineno-128-2 href=#__codelineno-128-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-128-3><a id=__codelineno-128-3 name=__codelineno-128-3 href=#__codelineno-128-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-129-1><a id=__codelineno-129-1 name=__codelineno-129-1 href=#__codelineno-129-1></a>aws s3api list-object-versions \
</span><span id=__span-129-2><a id=__codelineno-129-2 name=__codelineno-129-2 href=#__codelineno-129-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-129-3><a id=__codelineno-129-3 name=__codelineno-129-3 href=#__codelineno-129-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-130-1><a id=__codelineno-130-1 name=__codelineno-130-1 href=#__codelineno-130-1></a>aws s3api list-object-versions \
</span><span id=__span-130-2><a id=__codelineno-130-2 name=__codelineno-130-2 href=#__codelineno-130-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-130-3><a id=__codelineno-130-3 name=__codelineno-130-3 href=#__codelineno-130-3></a>--bucket $bucket_name3
</span></code></pre></div> <p>confirms that one of the files has two versions while the other only has one version:</p> <div class=highlight><pre><span></span><code><span id=__span-131-1><a id=__codelineno-131-1 name=__codelineno-131-1 href=#__codelineno-131-1></a>{
</span><span id=__span-131-2><a id=__codelineno-131-2 name=__codelineno-131-2 href=#__codelineno-131-2></a> &quot;Versions&quot;: [
</span><span id=__span-131-3><a id=__codelineno-131-3 name=__codelineno-131-3 href=#__codelineno-131-3></a> {
</span><span id=__span-131-4><a id=__codelineno-131-4 name=__codelineno-131-4 href=#__codelineno-131-4></a> &quot;ETag&quot;: &quot;\&quot;d185982da39fb33854a5b49c8e416e07\&quot;&quot;,
</span><span id=__span-131-5><a id=__codelineno-131-5 name=__codelineno-131-5 href=#__codelineno-131-5></a> &quot;Size&quot;: 34,
</span><span id=__span-131-6><a id=__codelineno-131-6 name=__codelineno-131-6 href=#__codelineno-131-6></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-131-7><a id=__codelineno-131-7 name=__codelineno-131-7 href=#__codelineno-131-7></a> &quot;Key&quot;: &quot;announcement.md&quot;,
</span><span id=__span-131-8><a id=__codelineno-131-8 name=__codelineno-131-8 href=#__codelineno-131-8></a> &quot;VersionId&quot;: &quot;r714CQ6MLAo4l300Fv9iBCqfNpESPpN&quot;,
</span><span id=__span-131-9><a id=__codelineno-131-9 name=__codelineno-131-9 href=#__codelineno-131-9></a> &quot;IsLatest&quot;: true,
</span><span id=__span-131-10><a id=__codelineno-131-10 name=__codelineno-131-10 href=#__codelineno-131-10></a> &quot;LastModified&quot;: &quot;2024-10-04T14:51:26.015Z&quot;,
</span><span id=__span-131-11><a id=__codelineno-131-11 name=__codelineno-131-11 href=#__codelineno-131-11></a> &quot;Owner&quot;: {
</span><span id=__span-131-12><a id=__codelineno-131-12 name=__codelineno-131-12 href=#__codelineno-131-12></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-131-13><a id=__codelineno-131-13 name=__codelineno-131-13 href=#__codelineno-131-13></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-131-14><a id=__codelineno-131-14 name=__codelineno-131-14 href=#__codelineno-131-14></a> }
</span><span id=__span-131-15><a id=__codelineno-131-15 name=__codelineno-131-15 href=#__codelineno-131-15></a> },
</span><span id=__span-131-16><a id=__codelineno-131-16 name=__codelineno-131-16 href=#__codelineno-131-16></a> {
</span><span id=__span-131-17><a id=__codelineno-131-17 name=__codelineno-131-17 href=#__codelineno-131-17></a> &quot;ETag&quot;: &quot;\&quot;3a474b21ab418d007ad677262dfed5b6\&quot;&quot;,
</span><span id=__span-131-18><a id=__codelineno-131-18 name=__codelineno-131-18 href=#__codelineno-131-18></a> &quot;Size&quot;: 39,
</span><span id=__span-131-19><a id=__codelineno-131-19 name=__codelineno-131-19 href=#__codelineno-131-19></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-131-20><a id=__codelineno-131-20 name=__codelineno-131-20 href=#__codelineno-131-20></a> &quot;Key&quot;: &quot;mycode.py&quot;,
</span><span id=__span-131-21><a id=__codelineno-131-21 name=__codelineno-131-21 href=#__codelineno-131-21></a> &quot;VersionId&quot;: &quot;tYJ6IazGryIWjv4iwSM1mLTW4-AnhMN&quot;,
</span><span id=__span-131-22><a id=__codelineno-131-22 name=__codelineno-131-22 href=#__codelineno-131-22></a> &quot;IsLatest&quot;: true,
</span><span id=__span-131-23><a id=__codelineno-131-23 name=__codelineno-131-23 href=#__codelineno-131-23></a> &quot;LastModified&quot;: &quot;2024-10-04T14:55:07.223Z&quot;,
</span><span id=__span-131-24><a id=__codelineno-131-24 name=__codelineno-131-24 href=#__codelineno-131-24></a> &quot;Owner&quot;: {
</span><span id=__span-131-25><a id=__codelineno-131-25 name=__codelineno-131-25 href=#__codelineno-131-25></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-131-26><a id=__codelineno-131-26 name=__codelineno-131-26 href=#__codelineno-131-26></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-131-27><a id=__codelineno-131-27 name=__codelineno-131-27 href=#__codelineno-131-27></a> }
</span><span id=__span-131-28><a id=__codelineno-131-28 name=__codelineno-131-28 href=#__codelineno-131-28></a> },
</span><span id=__span-131-29><a id=__codelineno-131-29 name=__codelineno-131-29 href=#__codelineno-131-29></a> {
</span><span id=__span-131-30><a id=__codelineno-131-30 name=__codelineno-131-30 href=#__codelineno-131-30></a> &quot;ETag&quot;: &quot;\&quot;6cf02e36dd1dc8b58ea77ba4a94291f2\&quot;&quot;,
</span><span id=__span-131-31><a id=__codelineno-131-31 name=__codelineno-131-31 href=#__codelineno-131-31></a> &quot;Size&quot;: 21,
</span><span id=__span-131-32><a id=__codelineno-131-32 name=__codelineno-131-32 href=#__codelineno-131-32></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-131-33><a id=__codelineno-131-33 name=__codelineno-131-33 href=#__codelineno-131-33></a> &quot;Key&quot;: &quot;mycode.py&quot;,
</span><span id=__span-131-34><a id=__codelineno-131-34 name=__codelineno-131-34 href=#__codelineno-131-34></a> &quot;VersionId&quot;: &quot;.qBE6Dx91dxnU7aYOzmBMM1qRg3QwAx&quot;,
</span><span id=__span-131-35><a id=__codelineno-131-35 name=__codelineno-131-35 href=#__codelineno-131-35></a> &quot;IsLatest&quot;: false,
</span><span id=__span-131-36><a id=__codelineno-131-36 name=__codelineno-131-36 href=#__codelineno-131-36></a> &quot;LastModified&quot;: &quot;2024-10-04T14:51:41.115Z&quot;,
</span><span id=__span-131-37><a id=__codelineno-131-37 name=__codelineno-131-37 href=#__codelineno-131-37></a> &quot;Owner&quot;: {
</span><span id=__span-131-38><a id=__codelineno-131-38 name=__codelineno-131-38 href=#__codelineno-131-38></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-131-39><a id=__codelineno-131-39 name=__codelineno-131-39 href=#__codelineno-131-39></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-131-40><a id=__codelineno-131-40 name=__codelineno-131-40 href=#__codelineno-131-40></a> }
</span><span id=__span-131-41><a id=__codelineno-131-41 name=__codelineno-131-41 href=#__codelineno-131-41></a> }
</span><span id=__span-131-42><a id=__codelineno-131-42 name=__codelineno-131-42 href=#__codelineno-131-42></a> ],
</span><span id=__span-131-43><a id=__codelineno-131-43 name=__codelineno-131-43 href=#__codelineno-131-43></a> &quot;RequestCharged&quot;: null
</span><span id=__span-131-44><a id=__codelineno-131-44 name=__codelineno-131-44 href=#__codelineno-131-44></a>}
</span></code></pre></div> <p>Contrary to other versions of files stored here, the first version of file <strong>mycode.py</strong> has <strong>false</strong> under the key <strong>IsLatest</strong>. This shows that this is not the latest version of that file.</p> <h3 id=setting-up-automatic-removal-of-previous-versions>Setting up automatic removal of previous versions<a href=#setting-up-automatic-removal-of-previous-versions title="Permalink to this headline">🔗</a><a class=headerlink href=#setting-up-automatic-removal-of-previous-versions title="Permanent link">&para;</a></h3> <p>The lifecycle policy is written in JSON. Create file named <strong>noncurrent-policy.json</strong> in your current working directory (doesnt have to be the location of the file which contains your login credentials) and enter the following code into it:</p> <div class=highlight><pre><span></span><code><span id=__span-132-1><a id=__codelineno-132-1 name=__codelineno-132-1 href=#__codelineno-132-1></a>{
</span><span id=__span-132-2><a id=__codelineno-132-2 name=__codelineno-132-2 href=#__codelineno-132-2></a> &quot;Rules&quot;: [
</span><span id=__span-132-3><a id=__codelineno-132-3 name=__codelineno-132-3 href=#__codelineno-132-3></a> {
</span><span id=__span-132-4><a id=__codelineno-132-4 name=__codelineno-132-4 href=#__codelineno-132-4></a> &quot;ID&quot;: &quot;NoncurrentVersionExpiration&quot;,
</span><span id=__span-132-5><a id=__codelineno-132-5 name=__codelineno-132-5 href=#__codelineno-132-5></a> &quot;Filter&quot;: {
</span><span id=__span-132-6><a id=__codelineno-132-6 name=__codelineno-132-6 href=#__codelineno-132-6></a> &quot;Prefix&quot;: &quot;&quot;
</span><span id=__span-132-7><a id=__codelineno-132-7 name=__codelineno-132-7 href=#__codelineno-132-7></a> },
</span><span id=__span-132-8><a id=__codelineno-132-8 name=__codelineno-132-8 href=#__codelineno-132-8></a> &quot;Status&quot;: &quot;Enabled&quot;,
</span><span id=__span-132-9><a id=__codelineno-132-9 name=__codelineno-132-9 href=#__codelineno-132-9></a> &quot;NoncurrentVersionExpiration&quot;: {
</span><span id=__span-132-10><a id=__codelineno-132-10 name=__codelineno-132-10 href=#__codelineno-132-10></a> &quot;NoncurrentDays&quot;: 1
</span><span id=__span-132-11><a id=__codelineno-132-11 name=__codelineno-132-11 href=#__codelineno-132-11></a> }
</span><span id=__span-132-12><a id=__codelineno-132-12 name=__codelineno-132-12 href=#__codelineno-132-12></a> }
</span><span id=__span-132-13><a id=__codelineno-132-13 name=__codelineno-132-13 href=#__codelineno-132-13></a> ]
</span><span id=__span-132-14><a id=__codelineno-132-14 name=__codelineno-132-14 href=#__codelineno-132-14></a>}
</span></code></pre></div> <p>Replace <strong>1</strong> with the number of days after which noncurrent versions are to be deleted.</p> <p>In this example, we will apply this policy to bucket <strong>$bucket_name1</strong>. The command is <strong>put-bucket-lifecycle-configuration</strong>:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-133-1><a id=__codelineno-133-1 name=__codelineno-133-1 href=#__codelineno-133-1></a>aws s3api put-bucket-lifecycle-configuration \
</span><span id=__span-133-2><a id=__codelineno-133-2 name=__codelineno-133-2 href=#__codelineno-133-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-133-3><a id=__codelineno-133-3 name=__codelineno-133-3 href=#__codelineno-133-3></a>--bucket $bucket_name3 \
</span><span id=__span-133-4><a id=__codelineno-133-4 name=__codelineno-133-4 href=#__codelineno-133-4></a>--lifecycle-configuration file://noncurrent-policy.json
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-134-1><a id=__codelineno-134-1 name=__codelineno-134-1 href=#__codelineno-134-1></a>aws s3api put-bucket-lifecycle-configuration \
</span><span id=__span-134-2><a id=__codelineno-134-2 name=__codelineno-134-2 href=#__codelineno-134-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-134-3><a id=__codelineno-134-3 name=__codelineno-134-3 href=#__codelineno-134-3></a>--bucket $bucket_name3 \
</span><span id=__span-134-4><a id=__codelineno-134-4 name=__codelineno-134-4 href=#__codelineno-134-4></a>--lifecycle-configuration file://noncurrent-policy.json
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-135-1><a id=__codelineno-135-1 name=__codelineno-135-1 href=#__codelineno-135-1></a>aws s3api put-bucket-lifecycle-configuration \
</span><span id=__span-135-2><a id=__codelineno-135-2 name=__codelineno-135-2 href=#__codelineno-135-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-135-3><a id=__codelineno-135-3 name=__codelineno-135-3 href=#__codelineno-135-3></a>--bucket $bucket_name3 \
</span><span id=__span-135-4><a id=__codelineno-135-4 name=__codelineno-135-4 href=#__codelineno-135-4></a>--lifecycle-configuration file://noncurrent-policy.json
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-136-1><a id=__codelineno-136-1 name=__codelineno-136-1 href=#__codelineno-136-1></a>aws s3api put-bucket-lifecycle-configuration \
</span><span id=__span-136-2><a id=__codelineno-136-2 name=__codelineno-136-2 href=#__codelineno-136-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-136-3><a id=__codelineno-136-3 name=__codelineno-136-3 href=#__codelineno-136-3></a>--bucket $bucket_name3 \
</span><span id=__span-136-4><a id=__codelineno-136-4 name=__codelineno-136-4 href=#__codelineno-136-4></a>--lifecycle-configuration file://noncurrent-policy.json
</span></code></pre></div> <p>The output should be empty.</p> <p>To verify that the policy was applied, execute the <strong>get-bucket-lifecycle-configuration</strong> command:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-137-1><a id=__codelineno-137-1 name=__codelineno-137-1 href=#__codelineno-137-1></a>aws s3api get-bucket-lifecycle-configuration \
</span><span id=__span-137-2><a id=__codelineno-137-2 name=__codelineno-137-2 href=#__codelineno-137-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-137-3><a id=__codelineno-137-3 name=__codelineno-137-3 href=#__codelineno-137-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-138-1><a id=__codelineno-138-1 name=__codelineno-138-1 href=#__codelineno-138-1></a>aws s3api get-bucket-lifecycle-configuration \
</span><span id=__span-138-2><a id=__codelineno-138-2 name=__codelineno-138-2 href=#__codelineno-138-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-138-3><a id=__codelineno-138-3 name=__codelineno-138-3 href=#__codelineno-138-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-139-1><a id=__codelineno-139-1 name=__codelineno-139-1 href=#__codelineno-139-1></a>aws s3api get-bucket-lifecycle-configuration \
</span><span id=__span-139-2><a id=__codelineno-139-2 name=__codelineno-139-2 href=#__codelineno-139-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-139-3><a id=__codelineno-139-3 name=__codelineno-139-3 href=#__codelineno-139-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-140-1><a id=__codelineno-140-1 name=__codelineno-140-1 href=#__codelineno-140-1></a>aws s3api get-bucket-lifecycle-configuration \
</span><span id=__span-140-2><a id=__codelineno-140-2 name=__codelineno-140-2 href=#__codelineno-140-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-140-3><a id=__codelineno-140-3 name=__codelineno-140-3 href=#__codelineno-140-3></a>--bucket $bucket_name3
</span></code></pre></div> <p>In the output, you should see the policy which you applied:</p> <div class=highlight><pre><span></span><code><span id=__span-141-1><a id=__codelineno-141-1 name=__codelineno-141-1 href=#__codelineno-141-1></a>{
</span><span id=__span-141-2><a id=__codelineno-141-2 name=__codelineno-141-2 href=#__codelineno-141-2></a> &quot;Rules&quot;: [
</span><span id=__span-141-3><a id=__codelineno-141-3 name=__codelineno-141-3 href=#__codelineno-141-3></a> {
</span><span id=__span-141-4><a id=__codelineno-141-4 name=__codelineno-141-4 href=#__codelineno-141-4></a> &quot;ID&quot;: &quot;NoncurrentVersionExpiration&quot;,
</span><span id=__span-141-5><a id=__codelineno-141-5 name=__codelineno-141-5 href=#__codelineno-141-5></a> &quot;Filter&quot;: {
</span><span id=__span-141-6><a id=__codelineno-141-6 name=__codelineno-141-6 href=#__codelineno-141-6></a> &quot;Prefix&quot;: &quot;&quot;
</span><span id=__span-141-7><a id=__codelineno-141-7 name=__codelineno-141-7 href=#__codelineno-141-7></a> },
</span><span id=__span-141-8><a id=__codelineno-141-8 name=__codelineno-141-8 href=#__codelineno-141-8></a> &quot;Status&quot;: &quot;Enabled&quot;,
</span><span id=__span-141-9><a id=__codelineno-141-9 name=__codelineno-141-9 href=#__codelineno-141-9></a> &quot;NoncurrentVersionExpiration&quot;: {
</span><span id=__span-141-10><a id=__codelineno-141-10 name=__codelineno-141-10 href=#__codelineno-141-10></a> &quot;NoncurrentDays&quot;: 1
</span><span id=__span-141-11><a id=__codelineno-141-11 name=__codelineno-141-11 href=#__codelineno-141-11></a> }
</span><span id=__span-141-12><a id=__codelineno-141-12 name=__codelineno-141-12 href=#__codelineno-141-12></a> }
</span><span id=__span-141-13><a id=__codelineno-141-13 name=__codelineno-141-13 href=#__codelineno-141-13></a> ]
</span><span id=__span-141-14><a id=__codelineno-141-14 name=__codelineno-141-14 href=#__codelineno-141-14></a>}
</span></code></pre></div> <p>Versions of files which are not the latest should now be removed after 1 day.</p> <p>In this example, logging in after one day and executing <strong>list-object-versions</strong> again:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-142-1><a id=__codelineno-142-1 name=__codelineno-142-1 href=#__codelineno-142-1></a>aws s3api list-object-versions \
</span><span id=__span-142-2><a id=__codelineno-142-2 name=__codelineno-142-2 href=#__codelineno-142-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-142-3><a id=__codelineno-142-3 name=__codelineno-142-3 href=#__codelineno-142-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-143-1><a id=__codelineno-143-1 name=__codelineno-143-1 href=#__codelineno-143-1></a>aws s3api list-object-versions \
</span><span id=__span-143-2><a id=__codelineno-143-2 name=__codelineno-143-2 href=#__codelineno-143-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-143-3><a id=__codelineno-143-3 name=__codelineno-143-3 href=#__codelineno-143-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-144-1><a id=__codelineno-144-1 name=__codelineno-144-1 href=#__codelineno-144-1></a>aws s3api list-object-versions \
</span><span id=__span-144-2><a id=__codelineno-144-2 name=__codelineno-144-2 href=#__codelineno-144-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-144-3><a id=__codelineno-144-3 name=__codelineno-144-3 href=#__codelineno-144-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-145-1><a id=__codelineno-145-1 name=__codelineno-145-1 href=#__codelineno-145-1></a>aws s3api list-object-versions \
</span><span id=__span-145-2><a id=__codelineno-145-2 name=__codelineno-145-2 href=#__codelineno-145-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-145-3><a id=__codelineno-145-3 name=__codelineno-145-3 href=#__codelineno-145-3></a>--bucket $bucket_name3
</span></code></pre></div> <p>reveals that the version of file <strong>mycode.py</strong> which is not the latest was deleted:</p> <div class=highlight><pre><span></span><code><span id=__span-146-1><a id=__codelineno-146-1 name=__codelineno-146-1 href=#__codelineno-146-1></a>{
</span><span id=__span-146-2><a id=__codelineno-146-2 name=__codelineno-146-2 href=#__codelineno-146-2></a> &quot;Versions&quot;: [
</span><span id=__span-146-3><a id=__codelineno-146-3 name=__codelineno-146-3 href=#__codelineno-146-3></a> {
</span><span id=__span-146-4><a id=__codelineno-146-4 name=__codelineno-146-4 href=#__codelineno-146-4></a> &quot;ETag&quot;: &quot;\&quot;d185982da39fb33854a5b49c8e416e07\&quot;&quot;,
</span><span id=__span-146-5><a id=__codelineno-146-5 name=__codelineno-146-5 href=#__codelineno-146-5></a> &quot;Size&quot;: 34,
</span><span id=__span-146-6><a id=__codelineno-146-6 name=__codelineno-146-6 href=#__codelineno-146-6></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-146-7><a id=__codelineno-146-7 name=__codelineno-146-7 href=#__codelineno-146-7></a> &quot;Key&quot;: &quot;announcement.md&quot;,
</span><span id=__span-146-8><a id=__codelineno-146-8 name=__codelineno-146-8 href=#__codelineno-146-8></a> &quot;VersionId&quot;: &quot;r714CQ6MLAo4l300Fv9iBCqfNpESPpN&quot;,
</span><span id=__span-146-9><a id=__codelineno-146-9 name=__codelineno-146-9 href=#__codelineno-146-9></a> &quot;IsLatest&quot;: true,
</span><span id=__span-146-10><a id=__codelineno-146-10 name=__codelineno-146-10 href=#__codelineno-146-10></a> &quot;LastModified&quot;: &quot;2024-10-04T14:51:26.015Z&quot;,
</span><span id=__span-146-11><a id=__codelineno-146-11 name=__codelineno-146-11 href=#__codelineno-146-11></a> &quot;Owner&quot;: {
</span><span id=__span-146-12><a id=__codelineno-146-12 name=__codelineno-146-12 href=#__codelineno-146-12></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-146-13><a id=__codelineno-146-13 name=__codelineno-146-13 href=#__codelineno-146-13></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-146-14><a id=__codelineno-146-14 name=__codelineno-146-14 href=#__codelineno-146-14></a> }
</span><span id=__span-146-15><a id=__codelineno-146-15 name=__codelineno-146-15 href=#__codelineno-146-15></a> },
</span><span id=__span-146-16><a id=__codelineno-146-16 name=__codelineno-146-16 href=#__codelineno-146-16></a> {
</span><span id=__span-146-17><a id=__codelineno-146-17 name=__codelineno-146-17 href=#__codelineno-146-17></a> &quot;ETag&quot;: &quot;\&quot;3a474b21ab418d007ad677262dfed5b6\&quot;&quot;,
</span><span id=__span-146-18><a id=__codelineno-146-18 name=__codelineno-146-18 href=#__codelineno-146-18></a> &quot;Size&quot;: 39,
</span><span id=__span-146-19><a id=__codelineno-146-19 name=__codelineno-146-19 href=#__codelineno-146-19></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-146-20><a id=__codelineno-146-20 name=__codelineno-146-20 href=#__codelineno-146-20></a> &quot;Key&quot;: &quot;mycode.py&quot;,
</span><span id=__span-146-21><a id=__codelineno-146-21 name=__codelineno-146-21 href=#__codelineno-146-21></a> &quot;VersionId&quot;: &quot;tYJ6IazGryIWjv4iwSM1mLTW4-AnhMN&quot;,
</span><span id=__span-146-22><a id=__codelineno-146-22 name=__codelineno-146-22 href=#__codelineno-146-22></a> &quot;IsLatest&quot;: true,
</span><span id=__span-146-23><a id=__codelineno-146-23 name=__codelineno-146-23 href=#__codelineno-146-23></a> &quot;LastModified&quot;: &quot;2024-10-04T14:55:07.223Z&quot;,
</span><span id=__span-146-24><a id=__codelineno-146-24 name=__codelineno-146-24 href=#__codelineno-146-24></a> &quot;Owner&quot;: {
</span><span id=__span-146-25><a id=__codelineno-146-25 name=__codelineno-146-25 href=#__codelineno-146-25></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-146-26><a id=__codelineno-146-26 name=__codelineno-146-26 href=#__codelineno-146-26></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-146-27><a id=__codelineno-146-27 name=__codelineno-146-27 href=#__codelineno-146-27></a> }
</span><span id=__span-146-28><a id=__codelineno-146-28 name=__codelineno-146-28 href=#__codelineno-146-28></a> }
</span><span id=__span-146-29><a id=__codelineno-146-29 name=__codelineno-146-29 href=#__codelineno-146-29></a> ],
</span><span id=__span-146-30><a id=__codelineno-146-30 name=__codelineno-146-30 href=#__codelineno-146-30></a> &quot;RequestCharged&quot;: null
</span><span id=__span-146-31><a id=__codelineno-146-31 name=__codelineno-146-31 href=#__codelineno-146-31></a>}
</span></code></pre></div> <h3 id=deleting-lifecycle-policy>Deleting lifecycle policy<a href=#deleting-lifecycle-policy title="Permalink to this headline">🔗</a><a class=headerlink href=#deleting-lifecycle-policy title="Permanent link">&para;</a></h3> <p>Command <strong>delete-bucket-lifecycle</strong> deletes bucket lifecycle policy. This is how to do it on bucket <strong>$bucket_name3</strong>.</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-147-1><a id=__codelineno-147-1 name=__codelineno-147-1 href=#__codelineno-147-1></a>aws s3api delete-bucket-lifecycle \
</span><span id=__span-147-2><a id=__codelineno-147-2 name=__codelineno-147-2 href=#__codelineno-147-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-147-3><a id=__codelineno-147-3 name=__codelineno-147-3 href=#__codelineno-147-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-148-1><a id=__codelineno-148-1 name=__codelineno-148-1 href=#__codelineno-148-1></a>aws s3api delete-bucket-lifecycle \
</span><span id=__span-148-2><a id=__codelineno-148-2 name=__codelineno-148-2 href=#__codelineno-148-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-148-3><a id=__codelineno-148-3 name=__codelineno-148-3 href=#__codelineno-148-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-149-1><a id=__codelineno-149-1 name=__codelineno-149-1 href=#__codelineno-149-1></a>aws s3api delete-bucket-lifecycle \
</span><span id=__span-149-2><a id=__codelineno-149-2 name=__codelineno-149-2 href=#__codelineno-149-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-149-3><a id=__codelineno-149-3 name=__codelineno-149-3 href=#__codelineno-149-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-150-1><a id=__codelineno-150-1 name=__codelineno-150-1 href=#__codelineno-150-1></a>aws s3api delete-bucket-lifecycle \
</span><span id=__span-150-2><a id=__codelineno-150-2 name=__codelineno-150-2 href=#__codelineno-150-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-150-3><a id=__codelineno-150-3 name=__codelineno-150-3 href=#__codelineno-150-3></a>--bucket $bucket_name3
</span></code></pre></div> <p>The output of this command should be empty.</p> <p>To verify, we once again check the current lifecycle configuration:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-151-1><a id=__codelineno-151-1 name=__codelineno-151-1 href=#__codelineno-151-1></a>aws s3api get-bucket-lifecycle-configuration \
</span><span id=__span-151-2><a id=__codelineno-151-2 name=__codelineno-151-2 href=#__codelineno-151-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-151-3><a id=__codelineno-151-3 name=__codelineno-151-3 href=#__codelineno-151-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-152-1><a id=__codelineno-152-1 name=__codelineno-152-1 href=#__codelineno-152-1></a>aws s3api get-bucket-lifecycle-configuration \
</span><span id=__span-152-2><a id=__codelineno-152-2 name=__codelineno-152-2 href=#__codelineno-152-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-152-3><a id=__codelineno-152-3 name=__codelineno-152-3 href=#__codelineno-152-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-153-1><a id=__codelineno-153-1 name=__codelineno-153-1 href=#__codelineno-153-1></a>aws s3api get-bucket-lifecycle-configuration \
</span><span id=__span-153-2><a id=__codelineno-153-2 name=__codelineno-153-2 href=#__codelineno-153-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-153-3><a id=__codelineno-153-3 name=__codelineno-153-3 href=#__codelineno-153-3></a>--bucket $bucket_name3
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-154-1><a id=__codelineno-154-1 name=__codelineno-154-1 href=#__codelineno-154-1></a>aws s3api get-bucket-lifecycle-configuration \
</span><span id=__span-154-2><a id=__codelineno-154-2 name=__codelineno-154-2 href=#__codelineno-154-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-154-3><a id=__codelineno-154-3 name=__codelineno-154-3 href=#__codelineno-154-3></a>--bucket $bucket_name3
</span></code></pre></div> <p>This command should return either an empty output or:</p> <div class=highlight><pre><span></span><code><span id=__span-155-1><a id=__codelineno-155-1 name=__codelineno-155-1 href=#__codelineno-155-1></a>argument of type &#39;NoneType&#39; is not iterable
</span></code></pre></div> <p>The policy should now no longer apply.</p> <h2 id=suspending-versioning>Suspending versioning<a href=#suspending-versioning title="Permalink to this headline">🔗</a><a class=headerlink href=#suspending-versioning title="Permanent link">&para;</a></h2> <p>If you no longer want to store multiple versions of files, you can suspend the versioning.</p> <h3 id=bucket-on-which-versioning-has-never-been-enabled>Bucket on which versioning has never been enabled<a href=#bucket-on-which-versioning-has-never-been-enabled title="Permalink to this headline">🔗</a><a class=headerlink href=#bucket-on-which-versioning-has-never-been-enabled title="Permanent link">&para;</a></h3> <p>To better understand how it works, let us start with a bucket in which versioning has never been enabled in the first place.</p> <p>On such a bucket, every file will only have one version which has one and the same ID, namely, <strong>null</strong>.</p> <p>If you upload another file under the same name, its <strong>VersionID</strong> will also be <strong>null</strong>, and will replace the previously uploaded file.</p> <h4 id=example>Example<a href=#example title="Permalink to this headline">🔗</a><a class=headerlink href=#example title="Permanent link">&para;</a></h4> <p>For this example, we will create bucket <strong>$bucket_name4</strong> on which versioning has never been enabled.</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-156-1><a id=__codelineno-156-1 name=__codelineno-156-1 href=#__codelineno-156-1></a>aws s3api create-bucket \
</span><span id=__span-156-2><a id=__codelineno-156-2 name=__codelineno-156-2 href=#__codelineno-156-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-156-3><a id=__codelineno-156-3 name=__codelineno-156-3 href=#__codelineno-156-3></a>--bucket $bucket_name4
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-157-1><a id=__codelineno-157-1 name=__codelineno-157-1 href=#__codelineno-157-1></a>aws s3api create-bucket \
</span><span id=__span-157-2><a id=__codelineno-157-2 name=__codelineno-157-2 href=#__codelineno-157-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-157-3><a id=__codelineno-157-3 name=__codelineno-157-3 href=#__codelineno-157-3></a>--bucket $bucket_name4
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-158-1><a id=__codelineno-158-1 name=__codelineno-158-1 href=#__codelineno-158-1></a>aws s3api create-bucket \
</span><span id=__span-158-2><a id=__codelineno-158-2 name=__codelineno-158-2 href=#__codelineno-158-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-158-3><a id=__codelineno-158-3 name=__codelineno-158-3 href=#__codelineno-158-3></a>--bucket $bucket_name4
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-159-1><a id=__codelineno-159-1 name=__codelineno-159-1 href=#__codelineno-159-1></a>aws s3api create-bucket \
</span><span id=__span-159-2><a id=__codelineno-159-2 name=__codelineno-159-2 href=#__codelineno-159-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-159-3><a id=__codelineno-159-3 name=__codelineno-159-3 href=#__codelineno-159-3></a>--bucket $bucket_name4
</span></code></pre></div> <p>Buckets can, of course, contain files of various type. For the sake of this example, suppose that the bucket contains the following three files of various types:</p> <p>Table 7 File vs. the editor<a href=#id3 title="Permalink to this table">🔗</a></p> <table> <thead> <tr> <th></th> <th></th> </tr> </thead> <tbody> <tr> <td><strong>File</strong></td> <td><strong>Editor</strong></td> </tr> <tr> <td><strong>document.odt</strong></td> <td>LibreOffice</td> </tr> <tr> <td><strong>screenshot1.png</strong></td> <td>GIMP, Krita etc.</td> </tr> <tr> <td><strong>script.sh</strong></td> <td>nano, vim etc.</td> </tr> </tbody> </table> <p>The actual content of these files is not important here. You can use the editors from this table to create the files and then upload them with <strong>put-object</strong>:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-160-1><a id=__codelineno-160-1 name=__codelineno-160-1 href=#__codelineno-160-1></a>aws s3api put-object \
</span><span id=__span-160-2><a id=__codelineno-160-2 name=__codelineno-160-2 href=#__codelineno-160-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-160-3><a id=__codelineno-160-3 name=__codelineno-160-3 href=#__codelineno-160-3></a>--bucket $bucket_name1 \
</span><span id=__span-160-4><a id=__codelineno-160-4 name=__codelineno-160-4 href=#__codelineno-160-4></a>--body document.odt \
</span><span id=__span-160-5><a id=__codelineno-160-5 name=__codelineno-160-5 href=#__codelineno-160-5></a>--key document.odt
</span><span id=__span-160-6><a id=__codelineno-160-6 name=__codelineno-160-6 href=#__codelineno-160-6></a>
</span><span id=__span-160-7><a id=__codelineno-160-7 name=__codelineno-160-7 href=#__codelineno-160-7></a>aws s3api put-object \
</span><span id=__span-160-8><a id=__codelineno-160-8 name=__codelineno-160-8 href=#__codelineno-160-8></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-160-9><a id=__codelineno-160-9 name=__codelineno-160-9 href=#__codelineno-160-9></a>--bucket $bucket_name1 \
</span><span id=__span-160-10><a id=__codelineno-160-10 name=__codelineno-160-10 href=#__codelineno-160-10></a>--body screenshot1.png \
</span><span id=__span-160-11><a id=__codelineno-160-11 name=__codelineno-160-11 href=#__codelineno-160-11></a>--key screenshot1.png
</span><span id=__span-160-12><a id=__codelineno-160-12 name=__codelineno-160-12 href=#__codelineno-160-12></a>
</span><span id=__span-160-13><a id=__codelineno-160-13 name=__codelineno-160-13 href=#__codelineno-160-13></a>aws s3api put-object \
</span><span id=__span-160-14><a id=__codelineno-160-14 name=__codelineno-160-14 href=#__codelineno-160-14></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-160-15><a id=__codelineno-160-15 name=__codelineno-160-15 href=#__codelineno-160-15></a>--bucket $bucket_name1 \
</span><span id=__span-160-16><a id=__codelineno-160-16 name=__codelineno-160-16 href=#__codelineno-160-16></a>--body script.sh \
</span><span id=__span-160-17><a id=__codelineno-160-17 name=__codelineno-160-17 href=#__codelineno-160-17></a>--key script.sh
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-161-1><a id=__codelineno-161-1 name=__codelineno-161-1 href=#__codelineno-161-1></a>aws s3api put-object \
</span><span id=__span-161-2><a id=__codelineno-161-2 name=__codelineno-161-2 href=#__codelineno-161-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-161-3><a id=__codelineno-161-3 name=__codelineno-161-3 href=#__codelineno-161-3></a>--bucket $bucket_name1 \
</span><span id=__span-161-4><a id=__codelineno-161-4 name=__codelineno-161-4 href=#__codelineno-161-4></a>--body document.odt \
</span><span id=__span-161-5><a id=__codelineno-161-5 name=__codelineno-161-5 href=#__codelineno-161-5></a>--key document.odt
</span><span id=__span-161-6><a id=__codelineno-161-6 name=__codelineno-161-6 href=#__codelineno-161-6></a>
</span><span id=__span-161-7><a id=__codelineno-161-7 name=__codelineno-161-7 href=#__codelineno-161-7></a>aws s3api put-object \
</span><span id=__span-161-8><a id=__codelineno-161-8 name=__codelineno-161-8 href=#__codelineno-161-8></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-161-9><a id=__codelineno-161-9 name=__codelineno-161-9 href=#__codelineno-161-9></a>--bucket $bucket_name1 \
</span><span id=__span-161-10><a id=__codelineno-161-10 name=__codelineno-161-10 href=#__codelineno-161-10></a>--body screenshot1.png \
</span><span id=__span-161-11><a id=__codelineno-161-11 name=__codelineno-161-11 href=#__codelineno-161-11></a>--key screenshot1.png
</span><span id=__span-161-12><a id=__codelineno-161-12 name=__codelineno-161-12 href=#__codelineno-161-12></a>
</span><span id=__span-161-13><a id=__codelineno-161-13 name=__codelineno-161-13 href=#__codelineno-161-13></a>aws s3api put-object \
</span><span id=__span-161-14><a id=__codelineno-161-14 name=__codelineno-161-14 href=#__codelineno-161-14></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-161-15><a id=__codelineno-161-15 name=__codelineno-161-15 href=#__codelineno-161-15></a>--bucket $bucket_name1 \
</span><span id=__span-161-16><a id=__codelineno-161-16 name=__codelineno-161-16 href=#__codelineno-161-16></a>--body script.sh \
</span><span id=__span-161-17><a id=__codelineno-161-17 name=__codelineno-161-17 href=#__codelineno-161-17></a>--key script.sh
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-162-1><a id=__codelineno-162-1 name=__codelineno-162-1 href=#__codelineno-162-1></a>aws s3api put-object \
</span><span id=__span-162-2><a id=__codelineno-162-2 name=__codelineno-162-2 href=#__codelineno-162-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-162-3><a id=__codelineno-162-3 name=__codelineno-162-3 href=#__codelineno-162-3></a>--bucket $bucket_name1 \
</span><span id=__span-162-4><a id=__codelineno-162-4 name=__codelineno-162-4 href=#__codelineno-162-4></a>--body document.odt \
</span><span id=__span-162-5><a id=__codelineno-162-5 name=__codelineno-162-5 href=#__codelineno-162-5></a>--key document.odt
</span><span id=__span-162-6><a id=__codelineno-162-6 name=__codelineno-162-6 href=#__codelineno-162-6></a>
</span><span id=__span-162-7><a id=__codelineno-162-7 name=__codelineno-162-7 href=#__codelineno-162-7></a>aws s3api put-object \
</span><span id=__span-162-8><a id=__codelineno-162-8 name=__codelineno-162-8 href=#__codelineno-162-8></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-162-9><a id=__codelineno-162-9 name=__codelineno-162-9 href=#__codelineno-162-9></a>--bucket $bucket_name1 \
</span><span id=__span-162-10><a id=__codelineno-162-10 name=__codelineno-162-10 href=#__codelineno-162-10></a>--body screenshot1.png \
</span><span id=__span-162-11><a id=__codelineno-162-11 name=__codelineno-162-11 href=#__codelineno-162-11></a>--key screenshot1.png
</span><span id=__span-162-12><a id=__codelineno-162-12 name=__codelineno-162-12 href=#__codelineno-162-12></a>
</span><span id=__span-162-13><a id=__codelineno-162-13 name=__codelineno-162-13 href=#__codelineno-162-13></a>aws s3api put-object \
</span><span id=__span-162-14><a id=__codelineno-162-14 name=__codelineno-162-14 href=#__codelineno-162-14></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-162-15><a id=__codelineno-162-15 name=__codelineno-162-15 href=#__codelineno-162-15></a>--bucket $bucket_name1 \
</span><span id=__span-162-16><a id=__codelineno-162-16 name=__codelineno-162-16 href=#__codelineno-162-16></a>--body script.sh \
</span><span id=__span-162-17><a id=__codelineno-162-17 name=__codelineno-162-17 href=#__codelineno-162-17></a>--key script.sh
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-163-1><a id=__codelineno-163-1 name=__codelineno-163-1 href=#__codelineno-163-1></a>aws s3api put-object \
</span><span id=__span-163-2><a id=__codelineno-163-2 name=__codelineno-163-2 href=#__codelineno-163-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-163-3><a id=__codelineno-163-3 name=__codelineno-163-3 href=#__codelineno-163-3></a>--bucket $bucket_name1 \
</span><span id=__span-163-4><a id=__codelineno-163-4 name=__codelineno-163-4 href=#__codelineno-163-4></a>--body document.odt \
</span><span id=__span-163-5><a id=__codelineno-163-5 name=__codelineno-163-5 href=#__codelineno-163-5></a>--key document.odt
</span><span id=__span-163-6><a id=__codelineno-163-6 name=__codelineno-163-6 href=#__codelineno-163-6></a>
</span><span id=__span-163-7><a id=__codelineno-163-7 name=__codelineno-163-7 href=#__codelineno-163-7></a>aws s3api put-object \
</span><span id=__span-163-8><a id=__codelineno-163-8 name=__codelineno-163-8 href=#__codelineno-163-8></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-163-9><a id=__codelineno-163-9 name=__codelineno-163-9 href=#__codelineno-163-9></a>--bucket $bucket_name1 \
</span><span id=__span-163-10><a id=__codelineno-163-10 name=__codelineno-163-10 href=#__codelineno-163-10></a>--body screenshot1.png \
</span><span id=__span-163-11><a id=__codelineno-163-11 name=__codelineno-163-11 href=#__codelineno-163-11></a>--key screenshot1.png
</span><span id=__span-163-12><a id=__codelineno-163-12 name=__codelineno-163-12 href=#__codelineno-163-12></a>
</span><span id=__span-163-13><a id=__codelineno-163-13 name=__codelineno-163-13 href=#__codelineno-163-13></a>aws s3api put-object \
</span><span id=__span-163-14><a id=__codelineno-163-14 name=__codelineno-163-14 href=#__codelineno-163-14></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-163-15><a id=__codelineno-163-15 name=__codelineno-163-15 href=#__codelineno-163-15></a>--bucket $bucket_name1 \
</span><span id=__span-163-16><a id=__codelineno-163-16 name=__codelineno-163-16 href=#__codelineno-163-16></a>--body script.sh \
</span><span id=__span-163-17><a id=__codelineno-163-17 name=__codelineno-163-17 href=#__codelineno-163-17></a>--key script.sh
</span></code></pre></div> <p>First, lets try to execute the previously mentioned <strong>list-object-versions</strong> command on this bucket:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-164-1><a id=__codelineno-164-1 name=__codelineno-164-1 href=#__codelineno-164-1></a>aws s3api list-object-versions \
</span><span id=__span-164-2><a id=__codelineno-164-2 name=__codelineno-164-2 href=#__codelineno-164-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-164-3><a id=__codelineno-164-3 name=__codelineno-164-3 href=#__codelineno-164-3></a>--bucket $bucket_name4
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-165-1><a id=__codelineno-165-1 name=__codelineno-165-1 href=#__codelineno-165-1></a>aws s3api list-object-versions \
</span><span id=__span-165-2><a id=__codelineno-165-2 name=__codelineno-165-2 href=#__codelineno-165-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-165-3><a id=__codelineno-165-3 name=__codelineno-165-3 href=#__codelineno-165-3></a>--bucket $bucket_name4
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-166-1><a id=__codelineno-166-1 name=__codelineno-166-1 href=#__codelineno-166-1></a>aws s3api list-object-versions \
</span><span id=__span-166-2><a id=__codelineno-166-2 name=__codelineno-166-2 href=#__codelineno-166-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-166-3><a id=__codelineno-166-3 name=__codelineno-166-3 href=#__codelineno-166-3></a>--bucket $bucket_name4
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-167-1><a id=__codelineno-167-1 name=__codelineno-167-1 href=#__codelineno-167-1></a>aws s3api list-object-versions \
</span><span id=__span-167-2><a id=__codelineno-167-2 name=__codelineno-167-2 href=#__codelineno-167-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-167-3><a id=__codelineno-167-3 name=__codelineno-167-3 href=#__codelineno-167-3></a>--bucket $bucket_name4
</span></code></pre></div> <p>Example output:</p> <div class=highlight><pre><span></span><code><span id=__span-168-1><a id=__codelineno-168-1 name=__codelineno-168-1 href=#__codelineno-168-1></a>{
</span><span id=__span-168-2><a id=__codelineno-168-2 name=__codelineno-168-2 href=#__codelineno-168-2></a> &quot;Versions&quot;: [
</span><span id=__span-168-3><a id=__codelineno-168-3 name=__codelineno-168-3 href=#__codelineno-168-3></a> {
</span><span id=__span-168-4><a id=__codelineno-168-4 name=__codelineno-168-4 href=#__codelineno-168-4></a> &quot;ETag&quot;: &quot;\&quot;5064a9c6200fd7dae7c25f2ed01a6f8f\&quot;&quot;,
</span><span id=__span-168-5><a id=__codelineno-168-5 name=__codelineno-168-5 href=#__codelineno-168-5></a> &quot;Size&quot;: 9639,
</span><span id=__span-168-6><a id=__codelineno-168-6 name=__codelineno-168-6 href=#__codelineno-168-6></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-168-7><a id=__codelineno-168-7 name=__codelineno-168-7 href=#__codelineno-168-7></a> &quot;Key&quot;: &quot;document.odt&quot;,
</span><span id=__span-168-8><a id=__codelineno-168-8 name=__codelineno-168-8 href=#__codelineno-168-8></a> &quot;VersionId&quot;: &quot;null&quot;,
</span><span id=__span-168-9><a id=__codelineno-168-9 name=__codelineno-168-9 href=#__codelineno-168-9></a> &quot;IsLatest&quot;: true,
</span><span id=__span-168-10><a id=__codelineno-168-10 name=__codelineno-168-10 href=#__codelineno-168-10></a> &quot;LastModified&quot;: &quot;2024-09-16T11:19:02.425Z&quot;,
</span><span id=__span-168-11><a id=__codelineno-168-11 name=__codelineno-168-11 href=#__codelineno-168-11></a> &quot;Owner&quot;: {
</span><span id=__span-168-12><a id=__codelineno-168-12 name=__codelineno-168-12 href=#__codelineno-168-12></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-168-13><a id=__codelineno-168-13 name=__codelineno-168-13 href=#__codelineno-168-13></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-168-14><a id=__codelineno-168-14 name=__codelineno-168-14 href=#__codelineno-168-14></a> }
</span><span id=__span-168-15><a id=__codelineno-168-15 name=__codelineno-168-15 href=#__codelineno-168-15></a> },
</span><span id=__span-168-16><a id=__codelineno-168-16 name=__codelineno-168-16 href=#__codelineno-168-16></a> {
</span><span id=__span-168-17><a id=__codelineno-168-17 name=__codelineno-168-17 href=#__codelineno-168-17></a> &quot;ETag&quot;: &quot;\&quot;e3fedcd58235e90e7a676a84cd6c7ee6\&quot;&quot;,
</span><span id=__span-168-18><a id=__codelineno-168-18 name=__codelineno-168-18 href=#__codelineno-168-18></a> &quot;Size&quot;: 174203,
</span><span id=__span-168-19><a id=__codelineno-168-19 name=__codelineno-168-19 href=#__codelineno-168-19></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-168-20><a id=__codelineno-168-20 name=__codelineno-168-20 href=#__codelineno-168-20></a> &quot;Key&quot;: &quot;screenshot1.png&quot;,
</span><span id=__span-168-21><a id=__codelineno-168-21 name=__codelineno-168-21 href=#__codelineno-168-21></a> &quot;VersionId&quot;: &quot;null&quot;,
</span><span id=__span-168-22><a id=__codelineno-168-22 name=__codelineno-168-22 href=#__codelineno-168-22></a> &quot;IsLatest&quot;: true,
</span><span id=__span-168-23><a id=__codelineno-168-23 name=__codelineno-168-23 href=#__codelineno-168-23></a> &quot;LastModified&quot;: &quot;2024-09-16T11:17:17.085Z&quot;,
</span><span id=__span-168-24><a id=__codelineno-168-24 name=__codelineno-168-24 href=#__codelineno-168-24></a> &quot;Owner&quot;: {
</span><span id=__span-168-25><a id=__codelineno-168-25 name=__codelineno-168-25 href=#__codelineno-168-25></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-168-26><a id=__codelineno-168-26 name=__codelineno-168-26 href=#__codelineno-168-26></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-168-27><a id=__codelineno-168-27 name=__codelineno-168-27 href=#__codelineno-168-27></a> }
</span><span id=__span-168-28><a id=__codelineno-168-28 name=__codelineno-168-28 href=#__codelineno-168-28></a> },
</span><span id=__span-168-29><a id=__codelineno-168-29 name=__codelineno-168-29 href=#__codelineno-168-29></a> {
</span><span id=__span-168-30><a id=__codelineno-168-30 name=__codelineno-168-30 href=#__codelineno-168-30></a> &quot;ETag&quot;: &quot;\&quot;5600fdc5aa752cba9895d985a9cf709e\&quot;&quot;,
</span><span id=__span-168-31><a id=__codelineno-168-31 name=__codelineno-168-31 href=#__codelineno-168-31></a> &quot;Size&quot;: 36,
</span><span id=__span-168-32><a id=__codelineno-168-32 name=__codelineno-168-32 href=#__codelineno-168-32></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-168-33><a id=__codelineno-168-33 name=__codelineno-168-33 href=#__codelineno-168-33></a> &quot;Key&quot;: &quot;script.sh&quot;,
</span><span id=__span-168-34><a id=__codelineno-168-34 name=__codelineno-168-34 href=#__codelineno-168-34></a> &quot;VersionId&quot;: &quot;null&quot;,
</span><span id=__span-168-35><a id=__codelineno-168-35 name=__codelineno-168-35 href=#__codelineno-168-35></a> &quot;IsLatest&quot;: true,
</span><span id=__span-168-36><a id=__codelineno-168-36 name=__codelineno-168-36 href=#__codelineno-168-36></a> &quot;LastModified&quot;: &quot;2024-09-16T11:17:47.206Z&quot;,
</span><span id=__span-168-37><a id=__codelineno-168-37 name=__codelineno-168-37 href=#__codelineno-168-37></a> &quot;Owner&quot;: {
</span><span id=__span-168-38><a id=__codelineno-168-38 name=__codelineno-168-38 href=#__codelineno-168-38></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-168-39><a id=__codelineno-168-39 name=__codelineno-168-39 href=#__codelineno-168-39></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-168-40><a id=__codelineno-168-40 name=__codelineno-168-40 href=#__codelineno-168-40></a> }
</span><span id=__span-168-41><a id=__codelineno-168-41 name=__codelineno-168-41 href=#__codelineno-168-41></a> }
</span><span id=__span-168-42><a id=__codelineno-168-42 name=__codelineno-168-42 href=#__codelineno-168-42></a> ],
</span><span id=__span-168-43><a id=__codelineno-168-43 name=__codelineno-168-43 href=#__codelineno-168-43></a> &quot;RequestCharged&quot;: null
</span><span id=__span-168-44><a id=__codelineno-168-44 name=__codelineno-168-44 href=#__codelineno-168-44></a>}
</span></code></pre></div> <p>All of these files have only one version and it has <strong>null</strong> as its ID.</p> <p>Lets say that we locally modify one of these three files (here we are using <strong>script.sh</strong>) and upload the modified version under the same name and key.</p> <p>For this purpose, from within the folder which contains our file, we execute the following <strong>put-object</strong> command:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-169-1><a id=__codelineno-169-1 name=__codelineno-169-1 href=#__codelineno-169-1></a>aws s3api put-object \
</span><span id=__span-169-2><a id=__codelineno-169-2 name=__codelineno-169-2 href=#__codelineno-169-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-169-3><a id=__codelineno-169-3 name=__codelineno-169-3 href=#__codelineno-169-3></a>--bucket $bucket_name4 \
</span><span id=__span-169-4><a id=__codelineno-169-4 name=__codelineno-169-4 href=#__codelineno-169-4></a>--body script.sh \
</span><span id=__span-169-5><a id=__codelineno-169-5 name=__codelineno-169-5 href=#__codelineno-169-5></a>--key script.sh
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-170-1><a id=__codelineno-170-1 name=__codelineno-170-1 href=#__codelineno-170-1></a>aws s3api put-object \
</span><span id=__span-170-2><a id=__codelineno-170-2 name=__codelineno-170-2 href=#__codelineno-170-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-170-3><a id=__codelineno-170-3 name=__codelineno-170-3 href=#__codelineno-170-3></a>--bucket $bucket_name4 \
</span><span id=__span-170-4><a id=__codelineno-170-4 name=__codelineno-170-4 href=#__codelineno-170-4></a>--body script.sh \
</span><span id=__span-170-5><a id=__codelineno-170-5 name=__codelineno-170-5 href=#__codelineno-170-5></a>--key script.sh
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-171-1><a id=__codelineno-171-1 name=__codelineno-171-1 href=#__codelineno-171-1></a>aws s3api put-object \
</span><span id=__span-171-2><a id=__codelineno-171-2 name=__codelineno-171-2 href=#__codelineno-171-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-171-3><a id=__codelineno-171-3 name=__codelineno-171-3 href=#__codelineno-171-3></a>--bucket $bucket_name4 \
</span><span id=__span-171-4><a id=__codelineno-171-4 name=__codelineno-171-4 href=#__codelineno-171-4></a>--body script.sh \
</span><span id=__span-171-5><a id=__codelineno-171-5 name=__codelineno-171-5 href=#__codelineno-171-5></a>--key script.sh
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-172-1><a id=__codelineno-172-1 name=__codelineno-172-1 href=#__codelineno-172-1></a>aws s3api put-object \
</span><span id=__span-172-2><a id=__codelineno-172-2 name=__codelineno-172-2 href=#__codelineno-172-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-172-3><a id=__codelineno-172-3 name=__codelineno-172-3 href=#__codelineno-172-3></a>--bucket $bucket_name4 \
</span><span id=__span-172-4><a id=__codelineno-172-4 name=__codelineno-172-4 href=#__codelineno-172-4></a>--body script.sh \
</span><span id=__span-172-5><a id=__codelineno-172-5 name=__codelineno-172-5 href=#__codelineno-172-5></a>--key script.sh
</span></code></pre></div> <p>For confirmation, we should get output containing the <strong>ETag</strong>:</p> <div class=highlight><pre><span></span><code><span id=__span-173-1><a id=__codelineno-173-1 name=__codelineno-173-1 href=#__codelineno-173-1></a>{
</span><span id=__span-173-2><a id=__codelineno-173-2 name=__codelineno-173-2 href=#__codelineno-173-2></a> &quot;ETag&quot;: &quot;\&quot;b6b82cb2376934bcf6877705bae6ac58\&quot;&quot;
</span><span id=__span-173-3><a id=__codelineno-173-3 name=__codelineno-173-3 href=#__codelineno-173-3></a>}
</span></code></pre></div> <p>If we list object versions again with <strong>list-object-versions</strong>:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-174-1><a id=__codelineno-174-1 name=__codelineno-174-1 href=#__codelineno-174-1></a>aws s3api list-object-versions \
</span><span id=__span-174-2><a id=__codelineno-174-2 name=__codelineno-174-2 href=#__codelineno-174-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-174-3><a id=__codelineno-174-3 name=__codelineno-174-3 href=#__codelineno-174-3></a>--bucket $bucket_name4
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-175-1><a id=__codelineno-175-1 name=__codelineno-175-1 href=#__codelineno-175-1></a>aws s3api list-object-versions \
</span><span id=__span-175-2><a id=__codelineno-175-2 name=__codelineno-175-2 href=#__codelineno-175-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-175-3><a id=__codelineno-175-3 name=__codelineno-175-3 href=#__codelineno-175-3></a>--bucket $bucket_name4
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-176-1><a id=__codelineno-176-1 name=__codelineno-176-1 href=#__codelineno-176-1></a>aws s3api list-object-versions \
</span><span id=__span-176-2><a id=__codelineno-176-2 name=__codelineno-176-2 href=#__codelineno-176-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-176-3><a id=__codelineno-176-3 name=__codelineno-176-3 href=#__codelineno-176-3></a>--bucket $bucket_name4
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-177-1><a id=__codelineno-177-1 name=__codelineno-177-1 href=#__codelineno-177-1></a>aws s3api list-object-versions \
</span><span id=__span-177-2><a id=__codelineno-177-2 name=__codelineno-177-2 href=#__codelineno-177-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-177-3><a id=__codelineno-177-3 name=__codelineno-177-3 href=#__codelineno-177-3></a>--bucket $bucket_name4
</span></code></pre></div> <p>we should get the output like this:</p> <div class=highlight><pre><span></span><code><span id=__span-178-1><a id=__codelineno-178-1 name=__codelineno-178-1 href=#__codelineno-178-1></a>{
</span><span id=__span-178-2><a id=__codelineno-178-2 name=__codelineno-178-2 href=#__codelineno-178-2></a> &quot;Versions&quot;: [
</span><span id=__span-178-3><a id=__codelineno-178-3 name=__codelineno-178-3 href=#__codelineno-178-3></a> {
</span><span id=__span-178-4><a id=__codelineno-178-4 name=__codelineno-178-4 href=#__codelineno-178-4></a> &quot;ETag&quot;: &quot;\&quot;5064a9c6200fd7dae7c25f2ed01a6f8f\&quot;&quot;,
</span><span id=__span-178-5><a id=__codelineno-178-5 name=__codelineno-178-5 href=#__codelineno-178-5></a> &quot;Size&quot;: 9639,
</span><span id=__span-178-6><a id=__codelineno-178-6 name=__codelineno-178-6 href=#__codelineno-178-6></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-178-7><a id=__codelineno-178-7 name=__codelineno-178-7 href=#__codelineno-178-7></a> &quot;Key&quot;: &quot;document.odt&quot;,
</span><span id=__span-178-8><a id=__codelineno-178-8 name=__codelineno-178-8 href=#__codelineno-178-8></a> &quot;VersionId&quot;: &quot;null&quot;,
</span><span id=__span-178-9><a id=__codelineno-178-9 name=__codelineno-178-9 href=#__codelineno-178-9></a> &quot;IsLatest&quot;: true,
</span><span id=__span-178-10><a id=__codelineno-178-10 name=__codelineno-178-10 href=#__codelineno-178-10></a> &quot;LastModified&quot;: &quot;2024-09-16T11:19:02.425Z&quot;,
</span><span id=__span-178-11><a id=__codelineno-178-11 name=__codelineno-178-11 href=#__codelineno-178-11></a> &quot;Owner&quot;: {
</span><span id=__span-178-12><a id=__codelineno-178-12 name=__codelineno-178-12 href=#__codelineno-178-12></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-178-13><a id=__codelineno-178-13 name=__codelineno-178-13 href=#__codelineno-178-13></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-178-14><a id=__codelineno-178-14 name=__codelineno-178-14 href=#__codelineno-178-14></a> }
</span><span id=__span-178-15><a id=__codelineno-178-15 name=__codelineno-178-15 href=#__codelineno-178-15></a> },
</span><span id=__span-178-16><a id=__codelineno-178-16 name=__codelineno-178-16 href=#__codelineno-178-16></a> {
</span><span id=__span-178-17><a id=__codelineno-178-17 name=__codelineno-178-17 href=#__codelineno-178-17></a> &quot;ETag&quot;: &quot;\&quot;e3fedcd58235e90e7a676a84cd6c7ee6\&quot;&quot;,
</span><span id=__span-178-18><a id=__codelineno-178-18 name=__codelineno-178-18 href=#__codelineno-178-18></a> &quot;Size&quot;: 174203,
</span><span id=__span-178-19><a id=__codelineno-178-19 name=__codelineno-178-19 href=#__codelineno-178-19></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-178-20><a id=__codelineno-178-20 name=__codelineno-178-20 href=#__codelineno-178-20></a> &quot;Key&quot;: &quot;screenshot1.png&quot;,
</span><span id=__span-178-21><a id=__codelineno-178-21 name=__codelineno-178-21 href=#__codelineno-178-21></a> &quot;VersionId&quot;: &quot;null&quot;,
</span><span id=__span-178-22><a id=__codelineno-178-22 name=__codelineno-178-22 href=#__codelineno-178-22></a> &quot;IsLatest&quot;: true,
</span><span id=__span-178-23><a id=__codelineno-178-23 name=__codelineno-178-23 href=#__codelineno-178-23></a> &quot;LastModified&quot;: &quot;2024-09-16T11:17:17.085Z&quot;,
</span><span id=__span-178-24><a id=__codelineno-178-24 name=__codelineno-178-24 href=#__codelineno-178-24></a> &quot;Owner&quot;: {
</span><span id=__span-178-25><a id=__codelineno-178-25 name=__codelineno-178-25 href=#__codelineno-178-25></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-178-26><a id=__codelineno-178-26 name=__codelineno-178-26 href=#__codelineno-178-26></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-178-27><a id=__codelineno-178-27 name=__codelineno-178-27 href=#__codelineno-178-27></a> }
</span><span id=__span-178-28><a id=__codelineno-178-28 name=__codelineno-178-28 href=#__codelineno-178-28></a> },
</span><span id=__span-178-29><a id=__codelineno-178-29 name=__codelineno-178-29 href=#__codelineno-178-29></a> {
</span><span id=__span-178-30><a id=__codelineno-178-30 name=__codelineno-178-30 href=#__codelineno-178-30></a> &quot;ETag&quot;: &quot;\&quot;b6b82cb2376934bcf6877705bae6ac58\&quot;&quot;,
</span><span id=__span-178-31><a id=__codelineno-178-31 name=__codelineno-178-31 href=#__codelineno-178-31></a> &quot;Size&quot;: 60,
</span><span id=__span-178-32><a id=__codelineno-178-32 name=__codelineno-178-32 href=#__codelineno-178-32></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-178-33><a id=__codelineno-178-33 name=__codelineno-178-33 href=#__codelineno-178-33></a> &quot;Key&quot;: &quot;script.sh&quot;,
</span><span id=__span-178-34><a id=__codelineno-178-34 name=__codelineno-178-34 href=#__codelineno-178-34></a> &quot;VersionId&quot;: &quot;null&quot;,
</span><span id=__span-178-35><a id=__codelineno-178-35 name=__codelineno-178-35 href=#__codelineno-178-35></a> &quot;IsLatest&quot;: true,
</span><span id=__span-178-36><a id=__codelineno-178-36 name=__codelineno-178-36 href=#__codelineno-178-36></a> &quot;LastModified&quot;: &quot;2024-10-02T10:16:11.589Z&quot;,
</span><span id=__span-178-37><a id=__codelineno-178-37 name=__codelineno-178-37 href=#__codelineno-178-37></a> &quot;Owner&quot;: {
</span><span id=__span-178-38><a id=__codelineno-178-38 name=__codelineno-178-38 href=#__codelineno-178-38></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-178-39><a id=__codelineno-178-39 name=__codelineno-178-39 href=#__codelineno-178-39></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-178-40><a id=__codelineno-178-40 name=__codelineno-178-40 href=#__codelineno-178-40></a> }
</span><span id=__span-178-41><a id=__codelineno-178-41 name=__codelineno-178-41 href=#__codelineno-178-41></a> }
</span><span id=__span-178-42><a id=__codelineno-178-42 name=__codelineno-178-42 href=#__codelineno-178-42></a> ],
</span><span id=__span-178-43><a id=__codelineno-178-43 name=__codelineno-178-43 href=#__codelineno-178-43></a> &quot;RequestCharged&quot;: null
</span><span id=__span-178-44><a id=__codelineno-178-44 name=__codelineno-178-44 href=#__codelineno-178-44></a>}
</span></code></pre></div> <p>Once again, there are three files, each with exactly one version stored. The file <strong>script.sh</strong> was overwritten during our upload - its parameters <strong>Size</strong>, <strong>ETag</strong> and <strong>LastModified</strong> (timestamp of last modification) have changed.</p> <h3 id=suspending-of-versioning>Suspending of versioning<a href=#suspending-of-versioning title="Permalink to this headline">🔗</a><a class=headerlink href=#suspending-of-versioning title="Permanent link">&para;</a></h3> <p>When you suspend the versioning, your bucket will start behaving similarly to a bucket on which versioning has never been enabled. All files uploaded from that moment on will have <strong>null</strong> as their <strong>VersionId</strong>.</p> <p>Lets say that after suspending of versioning, you upload a file to the same <strong>key</strong> (name and location within the bucket) as a previously existing file. What happens next depends on whether the bucket already contains a version of that file with <strong>VersionID</strong> of <strong>null</strong>:</p> <blockquote> <ul> <li>If version which has <strong>null</strong> as its <strong>VersionId</strong> does not exist, the version you are uploading will become a new version of that file.</li> <li>If version which has <strong>null</strong> as its <strong>VersionId</strong> does exist, the version you are uploading will overwrite the previous version of that file with <strong>VersionId</strong> of <strong>null</strong>.</li> </ul> </blockquote> <p>Either way, the newly uploaded version will have <strong>VersionId</strong> of <strong>null</strong>.</p> <p>This overwrite will also happen if version which has <strong>null</strong> as its <strong>VersionId</strong> is the only remaining version of the file.</p> <p>Suspending of versioning by itself will not, however, influence previously saved versions which do not have VersionId of <strong>null</strong>. You can delete them manually if you want to.</p> <p>In order to illustrate suspending of versioning, we will create a new bucket <strong>$bucket_name5</strong>. First create this bucket:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-179-1><a id=__codelineno-179-1 name=__codelineno-179-1 href=#__codelineno-179-1></a>aws s3api create-bucket \
</span><span id=__span-179-2><a id=__codelineno-179-2 name=__codelineno-179-2 href=#__codelineno-179-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-179-3><a id=__codelineno-179-3 name=__codelineno-179-3 href=#__codelineno-179-3></a>--bucket $bucket_name5
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-180-1><a id=__codelineno-180-1 name=__codelineno-180-1 href=#__codelineno-180-1></a>aws s3api create-bucket \
</span><span id=__span-180-2><a id=__codelineno-180-2 name=__codelineno-180-2 href=#__codelineno-180-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-180-3><a id=__codelineno-180-3 name=__codelineno-180-3 href=#__codelineno-180-3></a>--bucket $bucket_name5
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-181-1><a id=__codelineno-181-1 name=__codelineno-181-1 href=#__codelineno-181-1></a>aws s3api create-bucket \
</span><span id=__span-181-2><a id=__codelineno-181-2 name=__codelineno-181-2 href=#__codelineno-181-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-181-3><a id=__codelineno-181-3 name=__codelineno-181-3 href=#__codelineno-181-3></a>--bucket $bucket_name5
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-182-1><a id=__codelineno-182-1 name=__codelineno-182-1 href=#__codelineno-182-1></a>aws s3api create-bucket \
</span><span id=__span-182-2><a id=__codelineno-182-2 name=__codelineno-182-2 href=#__codelineno-182-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-182-3><a id=__codelineno-182-3 name=__codelineno-182-3 href=#__codelineno-182-3></a>--bucket $bucket_name5
</span></code></pre></div> <p>and then enable versioning on it:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-183-1><a id=__codelineno-183-1 name=__codelineno-183-1 href=#__codelineno-183-1></a>aws s3api put-bucket-versioning \
</span><span id=__span-183-2><a id=__codelineno-183-2 name=__codelineno-183-2 href=#__codelineno-183-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-183-3><a id=__codelineno-183-3 name=__codelineno-183-3 href=#__codelineno-183-3></a>--bucket $bucket_name5 \
</span><span id=__span-183-4><a id=__codelineno-183-4 name=__codelineno-183-4 href=#__codelineno-183-4></a>--versioning-configuration MFADelete=Disabled,Status=Enabled
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-184-1><a id=__codelineno-184-1 name=__codelineno-184-1 href=#__codelineno-184-1></a>aws s3api put-bucket-versioning \
</span><span id=__span-184-2><a id=__codelineno-184-2 name=__codelineno-184-2 href=#__codelineno-184-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-184-3><a id=__codelineno-184-3 name=__codelineno-184-3 href=#__codelineno-184-3></a>--bucket $bucket_name5 \
</span><span id=__span-184-4><a id=__codelineno-184-4 name=__codelineno-184-4 href=#__codelineno-184-4></a>--versioning-configuration MFADelete=Disabled,Status=Enabled
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-185-1><a id=__codelineno-185-1 name=__codelineno-185-1 href=#__codelineno-185-1></a>aws s3api put-bucket-versioning \
</span><span id=__span-185-2><a id=__codelineno-185-2 name=__codelineno-185-2 href=#__codelineno-185-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-185-3><a id=__codelineno-185-3 name=__codelineno-185-3 href=#__codelineno-185-3></a>--bucket $bucket_name5 \
</span><span id=__span-185-4><a id=__codelineno-185-4 name=__codelineno-185-4 href=#__codelineno-185-4></a>--versioning-configuration MFADelete=Disabled,Status=Enabled
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-186-1><a id=__codelineno-186-1 name=__codelineno-186-1 href=#__codelineno-186-1></a>aws s3api put-bucket-versioning \
</span><span id=__span-186-2><a id=__codelineno-186-2 name=__codelineno-186-2 href=#__codelineno-186-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-186-3><a id=__codelineno-186-3 name=__codelineno-186-3 href=#__codelineno-186-3></a>--bucket $bucket_name5 \
</span><span id=__span-186-4><a id=__codelineno-186-4 name=__codelineno-186-4 href=#__codelineno-186-4></a>--versioning-configuration MFADelete=Disabled,Status=Enabled
</span></code></pre></div> <p>Upload a few files to this bucket with <strong>put-object</strong> command. Make sure that at least one of them has multiple versions.</p> <p>In this example, our bucket contains the following files:</p> <p>Table 8 Key vs. VersionId<a href=#id4 title="Permalink to this table">🔗</a></p> <table> <thead> <tr> <th></th> <th></th> </tr> </thead> <tbody> <tr> <td><strong>Key</strong></td> <td><strong>VersionId</strong></td> </tr> <tr> <td>file1.txt</td> <td>CTv9FT1Wp9pxDZdlZXx2cJ5C2juPNA6</td> </tr> <tr> <td>file1.txt</td> <td>eaJNZLZTqtPAq9l09Nrm-CN-UAVtFHQ</td> </tr> <tr> <td>file2.txt</td> <td>HVRcuAOQ.gpqiU50mJkdAj4bAvgfCFN</td> </tr> </tbody> </table> <p>We can list all these versions using <strong>list-object-versions</strong>:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-187-1><a id=__codelineno-187-1 name=__codelineno-187-1 href=#__codelineno-187-1></a>aws s3api list-object-versions \
</span><span id=__span-187-2><a id=__codelineno-187-2 name=__codelineno-187-2 href=#__codelineno-187-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-187-3><a id=__codelineno-187-3 name=__codelineno-187-3 href=#__codelineno-187-3></a>--bucket $bucket_name5
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-188-1><a id=__codelineno-188-1 name=__codelineno-188-1 href=#__codelineno-188-1></a>aws s3api list-object-versions \
</span><span id=__span-188-2><a id=__codelineno-188-2 name=__codelineno-188-2 href=#__codelineno-188-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-188-3><a id=__codelineno-188-3 name=__codelineno-188-3 href=#__codelineno-188-3></a>--bucket $bucket_name5
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-189-1><a id=__codelineno-189-1 name=__codelineno-189-1 href=#__codelineno-189-1></a>aws s3api list-object-versions \
</span><span id=__span-189-2><a id=__codelineno-189-2 name=__codelineno-189-2 href=#__codelineno-189-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-189-3><a id=__codelineno-189-3 name=__codelineno-189-3 href=#__codelineno-189-3></a>--bucket $bucket_name5
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-190-1><a id=__codelineno-190-1 name=__codelineno-190-1 href=#__codelineno-190-1></a>aws s3api list-object-versions \
</span><span id=__span-190-2><a id=__codelineno-190-2 name=__codelineno-190-2 href=#__codelineno-190-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-190-3><a id=__codelineno-190-3 name=__codelineno-190-3 href=#__codelineno-190-3></a>--bucket $bucket_name5
</span></code></pre></div> <p>The output:</p> <div class=highlight><pre><span></span><code><span id=__span-191-1><a id=__codelineno-191-1 name=__codelineno-191-1 href=#__codelineno-191-1></a>{
</span><span id=__span-191-2><a id=__codelineno-191-2 name=__codelineno-191-2 href=#__codelineno-191-2></a> &quot;Versions&quot;: [
</span><span id=__span-191-3><a id=__codelineno-191-3 name=__codelineno-191-3 href=#__codelineno-191-3></a> {
</span><span id=__span-191-4><a id=__codelineno-191-4 name=__codelineno-191-4 href=#__codelineno-191-4></a> &quot;ETag&quot;: &quot;\&quot;1f5f1ebe10ac3457ca87427e1772d71f\&quot;&quot;,
</span><span id=__span-191-5><a id=__codelineno-191-5 name=__codelineno-191-5 href=#__codelineno-191-5></a> &quot;Size&quot;: 10,
</span><span id=__span-191-6><a id=__codelineno-191-6 name=__codelineno-191-6 href=#__codelineno-191-6></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-191-7><a id=__codelineno-191-7 name=__codelineno-191-7 href=#__codelineno-191-7></a> &quot;Key&quot;: &quot;file1.txt&quot;,
</span><span id=__span-191-8><a id=__codelineno-191-8 name=__codelineno-191-8 href=#__codelineno-191-8></a> &quot;VersionId&quot;: &quot;CTv9FT1Wp9pxDZdlZXx2cJ5C2juPNA6&quot;,
</span><span id=__span-191-9><a id=__codelineno-191-9 name=__codelineno-191-9 href=#__codelineno-191-9></a> &quot;IsLatest&quot;: true,
</span><span id=__span-191-10><a id=__codelineno-191-10 name=__codelineno-191-10 href=#__codelineno-191-10></a> &quot;LastModified&quot;: &quot;2024-09-16T11:28:47.501Z&quot;,
</span><span id=__span-191-11><a id=__codelineno-191-11 name=__codelineno-191-11 href=#__codelineno-191-11></a> &quot;Owner&quot;: {
</span><span id=__span-191-12><a id=__codelineno-191-12 name=__codelineno-191-12 href=#__codelineno-191-12></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-191-13><a id=__codelineno-191-13 name=__codelineno-191-13 href=#__codelineno-191-13></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-191-14><a id=__codelineno-191-14 name=__codelineno-191-14 href=#__codelineno-191-14></a> }
</span><span id=__span-191-15><a id=__codelineno-191-15 name=__codelineno-191-15 href=#__codelineno-191-15></a> },
</span><span id=__span-191-16><a id=__codelineno-191-16 name=__codelineno-191-16 href=#__codelineno-191-16></a> {
</span><span id=__span-191-17><a id=__codelineno-191-17 name=__codelineno-191-17 href=#__codelineno-191-17></a> &quot;ETag&quot;: &quot;\&quot;174b29d6d688c2b34f6c1bb7361a8b7e\&quot;&quot;,
</span><span id=__span-191-18><a id=__codelineno-191-18 name=__codelineno-191-18 href=#__codelineno-191-18></a> &quot;Size&quot;: 10,
</span><span id=__span-191-19><a id=__codelineno-191-19 name=__codelineno-191-19 href=#__codelineno-191-19></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-191-20><a id=__codelineno-191-20 name=__codelineno-191-20 href=#__codelineno-191-20></a> &quot;Key&quot;: &quot;file1.txt&quot;,
</span><span id=__span-191-21><a id=__codelineno-191-21 name=__codelineno-191-21 href=#__codelineno-191-21></a> &quot;VersionId&quot;: &quot;eaJNZLZTqtPAq9l09Nrm-CN-UAVtFHQ&quot;,
</span><span id=__span-191-22><a id=__codelineno-191-22 name=__codelineno-191-22 href=#__codelineno-191-22></a> &quot;IsLatest&quot;: false,
</span><span id=__span-191-23><a id=__codelineno-191-23 name=__codelineno-191-23 href=#__codelineno-191-23></a> &quot;LastModified&quot;: &quot;2024-09-16T11:28:10.006Z&quot;,
</span><span id=__span-191-24><a id=__codelineno-191-24 name=__codelineno-191-24 href=#__codelineno-191-24></a> &quot;Owner&quot;: {
</span><span id=__span-191-25><a id=__codelineno-191-25 name=__codelineno-191-25 href=#__codelineno-191-25></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-191-26><a id=__codelineno-191-26 name=__codelineno-191-26 href=#__codelineno-191-26></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-191-27><a id=__codelineno-191-27 name=__codelineno-191-27 href=#__codelineno-191-27></a> }
</span><span id=__span-191-28><a id=__codelineno-191-28 name=__codelineno-191-28 href=#__codelineno-191-28></a> },
</span><span id=__span-191-29><a id=__codelineno-191-29 name=__codelineno-191-29 href=#__codelineno-191-29></a> {
</span><span id=__span-191-30><a id=__codelineno-191-30 name=__codelineno-191-30 href=#__codelineno-191-30></a> &quot;ETag&quot;: &quot;\&quot;174b29d6d688c2b34f6c1bb7361a8b7e\&quot;&quot;,
</span><span id=__span-191-31><a id=__codelineno-191-31 name=__codelineno-191-31 href=#__codelineno-191-31></a> &quot;Size&quot;: 10,
</span><span id=__span-191-32><a id=__codelineno-191-32 name=__codelineno-191-32 href=#__codelineno-191-32></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-191-33><a id=__codelineno-191-33 name=__codelineno-191-33 href=#__codelineno-191-33></a> &quot;Key&quot;: &quot;file2.txt&quot;,
</span><span id=__span-191-34><a id=__codelineno-191-34 name=__codelineno-191-34 href=#__codelineno-191-34></a> &quot;VersionId&quot;: &quot;HVRcuAOQ.gpqiU50mJkdAj4bAvgfCFN&quot;,
</span><span id=__span-191-35><a id=__codelineno-191-35 name=__codelineno-191-35 href=#__codelineno-191-35></a> &quot;IsLatest&quot;: true,
</span><span id=__span-191-36><a id=__codelineno-191-36 name=__codelineno-191-36 href=#__codelineno-191-36></a> &quot;LastModified&quot;: &quot;2024-09-16T11:28:20.830Z&quot;,
</span><span id=__span-191-37><a id=__codelineno-191-37 name=__codelineno-191-37 href=#__codelineno-191-37></a> &quot;Owner&quot;: {
</span><span id=__span-191-38><a id=__codelineno-191-38 name=__codelineno-191-38 href=#__codelineno-191-38></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-191-39><a id=__codelineno-191-39 name=__codelineno-191-39 href=#__codelineno-191-39></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-191-40><a id=__codelineno-191-40 name=__codelineno-191-40 href=#__codelineno-191-40></a> }
</span><span id=__span-191-41><a id=__codelineno-191-41 name=__codelineno-191-41 href=#__codelineno-191-41></a> }
</span><span id=__span-191-42><a id=__codelineno-191-42 name=__codelineno-191-42 href=#__codelineno-191-42></a> ],
</span><span id=__span-191-43><a id=__codelineno-191-43 name=__codelineno-191-43 href=#__codelineno-191-43></a> &quot;RequestCharged&quot;: null
</span><span id=__span-191-44><a id=__codelineno-191-44 name=__codelineno-191-44 href=#__codelineno-191-44></a>}
</span></code></pre></div> <p>To suspend versioning on this bucket, execute <strong>put-bucket-versioning</strong>:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-192-1><a id=__codelineno-192-1 name=__codelineno-192-1 href=#__codelineno-192-1></a>aws s3api put-bucket-versioning \
</span><span id=__span-192-2><a id=__codelineno-192-2 name=__codelineno-192-2 href=#__codelineno-192-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-192-3><a id=__codelineno-192-3 name=__codelineno-192-3 href=#__codelineno-192-3></a>--bucket $bucket_name5 \
</span><span id=__span-192-4><a id=__codelineno-192-4 name=__codelineno-192-4 href=#__codelineno-192-4></a>--versioning-configuration MFADelete=Disabled,Status=Suspended
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-193-1><a id=__codelineno-193-1 name=__codelineno-193-1 href=#__codelineno-193-1></a>aws s3api put-bucket-versioning \
</span><span id=__span-193-2><a id=__codelineno-193-2 name=__codelineno-193-2 href=#__codelineno-193-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-193-3><a id=__codelineno-193-3 name=__codelineno-193-3 href=#__codelineno-193-3></a>--bucket $bucket_name5 \
</span><span id=__span-193-4><a id=__codelineno-193-4 name=__codelineno-193-4 href=#__codelineno-193-4></a>--versioning-configuration MFADelete=Disabled,Status=Suspended
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-194-1><a id=__codelineno-194-1 name=__codelineno-194-1 href=#__codelineno-194-1></a>aws s3api put-bucket-versioning \
</span><span id=__span-194-2><a id=__codelineno-194-2 name=__codelineno-194-2 href=#__codelineno-194-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-194-3><a id=__codelineno-194-3 name=__codelineno-194-3 href=#__codelineno-194-3></a>--bucket $bucket_name5 \
</span><span id=__span-194-4><a id=__codelineno-194-4 name=__codelineno-194-4 href=#__codelineno-194-4></a>--versioning-configuration MFADelete=Disabled,Status=Suspended
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-195-1><a id=__codelineno-195-1 name=__codelineno-195-1 href=#__codelineno-195-1></a>aws s3api put-bucket-versioning \
</span><span id=__span-195-2><a id=__codelineno-195-2 name=__codelineno-195-2 href=#__codelineno-195-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-195-3><a id=__codelineno-195-3 name=__codelineno-195-3 href=#__codelineno-195-3></a>--bucket $bucket_name5 \
</span><span id=__span-195-4><a id=__codelineno-195-4 name=__codelineno-195-4 href=#__codelineno-195-4></a>--versioning-configuration MFADelete=Disabled,Status=Suspended
</span></code></pre></div> <p>The output of this command should be empty.</p> <p>We list versions of files again with <strong>list-object-versions</strong>:</p> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-196-1><a id=__codelineno-196-1 name=__codelineno-196-1 href=#__codelineno-196-1></a>aws s3api list-object-versions \
</span><span id=__span-196-2><a id=__codelineno-196-2 name=__codelineno-196-2 href=#__codelineno-196-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-196-3><a id=__codelineno-196-3 name=__codelineno-196-3 href=#__codelineno-196-3></a>--bucket $bucket_name5
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-197-1><a id=__codelineno-197-1 name=__codelineno-197-1 href=#__codelineno-197-1></a>aws s3api list-object-versions \
</span><span id=__span-197-2><a id=__codelineno-197-2 name=__codelineno-197-2 href=#__codelineno-197-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-197-3><a id=__codelineno-197-3 name=__codelineno-197-3 href=#__codelineno-197-3></a>--bucket $bucket_name5
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-198-1><a id=__codelineno-198-1 name=__codelineno-198-1 href=#__codelineno-198-1></a>aws s3api list-object-versions \
</span><span id=__span-198-2><a id=__codelineno-198-2 name=__codelineno-198-2 href=#__codelineno-198-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-198-3><a id=__codelineno-198-3 name=__codelineno-198-3 href=#__codelineno-198-3></a>--bucket $bucket_name5
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-199-1><a id=__codelineno-199-1 name=__codelineno-199-1 href=#__codelineno-199-1></a>aws s3api list-object-versions \
</span><span id=__span-199-2><a id=__codelineno-199-2 name=__codelineno-199-2 href=#__codelineno-199-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-199-3><a id=__codelineno-199-3 name=__codelineno-199-3 href=#__codelineno-199-3></a>--bucket $bucket_name5
</span></code></pre></div> <p>The output shows us that the previous versions of files have not been removed:</p> <div class=highlight><pre><span></span><code><span id=__span-200-1><a id=__codelineno-200-1 name=__codelineno-200-1 href=#__codelineno-200-1></a>{
</span><span id=__span-200-2><a id=__codelineno-200-2 name=__codelineno-200-2 href=#__codelineno-200-2></a> &quot;Versions&quot;: [
</span><span id=__span-200-3><a id=__codelineno-200-3 name=__codelineno-200-3 href=#__codelineno-200-3></a> {
</span><span id=__span-200-4><a id=__codelineno-200-4 name=__codelineno-200-4 href=#__codelineno-200-4></a> &quot;ETag&quot;: &quot;\&quot;1f5f1ebe10ac3457ca87427e1772d71f\&quot;&quot;,
</span><span id=__span-200-5><a id=__codelineno-200-5 name=__codelineno-200-5 href=#__codelineno-200-5></a> &quot;Size&quot;: 10,
</span><span id=__span-200-6><a id=__codelineno-200-6 name=__codelineno-200-6 href=#__codelineno-200-6></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-200-7><a id=__codelineno-200-7 name=__codelineno-200-7 href=#__codelineno-200-7></a> &quot;Key&quot;: &quot;file1.txt&quot;,
</span><span id=__span-200-8><a id=__codelineno-200-8 name=__codelineno-200-8 href=#__codelineno-200-8></a> &quot;VersionId&quot;: &quot;CTv9FT1Wp9pxDZdlZXx2cJ5C2juPNA6&quot;,
</span><span id=__span-200-9><a id=__codelineno-200-9 name=__codelineno-200-9 href=#__codelineno-200-9></a> &quot;IsLatest&quot;: false,
</span><span id=__span-200-10><a id=__codelineno-200-10 name=__codelineno-200-10 href=#__codelineno-200-10></a> &quot;LastModified&quot;: &quot;2024-09-16T11:28:47.501Z&quot;,
</span><span id=__span-200-11><a id=__codelineno-200-11 name=__codelineno-200-11 href=#__codelineno-200-11></a> &quot;Owner&quot;: {
</span><span id=__span-200-12><a id=__codelineno-200-12 name=__codelineno-200-12 href=#__codelineno-200-12></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-200-13><a id=__codelineno-200-13 name=__codelineno-200-13 href=#__codelineno-200-13></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-200-14><a id=__codelineno-200-14 name=__codelineno-200-14 href=#__codelineno-200-14></a> }
</span><span id=__span-200-15><a id=__codelineno-200-15 name=__codelineno-200-15 href=#__codelineno-200-15></a> },
</span><span id=__span-200-16><a id=__codelineno-200-16 name=__codelineno-200-16 href=#__codelineno-200-16></a> {
</span><span id=__span-200-17><a id=__codelineno-200-17 name=__codelineno-200-17 href=#__codelineno-200-17></a> &quot;ETag&quot;: &quot;\&quot;174b29d6d688c2b34f6c1bb7361a8b7e\&quot;&quot;,
</span><span id=__span-200-18><a id=__codelineno-200-18 name=__codelineno-200-18 href=#__codelineno-200-18></a> &quot;Size&quot;: 10,
</span><span id=__span-200-19><a id=__codelineno-200-19 name=__codelineno-200-19 href=#__codelineno-200-19></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-200-20><a id=__codelineno-200-20 name=__codelineno-200-20 href=#__codelineno-200-20></a> &quot;Key&quot;: &quot;file1.txt&quot;,
</span><span id=__span-200-21><a id=__codelineno-200-21 name=__codelineno-200-21 href=#__codelineno-200-21></a> &quot;VersionId&quot;: &quot;eaJNZLZTqtPAq9l09Nrm-CN-UAVtFHQ&quot;,
</span><span id=__span-200-22><a id=__codelineno-200-22 name=__codelineno-200-22 href=#__codelineno-200-22></a> &quot;IsLatest&quot;: false,
</span><span id=__span-200-23><a id=__codelineno-200-23 name=__codelineno-200-23 href=#__codelineno-200-23></a> &quot;LastModified&quot;: &quot;2024-09-16T11:28:10.006Z&quot;,
</span><span id=__span-200-24><a id=__codelineno-200-24 name=__codelineno-200-24 href=#__codelineno-200-24></a> &quot;Owner&quot;: {
</span><span id=__span-200-25><a id=__codelineno-200-25 name=__codelineno-200-25 href=#__codelineno-200-25></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-200-26><a id=__codelineno-200-26 name=__codelineno-200-26 href=#__codelineno-200-26></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-200-27><a id=__codelineno-200-27 name=__codelineno-200-27 href=#__codelineno-200-27></a> }
</span><span id=__span-200-28><a id=__codelineno-200-28 name=__codelineno-200-28 href=#__codelineno-200-28></a> },
</span><span id=__span-200-29><a id=__codelineno-200-29 name=__codelineno-200-29 href=#__codelineno-200-29></a> {
</span><span id=__span-200-30><a id=__codelineno-200-30 name=__codelineno-200-30 href=#__codelineno-200-30></a> &quot;ETag&quot;: &quot;\&quot;174b29d6d688c2b34f6c1bb7361a8b7e\&quot;&quot;,
</span><span id=__span-200-31><a id=__codelineno-200-31 name=__codelineno-200-31 href=#__codelineno-200-31></a> &quot;Size&quot;: 10,
</span><span id=__span-200-32><a id=__codelineno-200-32 name=__codelineno-200-32 href=#__codelineno-200-32></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-200-33><a id=__codelineno-200-33 name=__codelineno-200-33 href=#__codelineno-200-33></a> &quot;Key&quot;: &quot;file2.txt&quot;,
</span><span id=__span-200-34><a id=__codelineno-200-34 name=__codelineno-200-34 href=#__codelineno-200-34></a> &quot;VersionId&quot;: &quot;HVRcuAOQ.gpqiU50mJkdAj4bAvgfCFN&quot;,
</span><span id=__span-200-35><a id=__codelineno-200-35 name=__codelineno-200-35 href=#__codelineno-200-35></a> &quot;IsLatest&quot;: true,
</span><span id=__span-200-36><a id=__codelineno-200-36 name=__codelineno-200-36 href=#__codelineno-200-36></a> &quot;LastModified&quot;: &quot;2024-09-16T11:28:20.830Z&quot;,
</span><span id=__span-200-37><a id=__codelineno-200-37 name=__codelineno-200-37 href=#__codelineno-200-37></a> &quot;Owner&quot;: {
</span><span id=__span-200-38><a id=__codelineno-200-38 name=__codelineno-200-38 href=#__codelineno-200-38></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-200-39><a id=__codelineno-200-39 name=__codelineno-200-39 href=#__codelineno-200-39></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-200-40><a id=__codelineno-200-40 name=__codelineno-200-40 href=#__codelineno-200-40></a> }
</span><span id=__span-200-41><a id=__codelineno-200-41 name=__codelineno-200-41 href=#__codelineno-200-41></a> }
</span><span id=__span-200-42><a id=__codelineno-200-42 name=__codelineno-200-42 href=#__codelineno-200-42></a> ],
</span><span id=__span-200-43><a id=__codelineno-200-43 name=__codelineno-200-43 href=#__codelineno-200-43></a> &quot;RequestCharged&quot;: null
</span><span id=__span-200-44><a id=__codelineno-200-44 name=__codelineno-200-44 href=#__codelineno-200-44></a>}
</span></code></pre></div> <p>We then</p> <blockquote> <ul> <li>modify the contents of previously uploaded file <strong>file1.txt</strong> on our local computer and</li> <li>upload that file again, with <strong>put-object</strong>:</li> </ul> </blockquote> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-201-1><a id=__codelineno-201-1 name=__codelineno-201-1 href=#__codelineno-201-1></a>aws s3api put-object \
</span><span id=__span-201-2><a id=__codelineno-201-2 name=__codelineno-201-2 href=#__codelineno-201-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-201-3><a id=__codelineno-201-3 name=__codelineno-201-3 href=#__codelineno-201-3></a>--bucket $bucket_name5 \
</span><span id=__span-201-4><a id=__codelineno-201-4 name=__codelineno-201-4 href=#__codelineno-201-4></a>--body file1.txt \
</span><span id=__span-201-5><a id=__codelineno-201-5 name=__codelineno-201-5 href=#__codelineno-201-5></a>--key file1.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-202-1><a id=__codelineno-202-1 name=__codelineno-202-1 href=#__codelineno-202-1></a>aws s3api put-object \
</span><span id=__span-202-2><a id=__codelineno-202-2 name=__codelineno-202-2 href=#__codelineno-202-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-202-3><a id=__codelineno-202-3 name=__codelineno-202-3 href=#__codelineno-202-3></a>--bucket $bucket_name5 \
</span><span id=__span-202-4><a id=__codelineno-202-4 name=__codelineno-202-4 href=#__codelineno-202-4></a>--body file1.txt \
</span><span id=__span-202-5><a id=__codelineno-202-5 name=__codelineno-202-5 href=#__codelineno-202-5></a>--key file1.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-203-1><a id=__codelineno-203-1 name=__codelineno-203-1 href=#__codelineno-203-1></a>aws s3api put-object \
</span><span id=__span-203-2><a id=__codelineno-203-2 name=__codelineno-203-2 href=#__codelineno-203-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-203-3><a id=__codelineno-203-3 name=__codelineno-203-3 href=#__codelineno-203-3></a>--bucket $bucket_name5 \
</span><span id=__span-203-4><a id=__codelineno-203-4 name=__codelineno-203-4 href=#__codelineno-203-4></a>--body file1.txt \
</span><span id=__span-203-5><a id=__codelineno-203-5 name=__codelineno-203-5 href=#__codelineno-203-5></a>--key file1.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-204-1><a id=__codelineno-204-1 name=__codelineno-204-1 href=#__codelineno-204-1></a>aws s3api put-object \
</span><span id=__span-204-2><a id=__codelineno-204-2 name=__codelineno-204-2 href=#__codelineno-204-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-204-3><a id=__codelineno-204-3 name=__codelineno-204-3 href=#__codelineno-204-3></a>--bucket $bucket_name5 \
</span><span id=__span-204-4><a id=__codelineno-204-4 name=__codelineno-204-4 href=#__codelineno-204-4></a>--body file1.txt \
</span><span id=__span-204-5><a id=__codelineno-204-5 name=__codelineno-204-5 href=#__codelineno-204-5></a>--key file1.txt
</span></code></pre></div> <p>After successful upload, we again list all versions (command <strong>list-versions</strong>) of files in our bucket:</p> <div class=highlight><pre><span></span><code><span id=__span-205-1><a id=__codelineno-205-1 name=__codelineno-205-1 href=#__codelineno-205-1></a>{
</span><span id=__span-205-2><a id=__codelineno-205-2 name=__codelineno-205-2 href=#__codelineno-205-2></a> &quot;Versions&quot;: [
</span><span id=__span-205-3><a id=__codelineno-205-3 name=__codelineno-205-3 href=#__codelineno-205-3></a> {
</span><span id=__span-205-4><a id=__codelineno-205-4 name=__codelineno-205-4 href=#__codelineno-205-4></a> &quot;ETag&quot;: &quot;\&quot;4d3828bb564834c45a522e3492cbdf4a\&quot;&quot;,
</span><span id=__span-205-5><a id=__codelineno-205-5 name=__codelineno-205-5 href=#__codelineno-205-5></a> &quot;Size&quot;: 10,
</span><span id=__span-205-6><a id=__codelineno-205-6 name=__codelineno-205-6 href=#__codelineno-205-6></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-205-7><a id=__codelineno-205-7 name=__codelineno-205-7 href=#__codelineno-205-7></a> &quot;Key&quot;: &quot;file1.txt&quot;,
</span><span id=__span-205-8><a id=__codelineno-205-8 name=__codelineno-205-8 href=#__codelineno-205-8></a> &quot;VersionId&quot;: &quot;null&quot;,
</span><span id=__span-205-9><a id=__codelineno-205-9 name=__codelineno-205-9 href=#__codelineno-205-9></a> &quot;IsLatest&quot;: true,
</span><span id=__span-205-10><a id=__codelineno-205-10 name=__codelineno-205-10 href=#__codelineno-205-10></a> &quot;LastModified&quot;: &quot;2024-09-16T11:31:01.968Z&quot;,
</span><span id=__span-205-11><a id=__codelineno-205-11 name=__codelineno-205-11 href=#__codelineno-205-11></a> &quot;Owner&quot;: {
</span><span id=__span-205-12><a id=__codelineno-205-12 name=__codelineno-205-12 href=#__codelineno-205-12></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-205-13><a id=__codelineno-205-13 name=__codelineno-205-13 href=#__codelineno-205-13></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-205-14><a id=__codelineno-205-14 name=__codelineno-205-14 href=#__codelineno-205-14></a> }
</span><span id=__span-205-15><a id=__codelineno-205-15 name=__codelineno-205-15 href=#__codelineno-205-15></a> },
</span><span id=__span-205-16><a id=__codelineno-205-16 name=__codelineno-205-16 href=#__codelineno-205-16></a> {
</span><span id=__span-205-17><a id=__codelineno-205-17 name=__codelineno-205-17 href=#__codelineno-205-17></a> &quot;ETag&quot;: &quot;\&quot;1f5f1ebe10ac3457ca87427e1772d71f\&quot;&quot;,
</span><span id=__span-205-18><a id=__codelineno-205-18 name=__codelineno-205-18 href=#__codelineno-205-18></a> &quot;Size&quot;: 10,
</span><span id=__span-205-19><a id=__codelineno-205-19 name=__codelineno-205-19 href=#__codelineno-205-19></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-205-20><a id=__codelineno-205-20 name=__codelineno-205-20 href=#__codelineno-205-20></a> &quot;Key&quot;: &quot;file1.txt&quot;,
</span><span id=__span-205-21><a id=__codelineno-205-21 name=__codelineno-205-21 href=#__codelineno-205-21></a> &quot;VersionId&quot;: &quot;CTv9FT1Wp9pxDZdlZXx2cJ5C2juPNA6&quot;,
</span><span id=__span-205-22><a id=__codelineno-205-22 name=__codelineno-205-22 href=#__codelineno-205-22></a> &quot;IsLatest&quot;: false,
</span><span id=__span-205-23><a id=__codelineno-205-23 name=__codelineno-205-23 href=#__codelineno-205-23></a> &quot;LastModified&quot;: &quot;2024-09-16T11:28:47.501Z&quot;,
</span><span id=__span-205-24><a id=__codelineno-205-24 name=__codelineno-205-24 href=#__codelineno-205-24></a> &quot;Owner&quot;: {
</span><span id=__span-205-25><a id=__codelineno-205-25 name=__codelineno-205-25 href=#__codelineno-205-25></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-205-26><a id=__codelineno-205-26 name=__codelineno-205-26 href=#__codelineno-205-26></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-205-27><a id=__codelineno-205-27 name=__codelineno-205-27 href=#__codelineno-205-27></a> }
</span><span id=__span-205-28><a id=__codelineno-205-28 name=__codelineno-205-28 href=#__codelineno-205-28></a> },
</span><span id=__span-205-29><a id=__codelineno-205-29 name=__codelineno-205-29 href=#__codelineno-205-29></a> {
</span><span id=__span-205-30><a id=__codelineno-205-30 name=__codelineno-205-30 href=#__codelineno-205-30></a> &quot;ETag&quot;: &quot;\&quot;174b29d6d688c2b34f6c1bb7361a8b7e\&quot;&quot;,
</span><span id=__span-205-31><a id=__codelineno-205-31 name=__codelineno-205-31 href=#__codelineno-205-31></a> &quot;Size&quot;: 10,
</span><span id=__span-205-32><a id=__codelineno-205-32 name=__codelineno-205-32 href=#__codelineno-205-32></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-205-33><a id=__codelineno-205-33 name=__codelineno-205-33 href=#__codelineno-205-33></a> &quot;Key&quot;: &quot;file1.txt&quot;,
</span><span id=__span-205-34><a id=__codelineno-205-34 name=__codelineno-205-34 href=#__codelineno-205-34></a> &quot;VersionId&quot;: &quot;eaJNZLZTqtPAq9l09Nrm-CN-UAVtFHQ&quot;,
</span><span id=__span-205-35><a id=__codelineno-205-35 name=__codelineno-205-35 href=#__codelineno-205-35></a> &quot;IsLatest&quot;: false,
</span><span id=__span-205-36><a id=__codelineno-205-36 name=__codelineno-205-36 href=#__codelineno-205-36></a> &quot;LastModified&quot;: &quot;2024-09-16T11:28:10.006Z&quot;,
</span><span id=__span-205-37><a id=__codelineno-205-37 name=__codelineno-205-37 href=#__codelineno-205-37></a> &quot;Owner&quot;: {
</span><span id=__span-205-38><a id=__codelineno-205-38 name=__codelineno-205-38 href=#__codelineno-205-38></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-205-39><a id=__codelineno-205-39 name=__codelineno-205-39 href=#__codelineno-205-39></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-205-40><a id=__codelineno-205-40 name=__codelineno-205-40 href=#__codelineno-205-40></a> }
</span><span id=__span-205-41><a id=__codelineno-205-41 name=__codelineno-205-41 href=#__codelineno-205-41></a> },
</span><span id=__span-205-42><a id=__codelineno-205-42 name=__codelineno-205-42 href=#__codelineno-205-42></a> {
</span><span id=__span-205-43><a id=__codelineno-205-43 name=__codelineno-205-43 href=#__codelineno-205-43></a> &quot;ETag&quot;: &quot;\&quot;174b29d6d688c2b34f6c1bb7361a8b7e\&quot;&quot;,
</span><span id=__span-205-44><a id=__codelineno-205-44 name=__codelineno-205-44 href=#__codelineno-205-44></a> &quot;Size&quot;: 10,
</span><span id=__span-205-45><a id=__codelineno-205-45 name=__codelineno-205-45 href=#__codelineno-205-45></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-205-46><a id=__codelineno-205-46 name=__codelineno-205-46 href=#__codelineno-205-46></a> &quot;Key&quot;: &quot;file2.txt&quot;,
</span><span id=__span-205-47><a id=__codelineno-205-47 name=__codelineno-205-47 href=#__codelineno-205-47></a> &quot;VersionId&quot;: &quot;HVRcuAOQ.gpqiU50mJkdAj4bAvgfCFN&quot;,
</span><span id=__span-205-48><a id=__codelineno-205-48 name=__codelineno-205-48 href=#__codelineno-205-48></a> &quot;IsLatest&quot;: true,
</span><span id=__span-205-49><a id=__codelineno-205-49 name=__codelineno-205-49 href=#__codelineno-205-49></a> &quot;LastModified&quot;: &quot;2024-09-16T11:28:20.830Z&quot;,
</span><span id=__span-205-50><a id=__codelineno-205-50 name=__codelineno-205-50 href=#__codelineno-205-50></a> &quot;Owner&quot;: {
</span><span id=__span-205-51><a id=__codelineno-205-51 name=__codelineno-205-51 href=#__codelineno-205-51></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-205-52><a id=__codelineno-205-52 name=__codelineno-205-52 href=#__codelineno-205-52></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-205-53><a id=__codelineno-205-53 name=__codelineno-205-53 href=#__codelineno-205-53></a> }
</span><span id=__span-205-54><a id=__codelineno-205-54 name=__codelineno-205-54 href=#__codelineno-205-54></a> }
</span><span id=__span-205-55><a id=__codelineno-205-55 name=__codelineno-205-55 href=#__codelineno-205-55></a> ],
</span><span id=__span-205-56><a id=__codelineno-205-56 name=__codelineno-205-56 href=#__codelineno-205-56></a> &quot;RequestCharged&quot;: null
</span><span id=__span-205-57><a id=__codelineno-205-57 name=__codelineno-205-57 href=#__codelineno-205-57></a>}
</span></code></pre></div> <p>The previous versions of this file were not replaced, but a new version of file <strong>file1.txt</strong> (which has <strong>VersionId</strong> of <strong>null</strong>), was uploaded.</p> <p>From now on, each uploaded file will be uploaded with <strong>VersionId</strong> of <strong>null</strong>. If this version of that file already exists, it will be replaced.</p> <p>To illustrate that, we</p> <blockquote> <ul> <li>once again modify the file <strong>file1.txt</strong> on our local computer and</li> <li>upload this modified version again, using <strong>put-object</strong>:</li> </ul> </blockquote> <p>WAW4-1WAW3-1WAW3-2FRA1-2</p> <div class=highlight><pre><span></span><code><span id=__span-206-1><a id=__codelineno-206-1 name=__codelineno-206-1 href=#__codelineno-206-1></a>aws s3api put-object \
</span><span id=__span-206-2><a id=__codelineno-206-2 name=__codelineno-206-2 href=#__codelineno-206-2></a>--endpoint-url https://s3.waw4-1.3Engines.com \
</span><span id=__span-206-3><a id=__codelineno-206-3 name=__codelineno-206-3 href=#__codelineno-206-3></a>--bucket $bucket_name5 \
</span><span id=__span-206-4><a id=__codelineno-206-4 name=__codelineno-206-4 href=#__codelineno-206-4></a>--body file1.txt \
</span><span id=__span-206-5><a id=__codelineno-206-5 name=__codelineno-206-5 href=#__codelineno-206-5></a>--key file1.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-207-1><a id=__codelineno-207-1 name=__codelineno-207-1 href=#__codelineno-207-1></a>aws s3api put-object \
</span><span id=__span-207-2><a id=__codelineno-207-2 name=__codelineno-207-2 href=#__codelineno-207-2></a>--endpoint-url https://s3.waw3-1.3Engines.com \
</span><span id=__span-207-3><a id=__codelineno-207-3 name=__codelineno-207-3 href=#__codelineno-207-3></a>--bucket $bucket_name5 \
</span><span id=__span-207-4><a id=__codelineno-207-4 name=__codelineno-207-4 href=#__codelineno-207-4></a>--body file1.txt \
</span><span id=__span-207-5><a id=__codelineno-207-5 name=__codelineno-207-5 href=#__codelineno-207-5></a>--key file1.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-208-1><a id=__codelineno-208-1 name=__codelineno-208-1 href=#__codelineno-208-1></a>aws s3api put-object \
</span><span id=__span-208-2><a id=__codelineno-208-2 name=__codelineno-208-2 href=#__codelineno-208-2></a>--endpoint-url https://s3.waw3-2.3Engines.com \
</span><span id=__span-208-3><a id=__codelineno-208-3 name=__codelineno-208-3 href=#__codelineno-208-3></a>--bucket $bucket_name5 \
</span><span id=__span-208-4><a id=__codelineno-208-4 name=__codelineno-208-4 href=#__codelineno-208-4></a>--body file1.txt \
</span><span id=__span-208-5><a id=__codelineno-208-5 name=__codelineno-208-5 href=#__codelineno-208-5></a>--key file1.txt
</span></code></pre></div> <div class=highlight><pre><span></span><code><span id=__span-209-1><a id=__codelineno-209-1 name=__codelineno-209-1 href=#__codelineno-209-1></a>aws s3api put-object \
</span><span id=__span-209-2><a id=__codelineno-209-2 name=__codelineno-209-2 href=#__codelineno-209-2></a>--endpoint-url https://s3.fra1-2.3Engines.com \
</span><span id=__span-209-3><a id=__codelineno-209-3 name=__codelineno-209-3 href=#__codelineno-209-3></a>--bucket $bucket_name5 \
</span><span id=__span-209-4><a id=__codelineno-209-4 name=__codelineno-209-4 href=#__codelineno-209-4></a>--body file1.txt \
</span><span id=__span-209-5><a id=__codelineno-209-5 name=__codelineno-209-5 href=#__codelineno-209-5></a>--key file1.txt
</span></code></pre></div> <p>After this upload, we list versions one more time and get the following output:</p> <div class=highlight><pre><span></span><code><span id=__span-210-1><a id=__codelineno-210-1 name=__codelineno-210-1 href=#__codelineno-210-1></a>{
</span><span id=__span-210-2><a id=__codelineno-210-2 name=__codelineno-210-2 href=#__codelineno-210-2></a> &quot;Versions&quot;: [
</span><span id=__span-210-3><a id=__codelineno-210-3 name=__codelineno-210-3 href=#__codelineno-210-3></a> {
</span><span id=__span-210-4><a id=__codelineno-210-4 name=__codelineno-210-4 href=#__codelineno-210-4></a> &quot;ETag&quot;: &quot;\&quot;c96e9d7d1e4655b15493cc31ab7cfc24\&quot;&quot;,
</span><span id=__span-210-5><a id=__codelineno-210-5 name=__codelineno-210-5 href=#__codelineno-210-5></a> &quot;Size&quot;: 10,
</span><span id=__span-210-6><a id=__codelineno-210-6 name=__codelineno-210-6 href=#__codelineno-210-6></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-210-7><a id=__codelineno-210-7 name=__codelineno-210-7 href=#__codelineno-210-7></a> &quot;Key&quot;: &quot;file1.txt&quot;,
</span><span id=__span-210-8><a id=__codelineno-210-8 name=__codelineno-210-8 href=#__codelineno-210-8></a> &quot;VersionId&quot;: &quot;null&quot;,
</span><span id=__span-210-9><a id=__codelineno-210-9 name=__codelineno-210-9 href=#__codelineno-210-9></a> &quot;IsLatest&quot;: true,
</span><span id=__span-210-10><a id=__codelineno-210-10 name=__codelineno-210-10 href=#__codelineno-210-10></a> &quot;LastModified&quot;: &quot;2024-09-16T11:34:25.528Z&quot;,
</span><span id=__span-210-11><a id=__codelineno-210-11 name=__codelineno-210-11 href=#__codelineno-210-11></a> &quot;Owner&quot;: {
</span><span id=__span-210-12><a id=__codelineno-210-12 name=__codelineno-210-12 href=#__codelineno-210-12></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-210-13><a id=__codelineno-210-13 name=__codelineno-210-13 href=#__codelineno-210-13></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-210-14><a id=__codelineno-210-14 name=__codelineno-210-14 href=#__codelineno-210-14></a> }
</span><span id=__span-210-15><a id=__codelineno-210-15 name=__codelineno-210-15 href=#__codelineno-210-15></a> },
</span><span id=__span-210-16><a id=__codelineno-210-16 name=__codelineno-210-16 href=#__codelineno-210-16></a> {
</span><span id=__span-210-17><a id=__codelineno-210-17 name=__codelineno-210-17 href=#__codelineno-210-17></a> &quot;ETag&quot;: &quot;\&quot;1f5f1ebe10ac3457ca87427e1772d71f\&quot;&quot;,
</span><span id=__span-210-18><a id=__codelineno-210-18 name=__codelineno-210-18 href=#__codelineno-210-18></a> &quot;Size&quot;: 10,
</span><span id=__span-210-19><a id=__codelineno-210-19 name=__codelineno-210-19 href=#__codelineno-210-19></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-210-20><a id=__codelineno-210-20 name=__codelineno-210-20 href=#__codelineno-210-20></a> &quot;Key&quot;: &quot;file1.txt&quot;,
</span><span id=__span-210-21><a id=__codelineno-210-21 name=__codelineno-210-21 href=#__codelineno-210-21></a> &quot;VersionId&quot;: &quot;CTv9FT1Wp9pxDZdlZXx2cJ5C2juPNA6&quot;,
</span><span id=__span-210-22><a id=__codelineno-210-22 name=__codelineno-210-22 href=#__codelineno-210-22></a> &quot;IsLatest&quot;: false,
</span><span id=__span-210-23><a id=__codelineno-210-23 name=__codelineno-210-23 href=#__codelineno-210-23></a> &quot;LastModified&quot;: &quot;2024-09-16T11:28:47.501Z&quot;,
</span><span id=__span-210-24><a id=__codelineno-210-24 name=__codelineno-210-24 href=#__codelineno-210-24></a> &quot;Owner&quot;: {
</span><span id=__span-210-25><a id=__codelineno-210-25 name=__codelineno-210-25 href=#__codelineno-210-25></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-210-26><a id=__codelineno-210-26 name=__codelineno-210-26 href=#__codelineno-210-26></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-210-27><a id=__codelineno-210-27 name=__codelineno-210-27 href=#__codelineno-210-27></a> }
</span><span id=__span-210-28><a id=__codelineno-210-28 name=__codelineno-210-28 href=#__codelineno-210-28></a> },
</span><span id=__span-210-29><a id=__codelineno-210-29 name=__codelineno-210-29 href=#__codelineno-210-29></a> {
</span><span id=__span-210-30><a id=__codelineno-210-30 name=__codelineno-210-30 href=#__codelineno-210-30></a> &quot;ETag&quot;: &quot;\&quot;174b29d6d688c2b34f6c1bb7361a8b7e\&quot;&quot;,
</span><span id=__span-210-31><a id=__codelineno-210-31 name=__codelineno-210-31 href=#__codelineno-210-31></a> &quot;Size&quot;: 10,
</span><span id=__span-210-32><a id=__codelineno-210-32 name=__codelineno-210-32 href=#__codelineno-210-32></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-210-33><a id=__codelineno-210-33 name=__codelineno-210-33 href=#__codelineno-210-33></a> &quot;Key&quot;: &quot;file1.txt&quot;,
</span><span id=__span-210-34><a id=__codelineno-210-34 name=__codelineno-210-34 href=#__codelineno-210-34></a> &quot;VersionId&quot;: &quot;eaJNZLZTqtPAq9l09Nrm-CN-UAVtFHQ&quot;,
</span><span id=__span-210-35><a id=__codelineno-210-35 name=__codelineno-210-35 href=#__codelineno-210-35></a> &quot;IsLatest&quot;: false,
</span><span id=__span-210-36><a id=__codelineno-210-36 name=__codelineno-210-36 href=#__codelineno-210-36></a> &quot;LastModified&quot;: &quot;2024-09-16T11:28:10.006Z&quot;,
</span><span id=__span-210-37><a id=__codelineno-210-37 name=__codelineno-210-37 href=#__codelineno-210-37></a> &quot;Owner&quot;: {
</span><span id=__span-210-38><a id=__codelineno-210-38 name=__codelineno-210-38 href=#__codelineno-210-38></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-210-39><a id=__codelineno-210-39 name=__codelineno-210-39 href=#__codelineno-210-39></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-210-40><a id=__codelineno-210-40 name=__codelineno-210-40 href=#__codelineno-210-40></a> }
</span><span id=__span-210-41><a id=__codelineno-210-41 name=__codelineno-210-41 href=#__codelineno-210-41></a> },
</span><span id=__span-210-42><a id=__codelineno-210-42 name=__codelineno-210-42 href=#__codelineno-210-42></a> {
</span><span id=__span-210-43><a id=__codelineno-210-43 name=__codelineno-210-43 href=#__codelineno-210-43></a> &quot;ETag&quot;: &quot;\&quot;174b29d6d688c2b34f6c1bb7361a8b7e\&quot;&quot;,
</span><span id=__span-210-44><a id=__codelineno-210-44 name=__codelineno-210-44 href=#__codelineno-210-44></a> &quot;Size&quot;: 10,
</span><span id=__span-210-45><a id=__codelineno-210-45 name=__codelineno-210-45 href=#__codelineno-210-45></a> &quot;StorageClass&quot;: &quot;STANDARD&quot;,
</span><span id=__span-210-46><a id=__codelineno-210-46 name=__codelineno-210-46 href=#__codelineno-210-46></a> &quot;Key&quot;: &quot;file2.txt&quot;,
</span><span id=__span-210-47><a id=__codelineno-210-47 name=__codelineno-210-47 href=#__codelineno-210-47></a> &quot;VersionId&quot;: &quot;HVRcuAOQ.gpqiU50mJkdAj4bAvgfCFN&quot;,
</span><span id=__span-210-48><a id=__codelineno-210-48 name=__codelineno-210-48 href=#__codelineno-210-48></a> &quot;IsLatest&quot;: true,
</span><span id=__span-210-49><a id=__codelineno-210-49 name=__codelineno-210-49 href=#__codelineno-210-49></a> &quot;LastModified&quot;: &quot;2024-09-16T11:28:20.830Z&quot;,
</span><span id=__span-210-50><a id=__codelineno-210-50 name=__codelineno-210-50 href=#__codelineno-210-50></a> &quot;Owner&quot;: {
</span><span id=__span-210-51><a id=__codelineno-210-51 name=__codelineno-210-51 href=#__codelineno-210-51></a> &quot;DisplayName&quot;: &quot;this-project&quot;,
</span><span id=__span-210-52><a id=__codelineno-210-52 name=__codelineno-210-52 href=#__codelineno-210-52></a> &quot;ID&quot;: &quot;1234567890abcdefghijklmnopqrstuv&quot;
</span><span id=__span-210-53><a id=__codelineno-210-53 name=__codelineno-210-53 href=#__codelineno-210-53></a> }
</span><span id=__span-210-54><a id=__codelineno-210-54 name=__codelineno-210-54 href=#__codelineno-210-54></a> }
</span><span id=__span-210-55><a id=__codelineno-210-55 name=__codelineno-210-55 href=#__codelineno-210-55></a> ],
</span><span id=__span-210-56><a id=__codelineno-210-56 name=__codelineno-210-56 href=#__codelineno-210-56></a> &quot;RequestCharged&quot;: null
</span><span id=__span-210-57><a id=__codelineno-210-57 name=__codelineno-210-57 href=#__codelineno-210-57></a>}
</span></code></pre></div> <p>Once again, there is only one version which has <strong>null</strong> as its ID - the upload overwrote the previous version. The date of last modification (<strong>LastModified</strong>) has changed. Its previous value was <strong>2024-09-16T11:31:01.968Z</strong> and now it is <strong>2024-09-16T11:34:25.528Z</strong></p> <h2 id=what-to-do-next>What To Do Next<a href=#what-to-do-next title="Permalink to this headline">🔗</a><a class=headerlink href=#what-to-do-next title="Permanent link">&para;</a></h2> <p>AWS CLI is not the only available way of interacting with object storage. Other ways include:</p> <dl> <dt>Horizon dashboard</dt> <dd><a href=How-to-use-Object-Storage-on-3Engines-Cloud.html.html>How to use Object Storage on 3Engines Cloud</a></dd> <dt>s3fs</dt> <dd><a href=How-to-mount-object-storage-container-as-a-file-system-in-Linux-using-s3fs-on-3Engines-Cloud.html.html>How to Mount Object Storage Container as a File System in Linux Using s3fs on 3Engines Cloud</a></dd> <dt>Rclone</dt> <dd><a href=How-to-mount-object-storage-container-from-3Engines-Cloud-as-file-system-on-local-Windows-computer.html.html>How to mount object storage container from 3Engines Cloud as file system on local Windows computer</a></dd> <dt>s3cmd</dt> <dd><a href=How-to-access-object-storage-from-3Engines-Cloud-using-s3cmd.html.html>How to access object storage from 3Engines Cloud using s3cmd</a></dd> </dl> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=Configuration-files-for-s3cmd-command-on-3Engines-Cloud.html.html class="md-footer__link md-footer__link--prev" aria-label="Previous: Configuration files for s3cmd command on 3Engines Cloud"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Configuration files for s3cmd command on 3Engines Cloud </div> </div> </a> <a href=../windows/windows.html.html class="md-footer__link md-footer__link--next" aria-label="Next: Overview"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Overview </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["content.code.annotate", "content.code.copy", "content.tooltips", "navigation.tabs", "navigation.sections", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.top", "navigation.tracking", "search.highlight", "search.share", "search.suggest", "toc.follow"], "search": "../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../assets/javascripts/bundle.13a4f30d.min.js></script> <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": false, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
document$.subscribe(() => { lightbox.reload() });
</script></body> </html>