Sviluppo con Amazon S3 utilizzando SDK AWS ed explorer - Amazon Simple Storage Service

Sviluppo con Amazon S3 utilizzando SDK AWS ed explorer

Per lo sviluppo di applicazioni con Amazon S3 è possibile utilizzare gli SDK AWS. Tali SDK AWS semplificano le attività di programmazione tramite il wrapping dell'API REST sottostante. Sono inoltre disponibili SDK AWS Mobile e la libreria JavaScript di AWS Amplify per la creazione di applicazioni mobili e Web connesse tramite AWS.

In questa sezione viene fornita una panoramica sull'utilizzo degli SDK AWS per lo sviluppo di applicazioni Amazon S3, nonché una descrizione di come testare gli esempi di codice SDK AWS forniti nella guida.

Oltre agli SDK AWS, sono disponibili soluzioni AWS Explorer per Visual Studio ed Eclipse per l'IDE Java. In questo caso, SDK ed explorer sono disponibili in bundle come AWS Toolkit.

Puoi anche utilizzare AWS Command Line Interface (AWS CLI) per gestire bucket e oggetti Amazon S3.

AWS Toolkit for Eclipse

La AWS Toolkit for Eclipse include le soluzioni AWS SDK for Java e AWS Explorer for Eclipse. L'AWS Explorer per Eclipse è un plugin open source per Eclipse per l'IDE Java che semplifica agli sviluppatori lo sviluppo, il debug e la distribuzione di applicazioni Java tramite AWS. L'intuitiva interfaccia grafica consente di accedere e gestire l'infrastruttura AWS, incluso Amazon S3. È possibile eseguire operazioni di routine come la gestione di bucket e oggetti o l'impostazione di policy IAM durante lo sviluppo delle applicazioni, tutto all'interno dell'IDE Eclipse per Java. Per istruzioni sull'impostazione, consulta Impostazione del Toolkit. Per esempi dell'utilizzo della soluzione Explorer, consulta Come accedere ad AWS Explorer.

AWS Toolkit for Visual Studio

AWS Explorer per Visual Studio è un'estensione per Microsoft Visual Studio che semplifica agli sviluppatori lo sviluppo, il debug e la distribuzione di applicazioni .NET tramite Amazon Web Services. L'intuitiva interfaccia grafica consente di accedere e gestire l'infrastruttura AWS, incluso Amazon S3. È possibile eseguire operazioni di routine come la gestione di bucket e oggetti o l'impostazione di policy IAM durante lo sviluppo delle applicazioni, tutto all'interno di Visual Studio. Per istruzioni sull'impostazione, consulta la sezione Impostazione di AWS Toolkit for Visual Studio. Per esempi dell'utilizzo di Amazon S3 con la soluzione Explorer, consulta Utilizzo di Amazon S3 da AWS Explorer.

AWSSDK

È possibile scaricare solo gli SDK. Per ulteriori informazioni sul download delle librerie SDK, consulta Librerie e codice di esempio.

AWS CLI

La AWS CLI è uno strumento unificato per la gestione dei servizi AWS, incluso Amazon S3. Per ulteriori informazioni sul download di AWS CLI, consulta AWS Command Line Interface.

Utilizzo del servizio con un SDK AWS

I Software Development Kit (SDK) di AWS sono disponibili per molti dei linguaggi di programmazione più diffusi. Ogni SDK fornisce un'API, esempi di codice, e documentazione che facilitano agli sviluppatori la creazione di applicazioni nel loro linguaggio preferito.

Esempio di disponibilità

Non riesci a trovare quello che ti serve? Richiedi un esempio di codice utilizzando il link Provide feedback (Fornisci un feedback) nella parte inferiore di questa pagina.

Specifica di Signature Version nell'autenticazione delle richieste

Amazon S3 supporta solo AWS Signature Version 4 nella maggior parte delle Regioni AWS. In alcune Regioni AWS precedentemente disponibili, Amazon S3 supporta sia Signature Version 4 che Signature Version 2. Comunque, Signature Version 2 sta per essere disattivato perché obsoleto. Per ulteriori informazioni sulla fine del supporto per Signature Version 2, consulta AWS Signature Version 2 disattivato (obsoleto) per Amazon S3.

Per un elenco di tutte le regioni Amazon S3 e delle versioni di firma supportate, consulta Regioni ed endpoint in Riferimenti generali AWS.

Per tutte le Regioni AWS, per l'autenticazione delle richieste gli SDK AWS utilizzano di default Signature Version 4. Se si utilizzano SDK AWS rilasciati prima di maggio 2016, potrebbe essere necessario richiedere Signature Version 4, come indicato nella tabella seguente.

SDK Richiesta di Signature Version 4 per autenticazione delle richieste
AWS CLI

Per il profilo di default, eseguire il comando indicato di seguito:

$ aws configure set default.s3.signature_version s3v4

Per un profilo personalizzato, eseguire il comando indicato di seguito:

$ aws configure set profile.your_profile_name.s3.signature_version s3v4
SDK Java

Aggiungere quanto segue al codice:

System.setProperty(SDKGlobalConfiguration.ENABLE_S3_SIGV4_SYSTEM_PROPERTY, "true");

In alternativa, specificare quanto segue nella riga di comando:

-Dcom.amazonaws.services.s3.enableV4
SDK JavaScript

Impostare il parametro signatureVersion su v4 durante la creazione del client:

var s3 = new AWS.S3({signatureVersion: 'v4'});
SDK PHP

Impostare il parametro signature su v4 durante la creazione del client del servizio Amazon S3 per l'SDK PHP v2:

<?php $client = S3Client::factory([ 'region' => 'YOUR-REGION', 'version' => 'latest', 'signature' => 'v4' ]);

Quando si usa l'SDK PHP v3, impostare il parametro signature_version su v4 durante la creazione del client del servizio Amazon S3:

<?php $s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'YOUR-REGION', 'signature_version' => 'v4' ]);
SDK Python-Boto

Specificare quanto segue nel file di configurazione boto di default:

[s3] use-sigv4 = True
SDK Ruby

SDK Ruby - Versione 1: impostare il parametro :s3_signature_version su :v4 durante la creazione del client:

s3 = AWS::S3::Client.new(:s3_signature_version => :v4)

SDK Ruby - Versione 3: impostare il parametro signature_version su v4 durante la creazione del client:

s3 = Aws::S3::Client.new(signature_version: 'v4')
SDK .NET

Aggiungere quanto segue al codice prima di creare il client Amazon S3:

AWSConfigsS3.UseSignatureVersion4 = true;

In alternativa, aggiungere quanto segue al file di configurazione:

<appSettings> <add key="AWS.S3.UseSignatureVersion4" value="true" /> </appSettings>

 

AWS Signature Version 2 disattivato (obsoleto) per Amazon S3

Signature Version 2 sta per essere disattivato perché obsoleto in Amazon S3. In seguito, Amazon S3 accetterà solo richieste API firmate con Signature Version 4.

Questa sezione fornisce le risposte alle domande più frequenti sulla fine del supporto di Signature Version 2.

Che cos'è Signature Version 2/4 e cosa significa "firmare una richiesta"?

Il processo di firma Signature Version 2 o Signature Version 4 viene utilizzato per autenticare le richieste API Amazon S3. La firma delle richieste consente ad Amazon S3 di identificare il mittente della richiesta e protegge le richieste dalle azioni di utenti malintenzionati.

Per ulteriori informazioni sulla firma delle richieste AWS, consulta Firma di richieste API AWS in Riferimenti generali AWS.

Quali aggiornamenti vengono introdotti?

Attualmente, sono supportate le richieste API Amazon S3 firmate con i processi Signature Version 2 e Signature Version 4. In seguito, Amazon S3 accetterà solo le richieste firmate con Signature Version 4.

Per ulteriori informazioni sulla firma delle richieste AWS, consulta Modifiche in Signature Version 4 in Riferimenti generali AWS.

Perché è stato rilasciato questo aggiornamento?

Signature Version 4 fornisce una maggiore sicurezza perché utilizza una chiave di firma invece della chiave di accesso segreta. Signature Version 4 è attualmente supportato in tutte le Regioni AWS, mentre Signature Version 2 è supportato solo nelle regioni create dopo gennaio 2014. Questo aggiornamento consente di offrire un'esperienza più uniforme in tutte le regioni.

Come posso verificare di stare utilizzando Signature Version 4 e di quali aggiornamenti ho bisogno?

La versione della firma utilizzata per firmare le richieste viene generalmente impostata dallo strumento o dall'SDK sul lato client. Per impostazione predefinita, le ultime versioni degli SDK AWS utilizzano Signature Version 4. Per i software di terza parte, contatta il team di supporto specifico per il tuo software per verificare la versione richiesta. Se stai inviando chiamate REST ad Amazon S3, devi modificare l'applicazione per utilizzare il processo di firma Signature Version 4.

Per informazioni sulla versione degli SDK AWS da utilizzare quando passi a Signature Version 4, consulta Passaggio da Signature Version 2 a Signature Version 4.

Per ulteriori informazioni sull'uso di Signature Version 4 con l'API REST di Amazon S3, consulta Autenticazione delle richieste (AWS Signature Version 4) nella Documentazione di riferimento delle API di Amazon Simple Storage Service.

Cosa succede se non eseguo gli aggiornamenti?

Le richieste firmate con Signature Version 2 effettuate successivamente non verranno autenticate con Amazon S3. I richiedenti visualizzeranno degli errori che indicano che la richiesta deve essere firmata con Signature Version 4.

Devo apportare queste modifiche anche se sto utilizzando un URL prefirmato che richiede la firma per un periodo superiore a 7 giorni?

Se utilizzi un URL prefirmato che richiede la firma per un periodo superiore a 7 giorni, non è necessaria alcuna operazione. Puoi continuare a utilizzare AWS Signature Version 2 per firmare e autenticare l'URL prefirmato. Più avanti forniremo ulteriori informazioni su come eseguire la migrazione a Signature Version 4 in uno scenario di URL prefirmato.

Ulteriori informazioni

Passaggio da Signature Version 2 a Signature Version 4

Se al momento utilizzi Signature Version 2 per l'autenticazione delle richieste API Amazon S3, devi passare a Signature Version 4. Il supporto per Signature Version 2 sta per terminare, come descritto in AWS Signature Version 2 disattivato (obsoleto) per Amazon S3.

Per ulteriori informazioni sull'uso di Signature Version 4 con l'API REST di Amazon S3, consulta Autenticazione delle richieste (AWS Signature Version 4) nella Documentazione di riferimento delle API di Amazon Simple Storage Service.

La tabella seguente elenca gli SDK con la versione minima necessaria per utilizzare Signature Version 4 (SigV4). Se utilizzi gli URL prefirmati con gli SDK AWS per Java, JavaScript (Node.js) o Python (Boto/CLI), è necessario selezionare la Regione AWS corretta e impostare Signature Version 4 nella configurazione del client. Per informazioni sull'impostazione di SigV4 nella configurazione del client, consulta Specifica di Signature Version nell'autenticazione delle richieste.

Se utilizzi questo SDK/prodotto Esegui l'aggiornamento a questa versione dell'SDK La modifica del codice nel client è necessaria per utilizzare Sigv4? Collegamento alla documentazione sugli SDK

AWS SDK for Java v1

Aggiornamento a Java 1.11.201+ o v2 nel T4 2018. Specifica di Signature Version nell'autenticazione delle richieste

AWS SDK for Java v2 (anteprima)

Non è necessario l'aggiornamento dell'SDK. No AWS SDK for Java

AWS SDK for .NET v1

Aggiornamento alla versione 3.1.10 o successiva. AWS SDK for .NET

AWS SDK for .NET v2

Aggiornamento alla versione 3.1.10 o successiva. No AWS SDK for .NET v2

AWS SDK for .NET v3

Aggiornamento alla versione 3.3.0.0 o successiva. AWS SDK for .NET v3

AWS SDK for JavaScript v1

Aggiornamento alla versione 2.68.0 o successiva. AWS SDK for JavaScript

AWS SDK for JavaScript v2

Aggiornamento alla versione 2.68.0 o successiva. AWS SDK for JavaScript

AWS SDK for JavaScript v3

Al momento, non è richiesta alcuna operazione. Aggiornamento alla versione principale V3 nel T3 2019. No AWS SDK for JavaScript

AWS SDK for PHP v1

Consigliato l'aggiornamento alla versione più recente di PHP o almeno alla v2.7.4 con il parametro di firma impostato su v4 nella configurazione del client S3. AWS SDK for PHP

AWS SDK for PHP v2

Consigliato l'aggiornamento alla versione più recente di PHP o almeno alla v2.7.4 con il parametro di firma impostato su v4 nella configurazione del client S3. No AWS SDK for PHP

AWS SDK for PHP v3

Non è necessario l'aggiornamento dell'SDK. No AWS SDK for PHP

Boto2

Aggiornamento a Boto2 v2.49.0. Aggiornamento a Boto 2

Boto3

Aggiornamento alla versione 1.5.71 (Botocore), 1.4.6 (Boto3). Boto 3 - SDK AWS per Python

AWS CLI

Aggiornamento alla versione 1.11.108. AWS Command Line Interface

AWS CLI v2 (anteprima)

Non è necessario l'aggiornamento dell'SDK. No AWS Command Line Interface versione 2

AWS SDK for Ruby v1

Aggiornamento a Ruby V3. Ruby V3 per AWS

AWS SDK for Ruby v2

Aggiornamento a Ruby V3. Ruby V3 per AWS

AWS SDK for Ruby v3

Non è necessario l'aggiornamento dell'SDK. No Ruby V3 per AWS

Go

Non è necessario l'aggiornamento dell'SDK. No AWS SDK for Go

C++

Non è necessario l'aggiornamento dell'SDK. No AWS SDK for C++
AWS Tools for Windows PowerShell oppure AWS Tools for PowerShell Core

Se utilizzi versioni del modulo precedenti alla 3.3.0.0, devi eseguire l'aggiornamento alla versione 3.3.0.0.

Per ottenere informazioni sulla versione, utilizza il cmdlet Get-Module:

Get-Module –Name AWSPowershell Get-Module –Name AWSPowershell.NetCore

Per eseguire l'aggiornamento alla versione 3.3.0.0, utilizza il cmdlet Update-Module:

Update-Module –Name AWSPowershell Update-Module –Name AWSPowershell.NetCore

Puoi utilizzare gli URL prefirmati, validi per più di 7 giorni, su cui invierai il traffico di Signature Version 2.