-EinrichtungAWS Mobile SDK for .NET and Xamarin - AWS SDK für Mobilgeräte

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

-EinrichtungAWS Mobile SDK for .NET and Xamarin

Sie können AWS Mobile SDK for .NET and Xamarin einrichten und mit der Erstellung eines neuen Projekts beginnen oder das SDK in ein vorhandenes Projekt integrieren. Sie können die Beispiele auch klonen und ausführen, um eine Vorstellung davon zu erhalten, wie das SDK funktioniert. Befolgen Sie diese Schritte, um einzurichten und zu verwenden.AWS Mobile SDK for .NET and Xamarin.

Prerequisites

Vor Verwendung von AWS Mobile SDK for .NET and Xamarin müssen Sie die folgenden Arbeiten durchführen:

Sobald die Voraussetzungen erfüllt sind:

  1. Rufen Sie AWS-Anmeldeinformationen mit ab.Amazon Cognito.

  2. Legen Sie die erforderlichen Berechtigungen für jeden in der App verwendeten AWS-Service fest.

  3. Erstellen Sie in der IDE ein neues Projekt.

  4. Installieren des AWS Mobile SDK for .NET and Xamarin.

  5. Konfigurieren der AWS Mobile SDK for .NET and Xamarin.

Schritt 1: Abrufen von AWS-Anmeldeinformationen

Um in der App AWS aufrufen zu können, müssen Sie zunächst AWS-Anmeldeinformationen abrufen. Hierzu wird Amazon Cognito verwendet, ein AWS-Service, mit dem die Anwendung auf die Services im SDK zugreifen kann, ohne private AWS-Anmeldeinformationen in die Anwendung einzubetten.

Um Amazon Cognito nutzen zu können, müssen Sie einen Identitäten-Pool erstellen. Ein Identitäten-Pool ist ein Speicher für kontenspezifische Daten. Er wird mittels einer eindeutigen Identitäten-Pool-ID identifiziert, die folgendermaßen aufgebaut ist.

"us-east-1:00000000-0000-0000-0000-000000000000"
  1. Melden Sie sich bei der Amazon Cognito-Konsole an, wählen Sie Verbundidentitäten verwalten und wählen Sie anschließend Create new identity pool (Neuen Identitätenpool erstellen).

  2. Geben Sie einen Namen für den Identitäten-Pool ein und aktivieren Sie das Kontrollkästchen, um den Zugriff für nicht authentifizierte Identitäten zu aktivieren. Wählen Sie Create Pool (Pool erstellen) aus, um Ihren Identitäten-Pool zu erstellen.

  3. Wählen Sie Allow (Zulassen) aus, um die zwei Ihrem Identitäten-Pool zugeordneten Standardrollen zu erstellen: eine für nicht authentifizierte Benutzer und eine für authentifizierte Benutzer. Diese Standardrollen ermöglichen dem Identitäten-Pool Zugriff auf Amazon Cognito Sync und Amazon Mobile Analytics.

Üblicherweise verwenden Sie nur einen Identitäten-Pool pro Anwendung.

Nach dem Erstellen des Identitäten-Pool rufen Sie AWS-Anmeldeinformationen ab, indem Sie ein CognitoAWSCredentials-Objekt (durch Übergabe der Identitäten-Pool-ID) erstellen und es dann folgendermaßen dem Konstruktor eines AWS-Clients übergeben:

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 );

Schritt 2: Festlegen der Berechtigungen

Sie müssen die Berechtigungen für jeden in der Anwendung zu verwendenden AWS-Service festlegen. Zunächst müssen Sie verstehen, wie AWS die Benutzer der Anwendung sieht.

Wenn jemand Ihre Anwendung verwendet und AWS-Aufrufe auslöst, weist AWS dem betreffenden Benutzer eine Identität zu. In dem in Schritt 1 erstellten Identitäten-Pool speichert AWS diese Identitäten. Es gibt zwei Arten von Identitäten: authentifizierte und nicht authentifizierte. Authentifizierte Identitäten gehören Benutzern, die von einem öffentlichen Login-Anbieter (z. B. Facebook, Amazon, Google) authentifiziert wurden. Nicht authentifizierte Identitäten gehören Gastbenutzern.

Jede Identität ist einer AWS Identity and Access Management-Rolle zugeordnet. In Schritt 1 haben Sie zwei IAM-Rollen erstellt, eine für authentifizierte Benutzer und eine für nicht authentifizierter Benutzer. Jeder IAM-Rolle ist mindestens eine Richtlinie zugeordnet, die angibt, auf welche AWS-Services die Identitäten zugreifen können, die der Rolle zugewiesen sind. Mit der folgenden Beispielrichtlinie gewähren Sie Zugriff auf einen Amazon S3-Bucket.

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

Um Berechtigungen für die AWS-Services festzulegen, auf die in der Anwendung zugegriffen werden soll, ändern Sie einfach die den Rollen zugeordnete Richtlinie.

  1. Navigieren Sie zur IAM-Konsole und wählen Sie "Roles (Rollen)". Geben Sie den Identitäten-Pool-Namen in das Suchfeld ein. Wählen Sie die IAM-Rolle aus, die Sie konfigurieren möchten. Wenn die Anwendung sowohl authentifizierte als auch nicht authentifizierte Benutzer zulässt, müssen Sie beiden Rollen Berechtigungen gewähren.

  2. Klicken Sie auf Attach Policy (Richtlinie anfügen), wählen Sie die gewünschte Richtlinie und klicken Sie dann auf Attach Policy (Richtlinien anfügen). Die Standardrichtlinien für die von Ihnen erstellten IAM-Rollen gewähren Zugriff auf Amazon Cognito Sync und Mobile Analytics.

Weitere Informationen zum Erstellen von Richtlinien oder zum Auswählen von Richtlinien in einer Liste vorhandener Richtlinien erhalten Sie unter IAM-Richtlinien.

Schritt 3: Erstellen eines neuen -Projekts

Windows

Sie können Visual Studio oder Xamarin Studio zum Entwickeln der Anwendung verwenden.

OS X

Sie müssen die Xamarin Studio-IDE (Integrated Development Environment, integrierte Entwicklungsumgebung) zur Entwicklung der Anwendungen verwenden. Die iOS-Entwicklung mit Xamarin setzt Zugriff auf einen Mac voraus, auf dem die App ausgeführt werden kann. Weitere Informationen erhalten Sie unter Installing Xamarin.iOS on Windows.

Schritt 4: Installieren der AWS Mobile SDK for .NET and Xamarin

Windows

Option 1: Installieren mithilfe der Package Manager-Konsole

AWS Mobile SDK for .NET and Xamarin besteht aus einer Reihe von .NET-Komponenten. Führen Sie zum Installieren von AWS Mobile SDK for .NET and Xamarin den Befehl "install-package" für jedes Paket in der Package Manager-Konsole aus. Führen Sie zum Installieren von Cognito Identity beispielsweise Folgendes aus:

Install-Package AWSSDK.CognitoIdentity

Die Pakete AWS Core Runtime und Amazon Cognito Identity werden für alle Projekte benötigt. Nachstehend finden Sie eine vollständige Liste der Paketnamen für jeden Service.

Service Package name

AWS Core Runtime

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

Um ein Beta-Paket einzuschließen, fügen Sie beim Installieren des Pakets das Befehlszeilenargument -Pre ein:

Install-Package AWSSDK.CognitoSync -Pre

Eine vollständige Liste der AWS-Servicepakete finden Sie unter AWS SDK packages on NuGet oder im AWS SDK for .NET Github Repository.

Option 2: Installieren unter Verwendung der IDE

In Visual Studio

  1. Klicken Sie mit der rechten Maustaste auf das Projekt und klicken Sie dann auf Manage Packages (NuGetPakete verwalten).

  2. Suchen Sie nach dem Namen des Pakets, das Sie dem Projekt hinzufügen möchten. Um die NuGet prelease-Pakete einzuschließen, wählen Sie Include Prelease (Prelease einschließen) aus. Eine vollständige Liste der AWS-Service-Pakete finden Sie unter AWS SDK-Pakete unter NuGet .

  3. Wählen sie das Paket und dann Installieren.

In Xamarin Studio

  1. Klicken Sie mit der rechten Maustaste auf den Paketordner und wählen Sie dann Add Packages (Pakete hinzufügen).

  2. Suchen Sie nach dem Namen des Pakets, das Sie dem Projekt hinzufügen möchten. Um die NuGet prelease-Pakete einzuschließen, wählen Sie Show pre-release packages (Vorversionspakete anzeigen) aus. Eine vollständige Liste der AWS-Service-Pakete finden Sie unter AWS SDK-Pakete unter NuGet .

  3. Aktivieren Sie das Kontrollkästchen neben dem gewünschten Paket und wählen Sie Add Package (Paket hinzufügen).

Mac (OS X)

In Xamarin Studio

  1. Klicken Sie mit der rechten Maustaste auf den Paketordner und wählen Sie dann Add Packages (Pakete hinzufügen).

  2. Suchen Sie nach dem Namen des Pakets, das Sie dem Projekt hinzufügen möchten. Um die NuGet prelease-Pakete einzuschließen, wählen Sie Show pre-release packages (Vorversionspakete anzeigen) aus. Eine vollständige Liste der AWS-Service-Pakete finden Sie unter AWS SDK-Pakete unter NuGet .

  3. Aktivieren Sie das Kontrollkästchen neben dem gewünschten Paket und wählen Sie Add Package (Paket hinzufügen).

Wichtig

Wenn Sie eine Entwicklung mit einer Portable Class Library durchführen, müssen Sie das NuGet AWSSDK.Core-Paket auch allen Projekten hinzufügen, die aus der Portable Class Library abgeleitet werden.

Schritt 5: Konfigurieren von AWS Mobile SDK for .NET and Xamarin

Festlegen der Protokollierung

Sie legen Einstellungen für die Protokollierung mit den Klassen Amazon.AWSConfigs und Amazon.Util.LoggingConfig fest. Sie finden diese Klassen in der Komponente AWSSdk.Core, die über Nuget Package Manager in Visual Studio verfügbar ist. Sie können den Code, der zur Protokollierung der Einstellungen verwendet wird, in der Methode OnCreate der Datei MainActivity.cs für Android-Apps oder der Datei AppDelegate.cs für iOS-Apps platzieren. Sie sollten außerdem die Anweisungen using Amazon und using Amazon.Util in die CS-Dateien einfügen.

Konfigurieren Sie die Protokolleinstellungen wie folgt:

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

Wenn Sie sich bei SystemDiagnosticsanmelden, druckt das Framework die Ausgabe intern an die System.Console. Wenn Sie HTTP-Antworten protokollieren möchten, setzen Sie das Flag LogResponses Die Werte können Always (Immer), Never (Nie) oder OnErrorsein.

Sie können außerdem Leistungskennzahlen zu HTTP-Anforderungen protokollieren, indem Sie die Eigenschaft LogMetrics verwenden. Das Protokollformat können Sie mit der Eigenschaft LogMetricsFormat angegeben. Gültige Werte sind "JSON" und "standard".

Festlegen des Regionsendpunkts

Konfigurieren Sie die Standardregion für alle Service-Clients wie folgt:

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

Dadurch wird die Standardregion für alle Service-Clients im SDK festgelegt. Sie können diese Einstellung überschreiben, indem Sie wie folgt die Region explizit zum Zeitpunkt der Erstellung einer Instance des Service-Clients angeben:

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

Konfigurieren der HTTP-Proxy-Einstellungen

Wenn Ihr Netzwerk hinter einem Proxy liegt, können Sie die Proxy-Einstellungen für die HTTP-Anforderungen wie folgt konfigurieren.

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

Korrektur für Taktversatz

Diese Eigenschaft bestimmt, ob das SDK den Client-Taktversatz korrigieren soll, indem die richtige Server-Zeit ermittelt und die Anforderung mit der richtigen Zeit erneut ausgegeben wird.

AWSConfigs.CorrectForClockSkew = true;

Dieses Feld wird eingestellt, wenn ein Service-Aufruf eine Exception ausgelöst und das SDK festgestellt hat, dass die lokale Zeit und die Server-Zeit differieren.

var offset = AWSConfigs.ClockOffset;

Weitere Informationen zum Taktversatz finden Sie unter Clock-skew Correction im AWS-Blog.

Nächste Schritte

Nachdem Sie AWS Mobile SDK for .NET and Xamarin eingerichtet haben, können Sie folgende Operationen ausführen:

  • Erste Schritte. Lesen Sie Erste Schritte mit AWS Mobile SDK for .NET and Xamarin für kurzgefasste Anleitungen zur Verwendung und zum Konfigurieren der Services in AWS Mobile SDK for .NET and Xamarin.

  • Erkunden Sie die Service-Themen. Erfahren Sie mehr über die einzelnen Services und deren Funktionsweise in AWS Mobile SDK for .NET and Xamarin.

  • Führen Sie die Demos aus. Sehen Sie sich unsere Xamarin-Beispielanwendungen an, die häufige Anwendungsfälle veranschaulichen. Richten Sie zum Ausführen der Beispiel-Apps AWS Mobile SDK for .NET and Xamarin wie zuvor beschrieben ein. Befolgen Sie dann die Anweisungen in den README-Dateien der jeweiligen Beispiele.

  • Erfahren Sie mehr über das APIs. Zeigen Sie |sdk-xamarin-ref|_ an.

  • Fragen: Veröffentlichen Sie Fragen in den AWS Mobile SDK-Foren oder öffnen Sie auf Github ein Problemticket.