{coding}Sight

Introduzione

Amazon Web Service, noto anche come AWS, è un fornitore leader di infrastrutture cloud per l’archiviazione di server, applicazioni, database, reti, controller di dominio e active directory in un’architettura cloud diffusa. AWS fornisce un servizio di archiviazione semplice (S3) per la memorizzazione di oggetti o dati con (119) di durata dei dati. AWS S3 è conforme a PCI-DSS, HIPAA / HITECH, FedRAMP, direttiva UE sulla protezione dei dati e FISMA che aiuta a soddisfare i requisiti normativi.

Quando accedi al portale AWS, vai al bucket S3, scegli il bucket desiderato e scarica o carica i file. Farlo manualmente sul portale è un compito che richiede molto tempo. Invece, è possibile utilizzare l’interfaccia a riga di comando AWS (CLI) che funziona meglio per le operazioni di file di massa con script facili da usare. È possibile pianificare l’esecuzione di questi script per il download/upload di un oggetto non presidiato.

Configura AWS CLI

Scarica AWS CLI e installa AWS Command Line Interface V2 su sistemi operativi Windows, macOS o Linux.

Configurazione AWS CLI

È possibile seguire la procedura guidata di installazione per una configurazione rapida.

Creare un utente I

Per accedere al bucket AWS S3 utilizzando l’interfaccia a riga di comando, è necessario impostare un utente AWS. Nel portale AWS, accedere a Identity and Access Management (Identity) e fare clic su Aggiungi utente.

impostazione di un utente I

Nella pagina Aggiungi utente, immettere il nome utente e il tipo di accesso come accesso programmatico.

Accesso programmatico

Successivamente, forniamo le autorizzazioni all’utente I utilizzando le politiche esistenti. Per questo articolo, abbiamo scelto tra le policy gestite AWS.

fornire le autorizzazioni all'utente I utilizzando i criteri esistenti

Rivedere la configurazione utente I e fare clic su Crea utente.

Rivedere la configurazione utente I e fare clic su Crea utente

Una volta creato l’utente AWS AWS, fornisce l’ID della chiave di accesso e la chiave di accesso segreta per connettersi utilizzando la CLI AWS.

Nota: È necessario copiare e salvare queste credenziali. AWS non consente di recuperarli in una fase successiva.

Utente created creato con successo.

Configurare AWS Profile sul computer

Per lavorare con AWS CLI sulle risorse di Amazon web Service, avviare PowerShell ed eseguire il seguente comando.

>aws configure

Richiede i seguenti input dell’utente:

  • IAM user ID della Chiave di Accesso
  • AWS chiave di Accesso Segreta
  • Default AWS regione-nome
  • formato di output Predefinito
AWS Configurazione del Profilo

Creare S3 Secchio Utilizzando AWS CLI

Per memorizzare i file o oggetti, abbiamo bisogno di un S3 secchio. Possiamo crearlo utilizzando sia il portale AWS che AWS CLI.

Il seguente comando CLI crea un bucket denominato nella regione us-east-1. La query restituisce il nome del bucket nell’output, come mostrato di seguito.

>aws s3api create-bucket --bucket mys3bucket-testupload1 --region us-east-1
Crea bucket S3 usando AWS CLI

È possibile verificare il bucket s3 appena creato utilizzando la console AWS. Come mostrato di seguito, il viene caricato negli Stati Uniti Est (N. Virginia).

verificare la nuova s3 secchio utilizzando la console AWS

elenco esistente S3 secchio utilizzando AWS CLI, eseguire il comando aws s3 ls

elenco esistente S3 secchio utilizzando AWS CLI

Il caricamento di Oggetti in S3 Secchio Utilizzando AWS CLI

Possiamo caricare un singolo file o più file insieme nel secchio AWS S3 utilizzando il AWS comando CLI. Supponiamo di avere un singolo file da caricare. Il file viene memorizzato localmente nel C:\S3Files con il nome script1.txt.

Per caricare il singolo file, utilizzare il seguente script CLI.

>aws s3 cp C:\S3Files\Script1.txt s3://mys3bucket-testupload1/

Carica il file e restituisce i percorsi del file di origine-destinazione nell’output:

Caricamento di oggetti nel bucket S3 utilizzando AWS CLI

Nota: il tempo di caricamento sul bucket S3 dipende dalle dimensioni del file e dalla larghezza di banda della rete. Per lo scopo demo, ho usato un piccolo file di pochi KBs.

È possibile aggiornare il bucket s3 e visualizzare il file memorizzato in esso.

aggiorna il bucket s3

Allo stesso modo, possiamo usare lo stesso script CLI con una leggera modifica. Carica tutti i file dall’origine al bucket S3 di destinazione. Qui, usiamo il parametro-ricorsivo per caricare più file insieme:

>aws s3 cp c:\s3files s3://mys3bucket-testupload1/ --recursive

Come mostrato di seguito, carica tutti i file memorizzati all’interno della directory locale c:\S3Files al secchio S3. Si ottiene lo stato di avanzamento di ogni caricamento nella console.

 avanzamento di ogni caricamento

Possiamo vedere tutti i file caricati utilizzando parametri ricorsivi nel bucket S3 nella figura seguente:

tutti i file caricati

Se non si desidera accedere al portale AWS per verificare l’elenco caricato, eseguire lo script CLI, restituire tutti i file e caricare i timestamp.

>aws s3 ls s3://mys3bucket-testupload1
eseguire lo script CLI, restituire tutti i file e caricare i timestamp.

Supponiamo di voler caricare solo file con un’estensione specifica nella cartella separata di AWS S3. È possibile eseguire il filtraggio degli oggetti utilizzando anche lo script CLI. A tale scopo, lo script utilizza le parole chiave include ed exclude.

Ad esempio, la query seguente controlla i file nella directory di origine (c:\s3bucket), filtra i file con .estensione sql, e li carica in SQL / cartella del bucket S3. Qui, abbiamo specificato l’estensione utilizzando la parola chiave include:

>aws s3 cp C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.sql

Nell’output dello script, è possibile verificare che i file con il .sono state caricate solo le estensioni sql.

verificare che i file con il .sono state caricate solo le estensioni sql
verificare che i file con il .sono state caricate solo le estensioni sql

Allo stesso modo, lo script sotto carica i file con il .estensione csv nel bucket S3.

>aws s3 cp C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.csv
 script carica i file con il .estensione csv nel bucket S3

Carica file nuovi o modificati dalla cartella di origine al bucket S3

Supponiamo di utilizzare un bucket S3 per spostare i backup del registro delle transazioni del database.

A questo scopo, usiamo la parola chiave sync. Copia ricorsivamente nuovi file modificati dalla directory di origine al bucket s3 di destinazione.

>aws s3 sync C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.sql

Come mostrato di seguito, ha caricato un file che era assente nel bucket s3. Allo stesso modo, se si modifica un file esistente nella cartella di origine, lo script CLI lo selezionerà e lo caricherà nel bucket S3.

Carica file nuovi o modificati dalla cartella di origine al bucket S3
Carica file nuovi o modificati dalla cartella di origine al bucket S3

Sommario

Lo script AWS CLI può semplificare il lavoro per l’archiviazione dei file nel bucket S3. È possibile utilizzarlo per caricare o sincronizzare i file tra le cartelle locali e il bucket S3. È un modo rapido per distribuire e lavorare con gli oggetti nel cloud AWS.

Tag: AWS, aws cli, aws s3, cloud platform Ultima modifica: 16 settembre 2021

Leave a Reply