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
Prerequisites
Vor Verwendung von AWS Mobile SDK for .NET and Xamarin müssen Sie die folgenden Arbeiten durchführen:
-
Erstellen Sie ein AWS-Konto
. -
Installieren Sie die Xamarin-Plattform
. -
Windows-Benutzer: Xamarin: Getting Started for Windows
-
Mac-Benutzer: Xamarin: Getting Started for Mac
. (vollständig).
Sobald die Voraussetzungen erfüllt sind:
-
Rufen Sie AWS-Anmeldeinformationen mit ab.Amazon Cognito.
-
Legen Sie die erforderlichen Berechtigungen für jeden in der App verwendeten AWS-Service fest.
-
Erstellen Sie in der IDE ein neues Projekt.
-
Installieren des AWS Mobile SDK for .NET and Xamarin.
-
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"
-
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). -
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.
-
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.
-
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. -
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
Option 2: Installieren unter Verwendung der IDE
In Visual Studio
-
Klicken Sie mit der rechten Maustaste auf das Projekt und klicken Sie dann auf Manage Packages (NuGetPakete verwalten).
-
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
. -
Wählen sie das Paket und dann Installieren.
In Xamarin Studio
-
Klicken Sie mit der rechten Maustaste auf den Paketordner und wählen Sie dann Add Packages (Pakete hinzufügen).
-
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
. -
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
-
Klicken Sie mit der rechten Maustaste auf den Paketordner und wählen Sie dann Add Packages (Pakete hinzufügen).
-
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
. -
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
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 .