View a markdown version of this page

Riferimento all'azione di distribuzione di Amazon S3 - AWS CodePipeline

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à.

Riferimento all'azione di distribuzione di Amazon S3

Si utilizza un'azione di distribuzione di Amazon S3 per distribuire i file in un bucket Amazon S3 per l'hosting o l'archiviazione di siti Web statici. Puoi specificare se estrarre i file di distribuzione prima del caricamento nel bucket.

Nota

Questo argomento di riferimento descrive l'azione di distribuzione di Amazon S3 per i CodePipeline casi in cui la piattaforma di distribuzione è un bucket Amazon S3 configurato per l'hosting. Per informazioni di riferimento sull'azione sorgente di Amazon S3 in, consulta. CodePipeline Riferimento all'azione sorgente di Amazon S3

Tipo di operazione

  • Categoria: Deploy

  • Proprietario: AWS

  • Provider: S3

  • Versione: 1

Parametri di configurazione

BucketName

Obbligatorio: sì

Il nome del bucket Amazon S3 in cui i file devono essere distribuiti.

Estratto

Obbligatorio: sì

Se impostato su true, specifica che i file devono essere estratti prima del caricamento. In caso contrario, i file dell'applicazione rimangono compressi per il caricamento, ad esempio nel caso di un sito Web statico ospitato. Se è false, allora ObjectKey è obbligatorio.

ObjectKey

Condizionale. Obbligatoria se Extract = false

Il nome della chiave oggetto Amazon S3 che identifica in modo univoco l'oggetto nel bucket S3.

KMSEncryptionKeyARN

Obbligatorio: no

L'ARN della chiave di AWS KMS crittografia per il bucket host. Il KMSEncryptionKeyARN parametro crittografa gli artefatti caricati con il codice fornito. AWS KMS key Per una chiave KMS, puoi utilizzare l'ID della chiave, la chiave ARN o l'alias ARN.

Nota

Gli alias vengono riconosciuti solo nell'account che ha creato la chiave KMS. Per le azioni tra account, puoi utilizzare solo l'ID della chiave o l'ARN chiave per identificare la chiave. Cross-account le azioni comportano l'utilizzo del ruolo dell'altro account (AccountB), quindi specificando l'ID della chiave verrà utilizzata la chiave dell'altro account (AccountB).

Importante

CodePipeline supporta solo chiavi KMS simmetriche. Non utilizzate una chiave KMS asimmetrica per crittografare i dati nel bucket S3.

CannedACL

Obbligatorio: no

Il CannedACL parametro applica l'ACL predefinito specificato agli oggetti distribuiti su Amazon S3. Tale applicazione sovrascrive l'ACL esistente applicata all'oggetto.

CacheControl

Obbligatorio: no

Il CacheControl parametro controlla il comportamento di memorizzazione nella cache requests/responses per gli oggetti nel bucket. Per un elenco dei valori validi, vedi il campo di intestazione Cache-Control per le operazioni HTTP. Per inserire più valori in CacheControl, utilizzare una virgola tra ogni valore. Puoi aggiungere uno spazio dopo ogni virgola (facoltativo), come mostrato in questo esempio per l'interfaccia a riga di comando:

"CacheControl": "public, max-age=0, no-transform"

Input artifact (Artefatti di input)

  • Numero di artefatti: 1

  • Descrizione: i file per la distribuzione o l'archiviazione vengono ottenuti dal repository di origine, compressi e caricati da. CodePipeline

Artefatti di output

  • Numero di artefatti: 0

  • Descrizione: gli artefatti di output non si applicano a questo tipo di azione.

Autorizzazioni per i ruoli di servizio: azione di distribuzione S3

Per il supporto delle azioni di distribuzione S3, aggiungi quanto segue alla tua dichiarazione politica:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectVersionAcl", "s3:GetBucketVersioning", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::[[s3DeployBuckets]]", "arn:aws:s3:::[[s3DeployBuckets]]/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "111122223333" } } } ] }

Per il supporto delle azioni di distribuzione S3, se gli oggetti S3 sono dotati di tag, devi anche aggiungere le seguenti autorizzazioni alla tua dichiarazione politica:

"s3:GetObjectTagging", "s3:GetObjectVersionTagging", "s3:PutObjectTagging"

Esempio di configurazione dell'operazione

Di seguito sono riportati alcuni esempi per la configurazione delle azioni.

Esempio di configurazione quando Extract è impostato su false

L'esempio seguente mostra la configurazione predefinita dell'azione quando l'azione viene creata con il Extract campo impostato sufalse.

YAML
Name: Deploy Actions: - Name: Deploy ActionTypeId: Category: Deploy Owner: AWS Provider: S3 Version: '1' RunOrder: 1 Configuration: BucketName: website-bucket Extract: 'false' ObjectKey: MyWebsite OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2 Namespace: DeployVariables
JSON
{ "Name": "Deploy", "Actions": [ { "Name": "Deploy", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "S3", "Version": "1" }, "RunOrder": 1, "Configuration": { "BucketName": "website-bucket", "Extract": "false", "ObjectKey": "MyWebsite" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2", "Namespace": "DeployVariables" } ] },

Esempio di configurazione quando Extract è impostato su true

L'esempio seguente mostra la configurazione predefinita dell'azione quando l'azione viene creata con il Extract campo impostato sutrue.

YAML
Name: Deploy Actions: - Name: Deploy ActionTypeId: Category: Deploy Owner: AWS Provider: S3 Version: '1' RunOrder: 1 Configuration: BucketName: website-bucket Extract: 'true' OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2 Namespace: DeployVariables
JSON
{ "Name": "Deploy", "Actions": [ { "Name": "Deploy", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "S3", "Version": "1" }, "RunOrder": 1, "Configuration": { "BucketName": "website-bucket", "Extract": "true" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2", "Namespace": "DeployVariables" } ] },

Le risorse correlate seguenti possono essere utili durante l'utilizzo di questa operazione.

  • Tutorial: crea una pipeline che utilizzi Amazon S3 come provider di distribuzione— Questo tutorial illustra due esempi per la creazione di una pipeline con un'azione di distribuzione S3. È possibile scaricare file di esempio, caricare i file nel CodeCommit repository, creare il bucket S3 e configurare il bucket per l'hosting. Successivamente, utilizzi la CodePipeline console per creare la pipeline e specificare una configurazione di distribuzione di Amazon S3.

  • Riferimento all'azione sorgente di Amazon S3— Questo riferimento alle azioni fornisce informazioni di riferimento ed esempi per le azioni di origine di Amazon S3 in. CodePipeline