ECS: Jak skonfigurować i używać interfejsu wiersza poleceń platformy AWS S3

Summary: W przypadku korzystania z interfejsu wiersza polecenia platformy AWS w celu przetestowania scenariuszy klienta, w którym korzysta on z interfejsu wiersza polecenia platformy AWS z ECS w celu potwierdzenia funkcjonalności i zgodności, należy zawsze zapoznać się z podręcznikiem dostępu do danych ECS dla wywołań API obsługiwanych przez ECS AWS S3. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

AWS Command-Line Interface (AWS CLI) to narzędzie AWS, które może służyć do testowania poleceń wysokiego poziomu S3 i s3 API-Level (s3api)

Polecenia wysokiego poziomu aws s3 (External Link) obsługują typowe operacje zasobnika, takie jak tworzenie, wyświetlanie listy i usuwanie zasobników. Jak pobrać i zainstalować narzędzie, wszystkie obsługiwane polecenia wysokiego poziomu można uzyskać w zestawie poleceń za pomocą polecenia aws s3api help.

Identyfikator S3Uri: Reprezentuje lokalizację obiektu, prefiksu lub zasobnika S3 — należy to zapisać w formularzu s3://mybucket/mykey gdzie mybucket jest określony w łyżce S3, mykey to określony S3. Argument path musi zaczynać się od s3://

Polecenia aws s3api (External Link) na poziomie interfejsu API są zawarte w zestawie poleceń s3api. Te polecenia interfejsu API S3 zapewniają dostęp do metadanych zasobnika, takich jak lista ACL zasobnika, zasady zasobnika, zasady cyklu życia, aby wymienić tylko kilka, wszystkie obsługiwane wywołania interfejsu API można uzyskać w zestawie poleceń za pomocą polecenia aws s3api help.

  • AWS CLI domyślnie automatycznie używa do 10 wątków do przesyłania plików lub części podczas przesyłania
  • Interfejs wiersza polecenia AWS automatycznie używa przesyłania multipart_threshold dla plików >= rozmiar pliku 8 MB, multipart_chunksize

Instrukcje pobierania i instalacji.

  1. Wersje https://github.com/aws/aws-cli/releases (łącze zewnętrzne)
  2. Pobieranie i instalowanie pakietu interfejsu wiersza polecenia platformy AWS
# curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
  1. Wyodrębnij pakiet
# unzip awscli-bundle.zip
  1. Uruchom polecenie instalacji
# sudo /awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
  1. Potwierdź wersję
# aws version
Output:
      aws-cli/2.0.33 Python/3.7.3 Linux/4.15.0-109-generic botocore/2.0.0dev37

Konfigurowanie interfejsu wiersza poleceń platformy AWS

W tej sekcji wyjaśniono podstawowe kroki konfiguracji interfejsu wiersza polecenia platformy AWS do użytku z ECS S3 przy użyciu użytkownika obiektu ECS. W tej sekcji założono, że użytkownik Bucket i obiektu zostały już utworzone w ECS. Poświadczenia i plik konfiguracyjny są aktualizowane po uruchomieniu polecenia aws configure.

Plik poświadczeń znajduje się tutaj ~/.aws/credentials. Plik poświadczeń przechowuje szczegóły profilu użytkownika (identyfikator klucza dostępu i klucze dostępu tajnego), plik konfiguracji przechowuje szczegóły regionu i formatu wyjściowego.

Wymagane:
  • Identyfikator klucza dostępu: Użytkownik obiektu ECS
  • Tajny klucz dostępu: Tajny klucz
Czynności:
  1. W tym przykładzie tworzona jest nazwa profilu mc_s3
# aws configure --profile mc_s3
Prompt:

    AWS Access Key ID [None]: mc_s3
    AWS Secret Access Key [None]: 1guFemRLSgqFau6uKzIVAZJu5+PS+S8qO7rvEsi7
    Default region name [None]: 
    Default output format [None]: json
  1. Wyświetlanie listy profili wszystkich profilów (list-properties dostępne w interfejsie wiersza polecenia platformy AWS w wersji 2
# aws configure list-properties
Output:
    mc_s3
    ad_uid1
# aws configure list
Output:
		  Name                    Value             Type    Location
		  ----                    -----             ----    --------
	   profile                <not set>             None    None
	access_key     ****************c_s3 shared-credentials-file    
	secret_key     ****************Esi7 shared-credentials-file    
		region                               config-file    ~/.aws/config
  1. Profil specyficzny dla listy
# aws configure get aws_access_key_id --profile mc_s3
Output:
      mc_s3
Dealing with SSL connections and error on self signed certificate.  ( [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:1056))
  1. W przypadku korzystania z poleceń w wersji 9021, opcja AWS CLI --no-verify-ssl jest wymagane, aby ominąć błąd certyfikatu z podpisem własnym.
# aws --profile mc_s3 --endpoint=https://ecshop:9021 s3api list-buckets
Output:
     SSL validation failed for https://ecshop:9021/mc_s3_bkt?acl [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:1056)
  • Uruchom polecenie za pomocą polecenia --no-verify Opcja obejścia tego błędu
# aws --profile mc_s3 --endpoint=https://ecshop:9021 s3api list-buckets --no-verify-ssl --output text
Output:
      
    /usr/local/aws-cli/v2/2.0.33/dist/urllib3/connectionpool.py:986: InsecureRequestWarning: Unverified HTTPS request is being made to host 'ecshop'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

    BUCKETS 2020-02-24T21:24:29.440000+00:00        mc_s3_bkt
    BUCKETS 2020-05-06T17:23:48.870000+00:00        mc_s3_bkt2_backup
    BUCKETS 2020-05-06T21:16:13.344000+00:00        mc_s3_bkt_nfs
    OWNER   mc_s3   mc_s3
  • Drugą opcją jest pobranie certyfikatu ECS z podpisem własnym zapisanego w formacie PEM i użycie --ca-bundle opcja
  • Użyj OpenSSL, aby uzyskać certyfikat ECS dla dostępu do danych obiektu na porcie 9021 i skopiuj zawartość certyfikatu za pomocą ulubionego edytora i zapisz wraz z nagłówkami certyfikatów zgodnie z poniższym przykładem.
# openssl s_client -connect ecshop:9021
gdzie ecshop to adres IP lub nazwa hosta węzła ECS, a xxxxxx powinien oznaczać cały certyfikat w danym środowisku.
Output:

    -----BEGIN CERTIFICATE----- 
    Xxxxxxxxx
    xxxxxxxxx
    ...
    ...
    -----END CERTIFICATE-----
  1. Lista zasobników w tabeli przyjazna dla człowieka z opcją ca-bundle, w której certyfikat jest zapisany w pliku PEM o nazwie ecshop_cert_pem 
# aws --profile mc_s3 --endpoint=https://ecshop:9021 s3api list-buckets  --ca-bundle ecshop_cert.pem  --output table
Output:
    -------------------------------------------------------------
    |                        ListBuckets                        |
    +-----------------------------------------------------------+
    ||                         Buckets                         ||
    |+-----------------------------------+---------------------+|
    ||           CreationDate            |        Name         ||
    |+-----------------------------------+---------------------+|
    ||  2020-02-24T21:24:29.440000+00:00 |  mc_s3_bkt          ||
    ||  2020-05-06T17:23:48.870000+00:00 |  mc_s3_bkt2_backup  ||
    ||  2020-05-06T21:16:13.344000+00:00 |  mc_s3_bkt_nfs      ||
    |+-----------------------------------+---------------------+|
    ||                          Owner                          ||
    |+-----------------------------------+---------------------+|
    ||            DisplayName            |         ID          ||
    |+-----------------------------------+---------------------+|
    ||  mc_s3                            |  mc_s3              ||
    |+-----------------------------------+---------------------+|

Podstawowe operacje S3

https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html (łącze zewnętrzne)
Dostrajanie wydajności
  • max_concurrent_requests — maksymalna liczba współbieżnych żądań
  • max_queue_size — maksymalna liczba zadań w kolejce zadań
  • multipart_threshold — próg rozmiaru używany przez interfejs wiersza polecenia dla wieloczęściowych transferów pojedynczych plików.
  • multipart_chunksize — w przypadku korzystania z transferów wieloczęściowych jest to rozmiar fragmentu używany przez interfejs wiersza polecenia do wieloczęściowych transferów poszczególnych plików.
  • max_bandwidth — maksymalna przepustowość używana do przekazywania i pobierania danych do i z usługi Amazon S3.
Zapisane w pliku konfiguracyjnym jako przykład:
# cat .aws/config
Output:
    [profile mc_s3]
    output = json
    s3 =
            endpoint_url = http://ecshop:9020

              max_concurrent_requests = 20
              max_queue_size = 1000
              multipart_threshold = 64MB
              multipart_chunksize = 16MB
              max_bandwidth = 50MB/s
              addressing_style = auto 
Korzystanie z aws configure set polecenie ustawiania parametrów w celu dostrojenia prędkości przesyłania
$ aws configure set default.s3.max_concurrent_requests 20
$ aws configure set default.s3.max_queue_size 10000
$ aws configure set default.s3.multipart_threshold 64MB
$ aws configure set default.s3.multipart_chunksize 16MB
$ aws configure set default.s3.max_bandwidth 50MB/s
$ aws configure set default.s3.addressing_style auto
Czynności: 
  1. Utwórz zasobnik za pomocą s3 mb command
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3 mb s3://s3_bkt
Output:
    make_bucket: s3_bkt
  1. Wyświetlanie listy zasobników za pomocą s3 ls i s3api list-buckets zestawy poleceń wyświetlają zasobniki dla wszystkich innych operacji (określanych w S3 jako "prefiksy") (łącze zewnętrzne) w zasobniku
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3 ls
Output:
   2020-07-29 20:34:24 s3_bkt

  #  aws --profile mc_s3 --endpoint http://ecshop:9020 s3api list-buckets
#  aws --profile mc_s3 --endpoint http://ecshop:9020 s3api list-buckets
Output:		
	 aws --profile mc_s3 --endpoint http://ecshop:9020 s3api list-buckets
	{
		"Buckets": [
			{
				"Name": "mc_s3_bkt",
				"CreationDate": "2020-02-24T21:24:29.440000+00:00"
			},
			{
				"Name": "mc_s3_bkt2_backup",
				"CreationDate": "2020-05-06T17:23:48.870000+00:00"
			},
			{
				"Name": "mc_s3_bkt_nfs",
				"CreationDate": "2020-05-06T21:16:13.344000+00:00"
			},
			{
				"Name": "s3_bkt",
				"CreationDate": "2020-07-30T00:34:24.147000+00:00"
			},
  1.  Tworzenie i przesyłanie plików do testów 
  • Przykład: tworzenie plików o rozmiarze 1 MB i 4 MB
# dd if=/dev/zero of=1MB_output.file bs=1024 count=1024
# dd if=/dev/zero of=4MB_output.file bs=1024 count=4096
  • Przykład: tworzenie dużego pliku o pojemności 2 GB
# dd if=/dev/urandom of=bigfile_2GB bs=1024k count=2048
  • Prześlij plik o rozmiarze 1 MB do zasobnika s3_bkt
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3 cp 1MB_output.file s3://s3_bkt
Output:
    upload: ./1MB_output.file to s3://s3_bkt/1MB_output.file
  1. Lista plików w bucket, s3_bkt Używanie nazwy profilu mc_s3 używanie s3 lslub s3api list-objects Zestawy poleceń 
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3 ls s3://s3_bkt
Output:
2020-07-29 20:39:43   16.0 MiB 16MB_output.file
2020-07-29 20:37:25    1.0 MiB 1MB_output.file
2020-07-29 20:39:23    4.0 MiB 4MB_output.file
 # aws --profile mc_s3 --endpoint http://ecshop:9020 s3api list-objects --bucket s3_bkt
Output:
	{
		"Contents": [
			{
				"Key": "16MB_output.file",
				"LastModified": "2020-07-30T00:39:43.125000+00:00",
				"ETag": "\"3a2d20e2e504fe056bbaae5b4c2351fd-2\"",
				"Size": 16777216,
				"StorageClass": "STANDARD",
				"Owner": {
					"DisplayName": "mc_s3",
					"ID": "mc_s3"
				}
			},
			{
				"Key": "1MB_output.file",
				"LastModified": "2020-07-30T00:37:25.033000+00:00",
				"ETag": "\"b6d81b360a5672d80c27430f39153e2c\"",
				"Size": 1048576,
				"StorageClass": "STANDARD",
				"Owner": {
					"DisplayName": "mc_s3",
					"ID": "mc_s3"
				}
			},
  1. Wyświetlanie listy wersji obiektów
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3api list-object-versions --bucket s3_bkt --output text
  1. Pobierz plik, 1MB_output.file z s3_bkt do katalogu /tmp na komputerze lokalnym.
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3 cp s3://s3_bkt/1MB_output.file /tmp/
Output:
     download: s3://s3_bkt/1MB_output.file to ../../tmp/1MB_output.file
  1. Sprawdź listę ACL pliku 1MB_output.file w formacie YAML, aby uzyskać dane wyjściowe pod kątem czytelności
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3api get-object-acl --bucket s3_bkt --key 1MB_output.file  --output yaml
Output:
        
    Grants:
    - Grantee:
        DisplayName: mc_s3
        ID: mc_s3
        Type: CanonicalUser
      Permission: FULL_CONTROL
    Owner:
      DisplayName: mc_s3
      ID: mc_s3
  1. Sprawdź listę ACL zasobnika w zasobniku s3_bkt
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3api get-bucket-acl --bucket s3_bkt --output yaml
Output:      
    Grants:
    - Grantee:
        DisplayName: mc_s3
        ID: mc_s3
        Type: CanonicalUser
      Permission: FULL_CONTROL
    Owner:
      DisplayName: mc_s3
      ID: mc_s3
  1. Sprawdź wersję zasobnika lub włącz przechowywanie wersji w zasobniku
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3api get-bucket-versioning --bucket s3_bkt
Output:

    {
        "Status": "Enabled"
    }
  1. Inicjowanie przesyłania wieloczęściowego przy użyciu interfejsu API s3api przy użyciu dużego pliku 
  1. Utwórz plik o rozmiarze 5 GB:
# time dd if=/dev/urandom of=bigfile_5GB bs=1024k count=5096
  1. Rozpocznij przesyłanie
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3api create-multipart-upload --bucket s3_bkt --key bigfile_5GB
Output:

    {
        "Bucket": "s3_bkt",
        "Key": "bigfile_5GB",
        "UploadId": "27cb6c45ab5c4c838fb5893263d871d3"
    }
  1. Wyświetlanie listy niekompletnych plików wieloczęściowych https://aws.amazon.com/premiumsupport/knowledge-center/s3-multipart-upload-cli/ przesyłania (łącze zewnętrzne)
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3api list-multipart-uploads --bucket s3_bkt
Output:

	{
	    "Uploads": [
	        {
	            "UploadId": "27cb6c45ab5c4c838fb5893263d871d3",
	            "Key": "bigfile_5GB",
	            "Initiated": "2020-07-31T01:10:56.323000+00:00",
	            "StorageClass": "STANDARD",
	            "Owner": {
	                "DisplayName": "mc_s3",
	                "ID": "mc_s3"
	            }
	        }
	    ]
	}
  1. Poprawiać s3 cp Zalecenia dotyczące wydajności polecenia lub zasobnika do zasobnika dla dużych plików w celu zainicjowania przesyłania wieloczęściowego i zmiany równoczesnych wątków, patrz powyżej w sekcji Dostrajanie wydajności.
  1. Wykonaj kopiowanie z zasobnika do zasobnika, aby skopiować file.txt w mc_s3_bkt na s3_bkt za pomocą S3api 
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3api copy-object --copy-source mc_s3_bkt/file.txt --key file.txt --bucket s3_bkt
Output:
{
    "VersionId": "1596159769267",
    "CopyObjectResult": {
        "ETag": "\"c789e490a90359de2bd3b09d7e957cfd-128\"",
        "LastModified": "2020-07-31T01:42:49.267000+00:00"
    }
}
  1. Wyświetlanie listy plików (obiektów lub kluczy) w zasobniku 
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3 ls s3://s3_bkt/file.txt --human-readable  summarize
Output:
      2020-07-30 21:42:49    1.0 GiB file.txt
  1. Kopiowanie pliku z S3_bkt na mc_s3_bkt Korzystanie z zestawu poleceń wysokiego poziomu S3 CP
Następujące polecenie cp kopiuje pojedynczy obiekt s3 do określonego zasobnika i klucza:
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3 cp s3://s3_bkt/file.txt s3://mc_s3_bkt/file2.txt
       Output:
         copy: s3://s3_bkt/file.txt to s3://mc_s3_bkt/file2.txt
  1. Sprawdzanie, czy przechowywanie wersji jest włączone w zasobniku s3_bkt
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3api get-bucket-versioning --bucket s3_bkt
Output: 

      {
          "Status": "Enabled"
      }
  1. Usuń zasobnik za pomocą s3 rb polecenie (polecenie nie ma danych wyjściowych)
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3 rm s3://s3_bkt2
  1. Poniższy przykład powoduje usunięcie wszystkich obiektów i podfolderów w zasobniku, a następnie usunięcie zasobnika. (jeśli przechowywanie wersji jest włączone, to polecenie nie usuwa obiektów wersji (przegląd LDS, zasad cyklu życia)
# aws s3 rb s3://bucket-name --force
  1. Włączanie przechowywania wersji w zasobniku s3_bkt using s3api API level command set (polecenie nie ma danych wyjściowych)
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3api put-bucket-versioning --bucket s3_bkt --versioning-configuration Status=Enabled 
  1. Stosowanie zasad cyklu życia Wygeneruj szablon (Podręcznik dostępu do danych ECS) Interfejs wiersza polecenia platformy AWS wymaga formatu json dla zasad cyklu życia
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3api put-bucket-lifecycle-configuration --generate-cli-skeleton input --bucket s3_bkt
  1. Zastosuj zasady żywotności zasobnika w zasobniku. Aby uzyskać więcej informacji, zapoznaj się z podręcznikiem dostępu do danych ECS
Utwórz zasady dla AbortIncompleteMultipartUpload, NoncurrentVersionExpiration, and ExpiredObjectDeleteMarker and NoncurrentDays wygaśnie po 7 dniach.
#  aws --profile mc_s3 --endpoint http://ecshop:9020 s3api put-bucket-lifecycle --bucket s3_bkt --lifecycle-configuration file://s3_bkt_lifecycle.json
Output:

{
   "Rules": [
   {
      "ID": "expire-non-current-and-dmarkers-and-mpu",
      "Status": "Enabled",
      "Prefix": "/",
      "Expiration": {
         "ExpiredObjectDeleteMarker": true
      },
      "AbortIncompleteMultipartUpload": {
         "DaysAfterInitiation": 7
      },
      "NoncurrentVersionExpiration": {
         "NoncurrentDays": 7
      }
   }
   ]
}
  1. Zasady cyklu życia GET
# aws --profile mc_s3 --endpoint http://ecshop:9020 s3api get-bucket-lifecycle --bucket s3_bkt
Output:

{
    "Rules": [
        {
            "Expiration": {
                "Days": 10
            },
            "ID": "DeleteVersion-musa",
            "Prefix": "",
            "Status": "Enabled",
            "NoncurrentVersionExpiration": {
                "NoncurrentDays": 10
            }
        }
    ]
}
  1. Znakowanie obiektów przy użyciu pary klucz-wartość 
  1. Napisz plik. 
$ aws s3 cp file.txt s3://mc_s3_bkt/aws/tag.txt  --profile mc_s3_emea --endpoint  http://emea:9020
upload: ./file.txt to s3://mc_s3_bkt/aws/tag.txt
  1. Dodaj znacznik (to polecenie nie zwróciło danych, jeśli się powiedzie. 
    Polecenie jednowierszowe:
$ aws s3api put-object-tagging --profile mc_s3_emea --bucket mc_s3_bkt --key aws/tag.txt --tagging '{"TagSet": [{ "Key": "Product", "Value": "ECS" }]}' --endpoint-url http://emea:9020

Wielowierszowe kopiowanie i wklejanie: 

$ aws s3api put-object-tagging \
	 --profile mc_s3_emea \
     --bucket mc_s3_bkt \
     --key aws/tag.txt \
     --tagging '{"TagSet": [{ "Key": "Product", "Value": "ECS" }]}' \
    --endpoint-url http://emea:9020
  1. Pobierz znacznik obiektu.
$ aws s3api get-object-tagging --profile mc_s3_emea --bucket mc_s3_bkt --key aws/tag.txt --endpoint http://emea:9020

{
    "TagSet": [
        {
            "Key": "Product",
            "Value": "ECS"
        }
    ]
}
  1. Dodawanie wielu wartości tagów 'key:value' - skrócona forma
$ aws s3api put-object-tagging --profile mc_s3_emea --bucket mc_s3_bkt --key aws/tag5.txt --tagging '{"TagSet": [{ "Key": "Product", "Value": "ECS 3.6.1.2" },{"Key": "Company", "Value": "Dell Technologies"}]}' --endpoint-url http://emea:9020
  1. Pobierz znacznik obiektu.
$ aws s3api get-object-tagging --profile mc_s3_emea --bucket mc_s3_bkt --key aws/tag5.txt
{
    "TagSet": [
        {
            "Key": "Product",
            "Value": "ECS 3.6.1.2"
        },
        {
            "Key": "Company",
            "Value": "Dell Technologies"
        }
    ]
}
  1. Blokada obiektu S3
ECS umożliwia przechowywanie obiektów przy użyciu modelu WORM (Write-Once-Read-Many) za pośrednictwem blokady obiektów S3. Ta funkcja zapobiega usuwaniu lub nadpisywaniu obiektów przez określony czas lub w nieskończoność.
 
Uwaga:
  • Funkcja blokady obiektów ECS S3 obsługuje tylko zasobniki z obsługą wersji.
  • Brak interfejsu użytkownika ECS dla funkcji Object Lock. Dostęp do niego można uzyskać za pośrednictwem interfejsów API blokady obiektów ECS.
  • Zablokowane obiekty są chronione przed usunięciem w cyklu życia
  • Zasobnik nie może być włączony w systemie plików
  • Blokada obiektu działa z użytkownikami IAM, a nie ze starszymi użytkownikami 
  • Włączanie blokady obiektu w zasobniku, automatyczne włączanie przechowywania wersji 
  • Poprawka jest wymagana, jeśli ADO jest włączone i ma zostać rozwiązane w ECS 3.7. Patrz artykuł ECS: Wyłączanie funkcji Object-lock w ECS for IBM Content Manager


Aby ustawić blokadę obiektu na zasobniku.
Opcja Użyj opcji put-object-lock-configuration jest używana z interfejsem wiersza poleceń platformy AWS.

Zobacz: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html
put-object-lock-configuration — AWS CLI 1.22.24 Command Reference (amazon.com) (łącze zewnętrzne)

  • Aby ustawić konfigurację blokady obiektu w zasobniku
The following put-object-lock-configuration example sets a 1-day object lock on the specified bucket.

$ aws s3api put-object-lock-configuration \
	--profile iam1 \
    --bucket iam-bucket \
    --object-lock-configuration '{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 1 }}}'

To polecenie nie generuje żadnych danych wyjściowych.

  • put-object-legal-hold
$ aws s3api put-object-legal-hold --endpoint http://<hostname>:<port_number> --profile iam1 --bucket iam-bucket --key file1.txt --legal-hold "Status=ON"
where:
	--profile: name of profile is profile confirmed in .aws credentials file
	--bucket: Bucket name
	--key: Object name
	--legal-hold: ON or OFF
	--version-id: specifies the version id of the object for Versioned 
	--endpoint: ECS IP and port 9020 or 90201
  • get-object-legal-hold
$ aws s3api get-object-legal-hold --endpoint http://<hostname>:<port_number> --profile iam1 --bucket iam-bucket --key file1.txt
where:
	--bucket: Bucket name
	--key: Object name
	--version-id: specifies the version id of the object
	--endpoint: ECS IP and port 9020 or 90201

Affected Products

Elastic Cloud Storage

Products

ECS Appliance, ECS Appliance Hardware Series, ECS Appliance Software with Encryption, Elastic Cloud Storage
Article Properties
Article Number: 000020564
Article Type: How To
Last Modified: 02 Oct 2025
Version:  6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.