Configurazione dell'SDK AWS Mobile per.NET e Xamarin - AWS Mobile SDK

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

Configurazione dell'SDK AWS Mobile per.NET e Xamarin

Puoi configurare AWS Mobile SDK for .NET and Xamarin e iniziare a creare un nuovo progetto oppure integrare l'SDK con un progetto esistente. È inoltre possibile clonare ed eseguire il filecampioniper avere un'idea di come funziona l'SDK. Segui questi passaggi per configurare e iniziare a utilizzare l'SDK AWS Mobile per.NET e Xamarin.

Prerequisiti

Per poter utilizzare l'SDK AWS Mobile per.NET e Xamarin, devi eseguire le seguenti operazioni:

Dopo aver completato i prerequisiti:

  1. Ottieni credenziali AWS utilizzando Amazon Cognito.

  2. Imposta le autorizzazioni richieste per ogni servizio AWS che utilizzerai nella tua applicazione.

  3. Crea un nuovo progetto nel tuo IDE.

  4. Installare l'SDK AWS Mobile per.NET e Xamarin.

  5. Configurazione dell'SDK AWS Mobile per.NET e Xamarin.

Fase 1: Ottieni le credenziali AWS

Per effettuare chiamate ad AWS nella tua applicazione, devi prima ottenere le credenziali AWS. Puoi farlo utilizzando Amazon Cognito, un servizio AWS che consente alla tua applicazione di accedere ai servizi nell'SDK senza dover incorporare le credenziali AWS private nell'applicazione.

Per iniziare a utilizzare Amazon Cognito, devi creare un pool di identità. Un pool di identità è un archivio di informazioni specifico per il tuo account ed è identificato da un ID univoco del pool di identità simile al seguente. :

"us-east-1:00000000-0000-0000-0000-000000000000"
  1. Accedi alConsole Amazon Cognito, scegliGestisci le identità federate die quindi scegliereCrea un nuovo pool di identità di.

  2. Inserisci un nome per il pool di identità e seleziona la casella di controllo per abilitare l'accesso alle identità non autenticate. ScegliereCrea poolper creare il pool di identità.

  3. ScegliereAbilitaper creare i due ruoli predefiniti associati al pool di identità, uno per gli utenti non autenticati e uno per gli utenti autenticati. Questi ruoli predefiniti forniscono a Amazon Cognito Sync e Amazon Mobile Analytics l'accesso al pool di identità.

In genere, si utilizza un solo pool di identità per applicazione.

Una volta creato il pool di identità, ottieni le credenziali AWS creando unCognitoAWSCredentialsobject (passando il tuo ID del pool di identità) e quindi passandolo al costruttore di un client AWS come segue. :

CognitoAWSCredentials credentials = new CognitoAWSCredentials ( "us-east-1:00000000-0000-0000-0000-000000000000", // Your identity pool ID RegionEndpoint.USEast1 // Region ); // Example for |MA| analyticsManager = MobileAnalyticsManager.GetOrCreateInstance( credentials, RegionEndpoint.USEast1, // Region APP_ID // app id );

Fase 2: Impostazione delle autorizzazioni

Devi impostare le autorizzazioni per ogni servizio AWS da utilizzare nell'applicazione. Innanzitutto, devi capire come AWS visualizza gli utenti della tua applicazione.

Quando qualcuno utilizza la tua applicazione e effettua chiamate ad AWS, AWS assegna all'utente un'identità. Il pool di identità creato nel passaggio 1 è il punto in cui AWS memorizza queste identità. Esistono due tipi di identità: autenticata e non autenticata. Le identità autenticate appartengono agli utenti autenticati da un provider di accesso pubblico (ad esempio Facebook, Amazon, Google). Le identità non autenticate appartengono a utenti guest.

Ogni identità è associata a unAWS Identity and Access ManagementRuolo . Nel passaggio 1 sono stati creati due ruoli IAM, uno per gli utenti autenticati e uno per gli utenti non autenticati. A ogni ruolo IAM sono associate una o più policy che specificano a quali servizi AWS le identità assegnate a quel ruolo possono accedere. Ad esempio, la seguente policy di esempio concede l'accesso a un bucket Amazon S3. :

{ "Statement": [ { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::MYBUCKETNAME/*", "Principal": "*" } ] }

Per impostare le autorizzazioni per i servizi AWS che si desidera utilizzare nell'applicazione, modificare la policy associata ai ruoli.

  1. Passa aIAM Console e scegli Ruoli. Digitare il nome del pool di identità nella casella di ricerca. Scegliere il ruolo IAM che si desidera configurare. Se l'applicazione consente utenti autenticati e non autenticati, è necessario concedere le autorizzazioni per entrambi i ruoli.

  2. Fare clic suCollegamento della policy, seleziona la policy desiderata, quindi fai clic suCollegamento della policy. Le politiche predefinite per i ruoli IAM creati forniscono l'accesso ad Amazon Cognito Sync e Mobile Analytics.

Per ulteriori informazioni sulla creazione di policy o per scegliere tra un elenco di policy esistenti, consultaPolicy IAM.

Fase 3: Creazione di un nuovo progetto

Windows

È possibile utilizzare Visual Studio per sviluppare l'applicazione.

OS X

È possibile utilizzare Visual Studio per sviluppare le applicazioni. Lo sviluppo iOS con Xamarin richiede l'accesso a un Mac per eseguire l'app. Per ulteriori informazioni, consultaInstallazione di Xamarin.iOS su Windows.

Nota

L'IDE commerciale multipiattaformaCavalieredaJetBrainsinclude il supporto Xamarin su piattaforme Windows e Mac.

Fase 4: Installare l'SDK AWS Mobile per.NET e Xamarin

Windows

Opzione 1: Installare utilizzando la Console di Gestione pacchetti

L'SDK AWS Mobile per .NET e Xamarin è costituito da un set di assembly .NET. Per installare AWS Mobile SDK for .NET and Xamarin, esegui il comando install-package per ciascun pacchetto nella console di Package Manager. Ad esempio, per installare Cognito Identity, eseguire quanto segue. :

Install-Package AWSSDK.CognitoIdentity

I pacchetti AWS Core Runtime e Amazon Cognito Identity sono necessari per tutti i progetti. Di seguito è riportato un elenco completo dei nomi di pacchetti per ciascun servizio.

Servizio Package name (Nome pacchetto)

Runtime AWS Core

AWSSDK.Core

Amazon Cognito Sync

AWSSDK.CognitoSync

Amazon Cognito Identity

AWSSDK.CognitoIdentity

Amazon DynamoDB

AWSSDK.dynamoDBv2

Amazon Mobile Analytics

AWSSDK.MobileAnalytics

Amazon S3

AWSSDK.S3

Amazon SNS

AWSSDK.SimpleNotificationService (Servizio)

Per includere un pacchetto prerelease, includi-Preargomento della riga di comando durante l'installazione del pacchetto come segue. :

Install-Package AWSSDK.CognitoSync -Pre

È possibile trovare un elenco completo dei pacchetti di servizi AWS all'indirizzoConfigurazione dei pacchetti AWS SDK suNuGeto alSDK AWS per .NETGitHubRepository.

Opzione 2: Installa utilizzando il tuo IDE

In Visual Studio

  1. Fare clic sul progetto, quindi fare clic suManage (Gestione)NuGetPacchetti.

  2. Cerca il nome del pacchetto che vuoi aggiungere al tuo progetto. Per includere il preleasingNuGetpacchetti, scegliPreleasing di inclusione. È possibile trovare un elenco completo dei pacchetti di servizi AWS all'indirizzoConfigurazione dei pacchetti AWS SDK suNuGet.

  3. Scegliere il pacchetto e quindi scegliere Install (Installa).

Mac (OS X)

In Visual Studio

  1. Fai clic con il pulsante destro del mouse sulla cartella pacchetti, quindiAggiungi pacchetti.

  2. Cerca il nome del pacchetto che vuoi aggiungere al tuo progetto. Per includere il preleasingNuGetpacchetti, scegliMostra pacchetti pre-release. È possibile trovare un elenco completo dei pacchetti di servizi AWS all'indirizzoConfigurazione dei pacchetti AWS SDK suNuGet.

  3. Seleziona la casella di controllo accanto al pacchetto desiderato, quindi scegliAggiungi pacchetto.

Importante

Se stai sviluppando utilizzando una libreria di classi portatili, devi aggiungere anche laAWSSDK.CoreNuGetpacchetto per tutti i progetti derivanti dalla Portable Class Library.

Fase 5: Configurazione dell'SDK AWS Mobile per.NET e Xamarin

Imposta la registrazione

È possibile impostare le impostazioni di registrazione utilizzando ilAmazon.AWSConfigsclasse eAmazon.Util.LoggingConfigclasse. Sono disponibili nella sezioneAWSSdk.Coreassembly, disponibile tramite il gestore di pacchetti Nuget in Visual Studio. È possibile inserire il codice delle impostazioni di registrazione nelOnCreatemetodo nelMainActivity.csfile per app Android oAppDelegate.csfile per app iOS. Ti consigliamo inoltre di aggiungereusing Amazoneusing Amazon.Utilistruzioni per i file.cs.

Configurare le impostazioni di registrazione come indicato di seguito. :

var loggingConfig = AWSConfigs.LoggingConfig; loggingConfig.LogMetrics = true; loggingConfig.LogResponses = ResponseLoggingOption.Always; loggingConfig.LogMetricsFormat = LogMetricsFormatOption.JSON; loggingConfig.LogTo = LoggingOptions.SystemDiagnostics;

Quando accedi aSystemDiagnostics, il framework stampa internamente l'output su System.Console. Se si desidera registrare le risposte HTTP, impostare ilLogResponsesbandiera. I valori possono essere Sempre, Mai oOnError.

È inoltre possibile registrare le metriche delle prestazioni per le richieste HTTP utilizzando ilLogMetricsproprietà. Il formato di log può essere specificato utilizzandoLogMetricsFormatproprietà. I valori validi sono JSON o standard.

Impostazione dell'endpoint della regione

Configurazione dell'area predefinita per tutti i client di servizio come segue. :

AWSConfigs.AWSRegion="us-east-1";

Imposta l'area predefinita per tutti i client di servizio nell'SDK. È possibile ignorare questa impostazione specificando esplicitamente la regione al momento della creazione di un'istanza del client di servizio, come indicato di seguito. :

IAmazonS3 s3Client = new AmazonS3Client(credentials,RegionEndpoint.USEast1);

Configurazione delle impostazioni proxy HTTP

Se la rete è dietro un proxy, è possibile configurare le impostazioni proxy per le richieste HTTP come indicato di seguito.

var proxyConfig = AWSConfigs.ProxyConfig; proxyConfig.Host = "localhost"; proxyConfig.Port = 80; proxyConfig.Username = "<username>"; proxyConfig.Password = "<password>";

Corretto per l'inclinazione dell'ora

Questa proprietà determina se l'SDK deve correggere l'inclinazione dell'orologio client determinando l'ora corretta del server e riemettendo la richiesta con l'ora corretta.

AWSConfigs.CorrectForClockSkew = true;

Questo campo viene impostato se una chiamata di servizio ha generato un'eccezione e l'SDK ha determinato che esiste una differenza tra l'ora locale e il server.

var offset = AWSConfigs.ClockOffset;

Per ulteriori informazioni su clock skew, consultaCorrezione dell'inclinazione dell'orologiosul Blog AWS.

Fasi successive

Ora che hai configurato l'SDK AWS Mobile per.NET e Xamarin, puoi:

  • Nozioni di base su. LeggiNozioni di base su AWS SDK for .NET and Xamarinper istruzioni di avvio rapido su come utilizzare e configurare i servizi nell'SDK AWS Mobile per .NET e Xamarin.

  • Esplora gli argomenti del servizio. Scopri di più su ogni servizio e come funziona nell'SDK AWS Mobile per.NET e Xamarin.

  • Eseguire le demo. Visualizza il nostroApplicazioni Xamarin di esempioche dimostrano casi d'uso comuni. Per eseguire le app di esempio, configurare AWS Mobile SDK for .NET and Xamarin come descritto in precedenza, quindi seguire le istruzioni contenute nei file README dei singoli campioni.

  • Scopri le API. Visualizzare il|sdk-xamarin-ref|_.

  • Fai domande: Pubblica domande sulForum AWS Mobile SDKoapri un problema suGitHub.