Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh kebijakan siklus hidup di Amazon ECR
Berikut ini adalah contoh kebijakan siklus hidup yang menunjukkan sintaks.
Untuk melihat informasi selengkapnya tentang properti kebijakan, lihatProperti kebijakan siklus hidup di Amazon ECR. Untuk petunjuk tentang membuat kebijakan siklus hidup menggunakan AWS CLI, lihat. Untuk membuat kebijakan siklus hidup (AWS CLI)
Templat kebijakan siklus hidup
Isi kebijakan siklus hidup Anda dievaluasi sebelum dikaitkan dengan repositori. Berikut ini adalah template JSON sintaks untuk kebijakan siklus hidup.
{
"rules": [
{
"rulePriority": integer
,
"description": "string
",
"selection": {
"tagStatus": "tagged
"|"untagged
"|"any
",
"tagPatternList": list<string>
,
"tagPrefixList": list<string>
,
"countType": "imageCountMoreThan
"|"sinceImagePushed
",
"countUnit": "string
",
"countNumber": integer
},
"action": {
"type": "expire"
}
}
]
}
Memfilter usia citra
Contoh berikut menunjukkan sintaks kebijakan siklus hidup untuk kebijakan yang kedaluwarsa gambar dengan tag yang dimulai prod
dengan menggunakan tagPatternList
dari prod*
yang juga lebih lama dari hari. 14
{ "rules": [ { "rulePriority": 1, "description": "Expire images older than 14 days", "selection": { "tagStatus": "tagged", "tagPatternList": ["prod*"], "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 14 }, "action": { "type": "expire" } } ] }
Memfilter jumlah citra
Contoh berikut menunjukkan sintaks kebijakan siklus hidup untuk kebijakan yang hanya menyimpan satu gambar yang tidak diberi tag dan kedaluwarsa semua gambar lainnya.
{ "rules": [ { "rulePriority": 1, "description": "Keep only one untagged image, expire all others", "selection": { "tagStatus": "untagged", "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } } ] }
Memfilter beberapa aturan
Contoh berikut menggunakan beberapa aturan dalam kebijakan siklus hidup. Contoh repositori dan kebijakan siklus hidup diberikan bersama dengan penjelasan dari hasilnya.
Contoh A
Isi repositori:
-
citra A, Taglist: ["beta-1", "prod-1"], Didorong: 10 hari yang lalu
-
citra B, Taglist: ["beta-2", "prod-2"], Didorong: 9 hari yang lalu
-
citra C, Taglist: ["beta-3"], Didorong: 8 hari yang lalu
Teks kebijakan siklus hidup:
{ "rules": [ { "rulePriority": 1, "description": "Rule 1", "selection": { "tagStatus": "tagged", "tagPatternList": ["prod*"], "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } }, { "rulePriority": 2, "description": "Rule 2", "selection": { "tagStatus": "tagged", "tagPatternList": ["beta*"], "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } } ] }
Logika kebijakan siklus hidup ini adalah:
-
Aturan 1 mengidentifikasi citra yang ditandai dengan prefiks
prod
. Ini harus menandai citra, dimulai dengan yang tertua, sampai ada satu atau lebih sedikit citra yang tersisa yang sesuai. Ini menandai citra A untuk kedaluwarsa. -
Aturan 2 mengidentifikasi citra yang ditandai dengan prefiks
beta
. Ini harus menandai citra, dimulai dengan yang tertua, sampai ada satu atau lebih sedikit citra yang tersisa yang sesuai. Ini menandai citra A dan citra B untuk kedaluwarsa. Namun, citra A sudah terlihat oleh Aturan 1 dan jika citra B kedaluwarsa, maka akan melanggar Aturan 1 dan dengan demikian dilewati. -
Hasil: citra A kedaluwarsa.
Contoh B
Ini adalah repositori yang sama seperti contoh sebelumnya tetapi urutan prioritas aturan diubah untuk mengcitrakan hasilnya.
Isi repositori:
-
citra A, Taglist: ["beta-1", "prod-1"], Didorong: 10 hari yang lalu
-
citra B, Taglist: ["beta-2", "prod-2"], Didorong: 9 hari yang lalu
-
citra C, Taglist: ["beta-3"], Didorong: 8 hari yang lalu
Teks kebijakan siklus hidup:
{ "rules": [ { "rulePriority": 1, "description": "Rule 1", "selection": { "tagStatus": "tagged", "tagPatternList": ["beta*"], "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } }, { "rulePriority": 2, "description": "Rule 2", "selection": { "tagStatus": "tagged", "tagPatternList": ["prod*"], "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } } ] }
Logika kebijakan siklus hidup ini adalah:
-
Aturan 1 mengidentifikasi citra yang ditandai dengan prefiks
beta
. Ini harus menandai citra, dimulai dengan yang tertua, sampai ada satu atau lebih sedikit citra yang tersisa yang sesuai. Ini melihat ketiga citra dan akan menandai citra A dan citra B untuk kedaluwarsa. -
Aturan 2 mengidentifikasi citra yang ditandai dengan prefiks
prod
. Ini harus menandai citra, dimulai dengan yang tertua, sampai ada satu atau lebih sedikit citra yang tersisa yang sesuai. Ini tidak akan melihat citra karena semua citra yang tersedia sudah dilihat oleh Aturan 1 dan dengan demikian akan menandai tidak ada citra tambahan. -
Hasil: citra A dan B kedaluwarsa.
Memfilter beberapa tanda dalam satu aturan
Contoh berikut menentukan sintaks kebijakan siklus hidup untuk beberapa pola tag dalam satu aturan. Contoh repositori dan kebijakan siklus hidup diberikan bersama dengan penjelasan dari hasilnya.
Contoh A
Ketika beberapa pola tag ditentukan pada satu aturan, gambar harus cocok dengan semua pola tag yang terdaftar.
Isi repositori:
-
citra A, Taglist: ["alpha-1"], Didorong: 12 hari yang lalu
-
citra B, Taglist: ["beta-1"], Didorong: 11 hari yang lalu
-
citra C, Taglist: ["alpha-2", "beta-2"], Didorong: 10 hari yang lalu
-
citra D, Taglist: ["alpha-3"], Didorong: 4 hari yang lalu
-
citra E, Taglist: ["beta-3"], Didorong: 3 hari yang lalu
-
citra F, Taglist: ["alpha-4", "beta-4"], Didorong: 2 hari yang lalu
{ "rules": [ { "rulePriority": 1, "description": "Rule 1", "selection": { "tagStatus": "tagged", "tagPatternList": ["alpha*", "beta*"], "countType": "sinceImagePushed", "countNumber": 5, "countUnit": "days" }, "action": { "type": "expire" } } ] }
Logika kebijakan siklus hidup ini adalah:
-
Aturan 1 mengidentifikasi gambar yang ditandai dengan awalan
alpha
dan.beta
Ini melihat citra C dan F. Ini harus menandai citra yang lebih tua dari lima hari, yang akan menjadi citra C. -
Hasil: citra C kedaluwarsa.
Contoh B
Contoh berikut mengcitrakan bahwa tanda tidak bersifat eksklusif.
Isi repositori:
-
citra A, Taglist: ["alpha-1", "beta-1", "gamma-1"], Didorong: 10 hari yang lalu
-
citra B, Taglist: ["alpha-2", "beta-2"], Didorong: 9 hari yang lalu
-
citra C, Taglist: ["alpha-3", "beta-3", "gamma-2"], Didorong: 8 hari yang lalu
{ "rules": [ { "rulePriority": 1, "description": "Rule 1", "selection": { "tagStatus": "tagged", "tagPatternList": ["alpha*", "beta*"], "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } } ] }
Logika kebijakan siklus hidup ini adalah:
-
Aturan 1 mengidentifikasi gambar yang ditandai dengan awalan
alpha
dan.beta
Ini melihat semua citra. Ini harus menandai citra, dimulai dengan yang tertua, sampai ada satu atau lebih sedikit citra yang tersisa yang sesuai. Ini menandai citra A dan B untuk kedaluwarsa. -
Hasil: citra A dan B kedaluwarsa.
Memfilter semua citra
Contoh kebijakan siklus hidup berikut ini menentukan semua citra dengan filter yang berbeda. Contoh repositori dan kebijakan siklus hidup diberikan bersama dengan penjelasan dari hasilnya.
Contoh A
Berikut ini adalah sintaks kebijakan siklus hidup untuk kebijakan yang berlaku untuk semua aturan tetapi hanya mempertahankan satu citra dan membuat semua lainnya kedaluwarsa.
Isi repositori:
-
citra A, Taglist: ["alpha-1"], Didorong: 4 hari yang lalu
-
citra B, Taglist: ["beta-1"], Didorong: 3 hari yang lalu
-
citra C, Taglist: [], Didorong: 2 hari yang lalu
-
citra D, Taglist: ["alpha-2"], Didorong: 1 hari yang lalu
{ "rules": [ { "rulePriority": 1, "description": "Rule 1", "selection": { "tagStatus": "any", "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } } ] }
Logika kebijakan siklus hidup ini adalah:
-
Aturan 1 mengidentifikasi semua citra. Ini melihat citra A, B, C, dan D. Ini membuat semua citra selain yang terbaru kedaluwarsa. Ini menandai citra A, B, dan C untuk kedaluwarsa.
-
Hasil: citra A, B, dan C kedaluwarsa.
Contoh B
Contoh berikut ini mengcitrakan kebijakan siklus hidup yang menggabungkan semua jenis aturan dalam satu kebijakan.
Isi repositori:
-
Citra A, Taglist: ["alpha-1", "beta-1"], Didorong: 4 hari yang lalu
-
Citra B, Taglist: [], Didorong: 3 hari yang lalu
-
Citra C, Taglist: ["alpha-2"], Didorong: 2 hari yang lalu
-
Citra D, Taglist: ["git hash"], Didorong: 1 hari yang lalu
-
Citra E, Taglist: [], Didorong: 1 hari yang lalu
{ "rules": [ { "rulePriority": 1, "description": "Rule 1", "selection": { "tagStatus": "tagged", "tagPatternList": ["alpha*"], "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } }, { "rulePriority": 2, "description": "Rule 2", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 1 }, "action": { "type": "expire" } }, { "rulePriority": 3, "description": "Rule 3", "selection": { "tagStatus": "any", "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } } ] }
Logika kebijakan siklus hidup ini adalah:
-
Aturan 1 mengidentifikasi citra yang ditandai dengan prefiks
alpha
. Ini mengidentifikasi citra A dan C. Ini mempertahankan citra terbaru dan menandai sisanya untuk kedaluwarsa. Ini menandai citra A untuk kedaluwarsa. -
Aturan 2 mengidentifikasi citra yang tidak ditandai. Ini mengidentifikasi citra B dan E. Ini menandai semua citra yang lebih tua dari satu hari untuk kedaluwarsa. Ini menandai citra B untuk kedaluwarsa.
-
Aturan 3 mengidentifikasi semua citra. Ini mengidentifikasi citra A, B, C, D, dan E. Ini mempertahankan citra terbaru dan menandai sisanya untuk kedaluwarsa. Namun, ini tidak dapat menandai citra A, B, C, atau E karena citra tersebut diidentifikasi oleh aturan prioritas yang lebih tinggi. Ini menandai citra D untuk kedaluwarsa.
-
Hasil: Citra A, B, dan D kedaluwarsa.