View a markdown version of this page

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

Das AWS Mobile SDK für Xamarin ist jetzt in der enthalten. AWS SDK für .NET Dieses Handbuch bezieht sich auf die archivierte Version des Mobile SDK für Xamarin.

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.

Einrichtung des AWS Mobile SDK for .NET and Xamarin

Sie können das AWS Mobile SDK für .NET und Xamarin einrichten und mit der Erstellung eines neuen Projekts beginnen, oder Sie können das SDK in ein vorhandenes Projekt integrieren. Sie können auch die Beispiele klonen und ausführen, um eine Vorstellung von der Funktionsweise des SDKs zu erhalten. Gehen Sie wie folgt vor, um das AWS Mobile SDK für .NET und Xamarin einzurichten und zu verwenden.

Voraussetzungen

Bevor Sie das AWS Mobile SDK for .NET and Xamarin verwenden können, müssen Sie wie folgt vorgehen:

Sobald die Voraussetzungen erfüllt sind:

  1. Besorgen Sie sich AWS-Anmeldeinformationen mithilfe von 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 Sie das AWS Mobile SDK for .NET and Xamarin.

  5. Konfigurieren Sie das 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. Dazu verwenden Sie Amazon Cognito, einen AWS-Service, der es Ihrer Anwendung ermöglicht, auf die Services im SDK zuzugreifen, ohne Ihre privaten AWS-Anmeldeinformationen in die Anwendung einbetten zu müssen.

Um mit Amazon Cognito zu beginnen, müssen Sie einen Identitätspool 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 zum Erstellen des Identitäten-Pools Create Pool (Pool 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 bieten Ihrem Identitätspool 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 authentifizierte Benutzer. Jeder IAM-Rolle sind eine oder mehrere Richtlinien zugeordnet, die angeben, auf welche AWS-Services die dieser Rolle zugewiesenen Identitäten zugreifen können. Die folgende Beispielrichtlinie gewährt beispielsweise Zugriff auf einen Amazon S3 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, die Sie in Ihrer Anwendung verwenden möchten, ändern Sie 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 IAM-Rollen, die Sie erstellt haben, bieten 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 verwenden, um Ihre Anwendung zu entwickeln.

OS X

Sie können Visual Studio verwenden, um Ihre Anwendungen zu entwickeln. Die iOS-Entwicklung mit Xamarin erfordert Zugriff auf einen Mac, um Ihre App auszuführen. Weitere Informationen erhalten Sie unter Installing Xamarin.iOS on Windows.

Anmerkung

Der plattformübergreifende kommerzielle IDE Rider von JetBrains bietet Xamarin-Unterstützung sowohl auf Windows- als auch auf Mac-Plattformen.

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

Windows

Option 1: Installieren mithilfe der Package Manager-Konsole

Das AWS Mobile SDK for .NET and Xamarin besteht aus einer Reihe von.NET-Assemblys. Um das AWS Mobile SDK for .NET and Xamarin zu installieren, führen Sie 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 sind für alle Projekte erforderlich. 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.Dynamo DBv2

Amazon Mobile Analytics

AWSSDK.MobileAnalytics

Amazon S3

AWSSDK.S

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-Pakete auf 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 NuGetPakete verwalten.

  2. Suchen Sie nach dem Namen des Pakets, das Sie dem Projekt hinzufügen möchten. Um die NuGet Vorabversionen einzubeziehen, wählen Sie „Vorabversion einbeziehen“. Eine vollständige Liste der AWS-Servicepakete finden Sie unter AWS SDK-Pakete unter NuGet.

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

Mac (OS X)

In Visual 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 Vorabversionspakete einzubeziehen, wählen Sie Vorabversionspakete anzeigen. Eine vollständige Liste der AWS-Servicepakete 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 mit einer Portable Class Library entwickeln, müssen Sie außerdem das AWSSDK NuGet .Core-Paket zu allen Projekten hinzufügen, die von der Portable Class Library abgeleitet sind.

Schritt 5: Das AWS Mobile SDK for .NET and Xamarin konfigurieren

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 anmelden SystemDiagnostics, 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, Never oder lauten. OnError

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 erhalten Sie unter Clock-skew Correction im AWS-Blog.

Nächste Schritte

Nachdem Sie das AWS Mobile SDK for .NET and Xamarin eingerichtet haben, können Sie:

  • Erste Schritte. Unter Erste Schritte mit dem AWS Mobile SDK for .NET and Xamarin finden Sie Schnellstartanweisungen zur Verwendung und Konfiguration der Services im AWS Mobile SDK for .NET and Xamarin.

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

  • Führen Sie die Demos aus. Sehen Sie sich unsere Xamarin-Beispielanwendungen an, die typische Anwendungsfälle illustrieren. Um die Beispiel-Apps auszuführen, richten Sie das AWS Mobile SDK for .NET and Xamarin wie zuvor beschrieben ein und folgen Sie dann den Anweisungen in den README-Dateien der einzelnen Beispiele.

  • Lernen Sie das. APIs Sehen Sie sich das | sdk-xamarin-ref |_ an.

  • Fragen stellen: Stellen Sie Fragen in den AWS Mobile SDK-Foren oder öffnen Sie ein Problem unter GitHub.