L'SDKAWS Mobile per Xamarin è ora incluso inAWS SDK for .NET. Questa guida fa riferimento alla versione archiviata di Mobile SDK per Xamarin.
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à.
Amazon Simple Storage Service (S3)
Che cos'è S3?
Amazon Simple Storage Service (Amazon S3)
Amazon S3 fornisce storage di oggetti conveniente per un'ampia varietà di casi d'uso, tra cui applicazioni cloud, distribuzione di contenuti, backup e archiviazione, disaster recovery e analisi dei big data.
Per informazioni sulla disponibilità di AWS S3 Region, consultaDisponibilità di una regione AWS Service
Concetti chiave
Bucket
Ogni oggetto archiviato in Amazon S3 risiede in un bucket. I bucket consentono di raggruppare oggetti correlati nello stesso modo in cui si utilizza una directory per raggruppare i file in un file system. I bucket hanno proprietà, come le autorizzazioni di accesso e lo stato del controllo delle versioni, ed è possibile specificare l'area in cui si desidera che risiedano.
Per ulteriori informazioni su bucket S3, consultaUtilizzo dei bucketnella Guida per gli sviluppatori S3.
Oggetti
Gli oggetti sono dati archiviati in Amazon S3. Ogni oggetto risiede in un bucket creato in una regione AWS specifica.
Gli oggetti archiviati in una regione non la lasciano mai a meno che non vengano trasferiti esplicitamente in un'altra regione. Ad esempio, gli oggetti archiviati nella regione UE (Irlanda) non lasceranno mai tale regione. Gli oggetti archiviati in una regione Amazon S3 rimangono fisicamente in tale regione. Amazon S3 non conserva copie né esegue lo spostamento di tali copie in altre regioni. Sarà tuttavia possibile accedere agli oggetti da qualsiasi posizione, purché si disponga delle autorizzazioni necessarie.
Gli oggetti possono essere rappresentati da qualsiasi tipo di file: immagini, dati di backup, filmati e così via. La dimensione massima per un oggetto è di 5 TB. Un bucket può avere un numero illimitato di oggetti.
Prima di poter caricare un oggetto in Amazon S3, è necessario disporre delle autorizzazioni di scrittura in un bucket. Per ulteriori informazioni sull'impostazione delle autorizzazioni del bucket, consultaModifica delle autorizzazioni del bucketnella Guida per gli sviluppatori S3.
Per ulteriori informazioni sugli oggetti S3, consultaUtilizzo degli oggettinella Guida per gli sviluppatori S3.
Metadata degli oggetti
Ciascun oggetto in Amazon S3 dispone di un set di coppie chiave-valore che ne rappresenta i metadati. Esistono due tipi di metadata:
-
Metadati di sistema— Talvolta elaborato da Amazon S3, ad esempio Content-Type e Content-Length.
-
Metadati utente— Non elaborato mai da Amazon S3. I metadata degli utenti vengono archiviati e restituiti con l'oggetto. La dimensione massima dei metadata degli utenti è di 2 KB. Sia le chiavi, sia i relativi valori devono inoltre essere conformi agli standard US-ASCII.
Per ulteriori informazioni sui metadati dell'oggetto S3, consultaModifica dei metadata dell'oggetto.
Configurazione progetto
Prerequisiti
Per utilizzare Amazon S3 nella tua applicazione, devi aggiungere l'SDK al tuo progetto. A tale scopo, segui le istruzioni riportate inConfigurazione dell'SDK AWS Mobile per.NET e Xamarin.
Creare un bucket S3
Amazon S3 memorizza le risorse della tua applicazione nei bucket Amazon S3, ovvero contenitori di storage cloud che vivono in uno specificoregione. Ciascun bucket Amazon S3 deve avere un nome univoco globale. Puoi utilizzare il pluginConsole Amazon S3
-
Accedi allaConsole Amazon S3
e fai clic suCrea bucket. -
Immettere un nome bucket, selezionare una regione e fare clic suCreate.
Impostazione delle autorizzazioni per S3
La policy del ruolo IAM predefinita concede alla tua applicazione l'accesso ad Amazon Mobile Analytics e Amazon Cognito Sync. Affinché il pool di identità Cognito acceda ad Amazon S3, devi modificare i ruoli del pool di identità.
-
Passa allaConsole di Identity and Access Management
e fai clic suRuolinel riquadro sinistro. -
Digitare il nome del pool di identità nella casella di ricerca. Vengono elencati due ruoli, relativi, rispettivamente, agli utenti autenticati e non.
-
Fare clic sul ruolo degli utenti non autenticati (verrà aggiunto non autenticato al nome del pool di identità).
-
Fare clic suCreazione di policy di ruolo, selezionaGeneratore di policye quindi fai clic suSeleziona.
-
SulModifica delle autorizzazioni(ARN), inserisci le impostazioni mostrate nella seguente immagine, sostituendo l'Amazon Resource Name (ARN) con il tuo. L'ARN di un bucket S3 sembra
arn:aws:s3:::examplebucket/*
ed è composto dalla regione in cui si trova il bucket e dal nome del bucket. Le impostazioni mostrate di seguito daranno al tuo pool di identità pieno l'accesso a tutte le azioni per il bucket specificato.
-
Fai clic sull'icona della barra degli strumentiAggiungi istruzionepulsante e poi fai clicFase successiva.
-
La procedura guidata mostrerà la configurazione generata. Fare clic suApplica policy.
Per ulteriori informazioni sulla concessione dell'accesso a S3, consultaConcessione dell'accesso a un bucket Amazon S3
(facoltativo) Configurare la versione Signature per le richieste S3
Ogni interazione con Amazon S3 è autenticata o anonima. AWS utilizza gli algoritmi Signature Version 4 o Signature Version 2 per autenticare le chiamate al servizio.
Tutte le nuove regioni AWS create dopo gennaio 2014 supportano solo Signature Version 4. Tuttavia, molte regioni precedenti supportano ancora le richieste Signature Version 4 e Signature Version 2.
Se il bucket si trova in una delle regioni che non supportano le richieste Signature Version 2 come elencato suquesta pagina, devi impostareAWSConfigsS3.UseSignatureproprietà Version4 su «true» in questo modo:
AWSConfigsS3.UseSignatureVersion4 = true;
Per ulteriori informazioni sulle versioni di AWS Signature, consultaAutenticazione delle richieste (AWS Signature Version 4).
Integrazione di S3 con l'applicazione
Sono disponibili due modi per interagire con S3 nella tua applicazione Xamarin. I due metodi sono approfonditi nei seguenti argomenti: