Esempi di politiche del ciclo di vita in Amazon ECR - Amazon ECR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempi di politiche del ciclo di vita in Amazon ECR

Di seguito sono riportati alcuni esempi di policy relative al ciclo di vita che mostrano la sintassi.

Per ulteriori informazioni sulle proprietà delle politiche, vedere. Proprietà delle policy del ciclo di vita in Amazon ECR Per istruzioni sulla creazione di una politica del ciclo di vita utilizzando il AWS CLI, vedere. Per creare una policy del ciclo di vita (AWS CLI)

Modello di policy del ciclo di vita

I contenuti della politica del ciclo di vita vengono valutati prima di essere associati a un repository. Di seguito viene mostrato un modello di sintassi JSON per la policy del ciclo di vita.

{ "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" } } ] }

Filtraggio per età delle immagini

L'esempio seguente mostra la sintassi della policy del ciclo di vita per una policy che prevede la scadenza delle immagini con un tag che inizia con prod utilizzando un tagPatternList di prod* anch'esso più vecchio di 14 giorni.

{ "rules": [ { "rulePriority": 1, "description": "Expire images older than 14 days", "selection": { "tagStatus": "tagged", "tagPatternList": ["prod*"], "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 14 }, "action": { "type": "expire" } } ] }

Filtraggio per numero di immagini

L'esempio seguente mostra la sintassi della policy del ciclo di vita per una policy che mantiene una sola immagine non taggata e fa scadere tutte le altre.

{ "rules": [ { "rulePriority": 1, "description": "Keep only one untagged image, expire all others", "selection": { "tagStatus": "untagged", "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } } ] }

Filtraggio per più regole

I seguenti esempi utilizzano più regole in una policy del ciclo di vita. Vengono forniti un repository e una policy del ciclo di vita di esempio insieme a una spiegazione del risultato.

Esempio A

Contenuto del repository:

  • Immagine A, Elenco tag: ["beta-1", "prod-1"], Invio: 10 giorni fa

  • Immagine B, Elenco tag: ["beta-2", "prod-2"], Invio: 9 giorni fa

  • Immagine C, Elenco tag: ["beta-3"], Invio: 8 giorni fa

Testo della policy del ciclo di vita:

{ "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" } } ] }

La logica di questa policy del ciclo di vita è:

  • La regola 1 identifica le immagini taggate con il prefisso prod. Dovrebbe contrassegnare le immagini, a iniziare da quella meno recente, fino a quando rimangono una o meno immagini corrispondenti. Contrassegna l'immagine A per la scadenza.

  • La regola 2 identifica le immagini taggate con il prefisso beta. Dovrebbe contrassegnare le immagini, a iniziare da quella meno recente, fino a quando rimangono una o meno immagini corrispondenti. Contrassegna entrambe le immagini A e B per la scadenza. Tuttavia, l'immagine A è già stata vista dalla regola 1 e, se l'immagine B scadesse, violerebbe la regola 1, pertanto viene saltata.

  • Risultato: l'immagine A scade.

Esempio B

Questo è lo stesso repository dell'esempio precedente, ma l'ordine di priorità delle regole è cambiato per mostrare questo altro esito.

Contenuto del repository:

  • Immagine A, Elenco tag: ["beta-1", "prod-1"], Invio: 10 giorni fa

  • Immagine B, Elenco tag: ["beta-2", "prod-2"], Invio: 9 giorni fa

  • Immagine C, Elenco tag: ["beta-3"], Invio: 8 giorni fa

Testo della policy del ciclo di vita:

{ "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" } } ] }

La logica di questa policy del ciclo di vita è:

  • La regola 1 identifica le immagini taggate con il prefisso beta. Dovrebbe contrassegnare le immagini, a iniziare da quella meno recente, fino a quando rimangono una o meno immagini corrispondenti. Vede tutte e tre le immagini e contrassegna l'immagine A e l'immagine B per la scadenza.

  • La regola 2 identifica le immagini taggate con il prefisso prod. Dovrebbe contrassegnare le immagini, a iniziare da quella meno recente, fino a quando rimangono una o meno immagini corrispondenti. Non vede alcuna immagine, perché tutte le immagini disponibili sono già viste dalla regola 1, pertanto non vengono contrassegnate altre immagini.

  • Risultato: l'immagine A e l'immagine B scadono.

Filtraggio per più tag in una stessa regola

I seguenti esempi specificano la sintassi della policy del ciclo di vita per più modelli di tag in una sola regola. Vengono forniti un repository e una policy del ciclo di vita di esempio insieme a una spiegazione del risultato.

Esempio A

Quando vengono specificati più modelli di tag in una sola regola, le immagini devono corrispondere a tutti i modelli di tag elencati.

Contenuto del repository:

  • Immagine A, Elenco tag: ["alpha-1"], Invio: 12 giorni fa

  • Immagine B, Elenco tag: ["beta-1"], Invio: 11 giorni fa

  • Immagine C, Elenco tag: ["alpha-2", "beta-2"], Invio: 10 giorni fa

  • Immagine D, Elenco tag: ["alpha-3"], Invio: 4 giorni fa

  • Immagine E, Elenco tag: ["beta-3"], Invio: 3 giorni fa

  • Immagine F, Elenco tag: ["alpha-4", "beta-4"], Invio: 2 giorni fa

{ "rules": [ { "rulePriority": 1, "description": "Rule 1", "selection": { "tagStatus": "tagged", "tagPatternList": ["alpha*", "beta*"], "countType": "sinceImagePushed", "countNumber": 5, "countUnit": "days" }, "action": { "type": "expire" } } ] }

La logica di questa policy del ciclo di vita è:

  • La regola 1 identifica le immagini taggate con il prefisso alpha e beta. Vede le immagini C ed F. Dovrebbe contrassegnare le immagini che hanno più di cinque giorni, in questo caso l'immagine C.

  • Risultato: l'immagine C scade.

Esempio B

Il seguente esempio mostra che i tag non sono esclusivi.

Contenuto del repository:

  • Immagine A, Elenco tag: ["alpha-1", "beta-1", "gamma-1"], Invio: 10 giorni fa

  • Immagine B, Elenco tag: ["alpha-2", "beta-2"], Invio: 9 giorni fa

  • Immagine C, Elenco tag: ["alpha-3", "beta-3", "gamma-2"], Invio: 8 giorni fa

{ "rules": [ { "rulePriority": 1, "description": "Rule 1", "selection": { "tagStatus": "tagged", "tagPatternList": ["alpha*", "beta*"], "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } } ] }

La logica di questa policy del ciclo di vita è:

  • La regola 1 identifica le immagini taggate con il prefisso alpha e beta. Vede tutte le immagini. Dovrebbe contrassegnare le immagini, a iniziare da quella meno recente, fino a quando rimangono una o meno immagini corrispondenti. Contrassegna le immagini A e B per la scadenza.

  • Risultato: l'immagine A e l'immagine B scadono.

Filtro su tutte le immagini

I seguenti esempi di policy del ciclo di vita specificano tutte le immagini con diversi filtri. Vengono forniti un repository e una policy del ciclo di vita di esempio insieme a una spiegazione del risultato.

Esempio A

Quanto segue mostra la sintassi della policy del ciclo di vita per una policy che si applica a tutte le regole ma mantiene una sola immagine e fa scadere tutte le altre.

Contenuto del repository:

  • Immagine A, Elenco tag: ["alpha-1"], Invio: 4 giorni fa

  • Immagine B, Elenco tag: ["beta-1"], Invio: 3 giorni fa

  • Immagine C, Elenco tag: [], Invio: 2 giorni fa

  • Immagine D, Elenco tag: ["alpha-2"], Invio: 1 giorno fa

{ "rules": [ { "rulePriority": 1, "description": "Rule 1", "selection": { "tagStatus": "any", "countType": "imageCountMoreThan", "countNumber": 1 }, "action": { "type": "expire" } } ] }

La logica di questa policy del ciclo di vita è:

  • La regola 1 identifica tutte le immagini. Vede le immagini A, B, C e D. Dovrebbe far scadere tutte le immagini tranne quelle più recenti. Contrassegna le immagini A, B e C per la scadenza.

  • Risultato: le immagini A, B e C scadono.

Esempio B

Il seguente esempio mostra una policy del ciclo di vita che combina tutti i tipi di regole in un'unica policy.

Contenuto del repository:

  • Immagine A, Elenco tag: ["alpha-1", "beta-1"], Invio: 4 giorni fa

  • Immagine B, Elenco tag: [], Invio: 3 giorni fa

  • Immagine C, Elenco tag: ["alpha-2"], Invio: 2 giorni fa

  • Immagine D, Elenco tag: ["git hash"], Invio: 1 giorno fa

  • Immagine E, Elenco tag: [], Invio: 1 giorno fa

{ "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" } } ] }

La logica di questa policy del ciclo di vita è:

  • La regola 1 identifica le immagini taggate con il prefisso alpha. Identifica le immagini A e C. Mantiene l'immagine più recente e contrassegna il resto per la scadenza. Contrassegna l'immagine A per la scadenza.

  • La regola 2 identifica le immagini non taggate. Identifica le immagini B ed E. Contrassegna tutte le immagini più vecchie di un giorno per la scadenza. Contrassegna l'immagine B per la scadenza.

  • La regola 3 identifica tutte le immagini. Identifica le immagini A, B, C, D ed E. Mantiene l'immagine più recente e contrassegna il resto per la scadenza. Tuttavia, non può contrassegnare le immagini A, B, C o E perché sono identificate da regole di priorità superiore. Contrassegna l'immagine D per la scadenza.

  • Risultato: le immagini A, B e D scadono.