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.
Anhängen einer Datenquelle in AWS AppSyncDatenquellen sind Ressourcen in Ihrem AWS Konto, mit denen GraphQL-APIs interagieren können. AWS AppSync unterstützt eine Vielzahl von Datenquellen wie Amazon DynamoDB AWS Lambda, relationale Datenbanken (Amazon Aurora Serverless), Amazon OpenSearch Service und HTTP-Endpunkte. Eine AWS AppSync API kann so konfiguriert werden, dass sie mit mehreren Datenquellen interagiert, sodass Sie Daten an einem einzigen Ort aggregieren können. AWS AppSync kann vorhandene AWS Ressourcen aus Ihrem Konto verwenden oder DynamoDB-Tabellen in Ihrem Namen aus einer Schemadefinition bereitstellen.
Der folgende Abschnitt zeigt Ihnen, wie Sie eine Datenquelle an Ihre GraphQL-API anhängen.
Arten von Datenquellen
Nachdem Sie nun ein Schema in der AWS AppSync Konsole erstellt haben, können Sie ihm eine Datenquelle anhängen. Wenn Sie zum ersten Mal eine API erstellen, besteht die Möglichkeit, bei der Erstellung des vordefinierten Schemas eine Amazon DynamoDB-Tabelle bereitzustellen. Wir werden diese Option in diesem Abschnitt jedoch nicht behandeln. Ein Beispiel dafür finden Sie im Abschnitt Schema starten.
Stattdessen werden wir uns alle AWS AppSync unterstützten Datenquellen ansehen. Es gibt viele Faktoren, die bei der Auswahl der richtigen Lösung für Ihre Anwendung eine Rolle spielen. Die folgenden Abschnitte bieten zusätzlichen Kontext für jede Datenquelle. Allgemeine Informationen zu Datenquellen finden Sie unter Datenquellen.
Amazon DynamoDB
Amazon DynamoDB ist eine der wichtigsten AWS Speicherlösungen für skalierbare Anwendungen. Die Kernkomponente von DynamoDB ist die Tabelle, die einfach eine Sammlung von Daten ist. Normalerweise erstellen Sie Tabellen auf der Grundlage von Entitäten wie Book oder. Author Informationen zu Tabelleneinträgen werden als Elemente gespeichert. Dabei handelt es sich um Gruppen von Feldern, die für jeden Eintrag eindeutig sind. Ein vollständiges Element steht für ein Element row/record in der Datenbank. Ein Element für einen Book Eintrag könnte beispielsweise title und author zusammen mit ihren Werten enthalten. Die einzelnen Felder wie title und author werden als Attribute bezeichnet, was den Spaltenwerten in relationalen Datenbanken ähnelt.
Wie Sie sich vorstellen können, werden Tabellen zum Speichern von Daten aus Ihrer Anwendung verwendet. AWS AppSync ermöglicht es Ihnen, Ihre DynamoDB-Tabellen mit Ihrer GraphQL-API zu verbinden, um Daten zu bearbeiten. Nehmen Sie diesen Anwendungsfall aus dem Front-end Web- und Mobilblog. Mit dieser Anwendung können sich Benutzer für eine Social-Media-App registrieren. Benutzer können Gruppen beitreten und Beiträge hochladen, die an andere Benutzer gesendet werden, die die Gruppe abonniert haben. Ihre Anwendung speichert Benutzer-, Post- und Benutzergruppeninformationen in DynamoDB. Die GraphQL-API (verwaltet von AWS AppSync) ist mit der DynamoDB-Tabelle verbunden. Wenn ein Benutzer eine Änderung im System vornimmt, die im Frontend widergespiegelt wird, ruft die GraphQL-API diese Änderungen ab und überträgt sie in Echtzeit an andere Benutzer.
AWS Lambda
Lambda ist ein ereignisgesteuerter Dienst, der automatisch die notwendigen Ressourcen erstellt, um Code als Reaktion auf ein Ereignis auszuführen. Lambda verwendet Funktionen, bei denen es sich um Gruppenanweisungen handelt, die den Code, Abhängigkeiten und Konfigurationen für die Ausführung einer Ressource enthalten. Funktionen werden automatisch ausgeführt, wenn sie einen Trigger erkennen, eine Gruppe von Aktivitäten, die Ihre Funktion aufrufen. Ein Trigger kann so etwas wie eine Anwendung sein, die einen API-Aufruf tätigt, ein AWS Dienst in Ihrem Konto, der eine Ressource hochfährt usw. Wenn Funktionen ausgelöst werden, verarbeiten sie Ereignisse, bei denen es sich um JSON-Dokumente handelt, die die zu ändernden Daten enthalten.
Lambda eignet sich gut zum Ausführen von Code, ohne dass die Ressourcen für die Ausführung bereitgestellt werden müssen. Nehmen Sie diesen Anwendungsfall aus dem Front-end Web- und Mobilblog. Dieser Anwendungsfall ähnelt ein wenig dem, der im DynamoDB-Abschnitt vorgestellt wird. In dieser Anwendung ist die GraphQL-API dafür verantwortlich, die Operationen für Dinge wie das Hinzufügen von Beiträgen (Mutationen) und das Abrufen dieser Daten (Abfragen) zu definieren. Um die Funktionalität ihrer Operationen (z. B.getPostsByAuthor ( author: String ! ) : [ Post ]) zu implementierengetPost ( id: String ! ) : Post, verwenden sie Lambda-Funktionen, um eingehende Anfragen zu verarbeiten. Option 2: AWS AppSync Mit dem Lambda-Resolver verwenden sie den AWS AppSync Dienst, um ihr Schema zu verwalten und eine Lambda-Datenquelle mit einer der Operationen zu verknüpfen. Wenn der Vorgang aufgerufen wird, stellt Lambda eine Schnittstelle zum Amazon RDS-Proxy her, um die Geschäftslogik für die Datenbank auszuführen.
Amazon RDS
Mit Amazon RDS können Sie schnell relationale Datenbanken erstellen und konfigurieren. In Amazon RDS erstellen Sie eine generische Datenbank-Instance, die als isolierte Datenbankumgebung in der Cloud dient. In diesem Fall verwenden Sie eine DB-Engine, bei der es sich um die eigentliche RDBMS-Software handelt (PostgreSQL, MySQL usw.). Der Service entlastet einen Großteil der Backend-Arbeit, indem er Skalierbarkeit mithilfe AWS von Infrastruktur und Sicherheitsdiensten wie Patchen und Verschlüsselung bietet und die Verwaltungskosten für Bereitstellungen senkt.
Nehmen Sie den gleichen Anwendungsfall aus dem Abschnitt Lambda. Unter Option 3: AWS AppSync Mit Amazon RDS Resolver wird als weitere Option die direkte Verknüpfung der GraphQL-API mit Amazon RDS vorgestellt. AWS AppSync Mithilfe einer Daten-API verknüpfen sie die Datenbank mit der GraphQL-API. Ein Resolver ist an ein Feld angehängt (normalerweise eine Abfrage, Mutation oder Subskription) und implementiert die SQL-Anweisungen, die für den Zugriff auf die Datenbank erforderlich sind. Wenn der Client eine Anfrage stellt, die das Feld aufruft, führt der Resolver die Anweisungen aus und gibt die Antwort zurück.
Amazon EventBridge
In EventBridge erstellen Sie Event-Busse. Dabei handelt es sich um Pipelines, die Ereignisse von Diensten oder Anwendungen empfangen, die Sie anhängen (die Ereignisquelle), und sie auf der Grundlage einer Reihe von Regeln verarbeiten. Ein Ereignis ist eine Zustandsänderung in einer Ausführungsumgebung, während eine Regel aus einer Reihe von Filtern für Ereignisse besteht. Eine Regel folgt einem Ereignismuster oder den Metadaten der Statusänderung eines Ereignisses (ID, Region, Kontonummer, ARN (s) usw.). Wenn ein Ereignis dem Ereignismuster entspricht, EventBridge wird das Ereignis über die Pipeline an den Zieldienst (Ziel) gesendet und die in der Regel angegebene Aktion ausgelöst.
EventBridge eignet sich für die Weiterleitung von Vorgängen, die den Status ändern, an einen anderen Dienst. Nehmen Sie diesen Anwendungsfall aus dem Front-end Web- und Mobilblog. Das Beispiel zeigt eine E-Commerce-Lösung, bei der mehrere Teams unterschiedliche Dienste verwalten. Einer dieser Dienste bietet dem Kunden bei jedem Schritt der Lieferung (Bestellung aufgegeben, in Bearbeitung, Versand, Lieferung usw.) im Frontend Aktualisierungen der Bestellung. Das Frontend-Team, das diesen Service verwaltet, hat jedoch keinen direkten Zugriff auf die Bestellsystemdaten, da diese von einem separaten Backend-Team verwaltet werden. Das Bestellsystem des Backend-Teams wird ebenfalls als Blackbox beschrieben, sodass es schwierig ist, Informationen darüber zu erhalten, wie sie ihre Daten strukturieren. Das Backend-Team hat jedoch ein System eingerichtet, das Bestelldaten über einen Event-Bus veröffentlichte, der von verwaltet wird. EventBridge Um auf die vom Event-Bus kommenden Daten zuzugreifen und sie an das Front-End weiterzuleiten, erstellte das Frontend-Team ein neues Ziel, das auf ihre GraphQL-API verweist. AWS AppSync Außerdem wurde eine Regel erstellt, nach der nur Daten gesendet werden, die für die Aktualisierung der Bestellung relevant sind. Wenn eine Aktualisierung vorgenommen wird, werden die Daten vom Event-Bus an die GraphQL-API gesendet. Das Schema in der API verarbeitet die Daten und leitet sie dann an das Frontend weiter.
Keine Datenquellen
Wenn Sie nicht vorhaben, eine Datenquelle zu verwenden, können Sie sie auf einstellennone. Eine none Datenquelle ist zwar immer noch explizit als Datenquelle kategorisiert, aber kein Speichermedium. In der Regel ruft ein Resolver irgendwann eine oder mehrere Datenquellen auf, um die Anfrage zu verarbeiten. Es gibt jedoch Situationen, in denen Sie eine Datenquelle möglicherweise nicht bearbeiten müssen. Wenn Sie die Datenquelle auf einstellen, none wird die Anforderung ausgeführt, der Datenaufrufschritt übersprungen und dann die Antwort ausgeführt.
Nehmen Sie den gleichen Anwendungsfall aus dem EventBridge Abschnitt. Im Schema verarbeitet die Mutation die Statusaktualisierung und sendet sie dann an die Abonnenten. Zur Erinnerung an die Funktionsweise von Resolvern gibt es in der Regel mindestens einen Datenquellenaufruf. Die Daten in diesem Szenario wurden jedoch bereits automatisch vom Event-Bus gesendet. Das bedeutet, dass die Mutation nicht erforderlich ist, um einen Datenquellenaufruf durchzuführen; der Bestellstatus kann einfach lokal verwaltet werden. Die Mutation ist auf gesetztnone, was als Pass-Through-Wert ohne Aufruf der Datenquelle fungiert. Das Schema wird dann mit den Daten gefüllt, die an die Abonnenten gesendet werden.
OpenSearch
Amazon OpenSearch Service ist eine Suite von Tools zur Implementierung der Volltextsuche, Datenvisualisierung und Protokollierung. Sie können diesen Service verwenden, um die von Ihnen hochgeladenen strukturierten Daten abzufragen.
In diesem Dienst erstellen Sie Instanzen von OpenSearch. Diese werden Knoten genannt. In einem Knoten fügen Sie mindestens einen Index hinzu. Indizes sind vom Konzept her ein bisschen wie Tabellen in relationalen Datenbanken. ( OpenSearch Ist jedoch nicht ACID-konform und sollte daher nicht auf diese Weise verwendet werden). Sie füllen Ihren Index mit Daten auf, die Sie in den OpenSearch Dienst hochladen. Wenn Ihre Daten hochgeladen werden, werden sie in einem oder mehreren Shards indexiert, die im Index vorhanden sind. Ein Shard ist wie eine Partition Ihres Indexes, die einige Ihrer Daten enthält und getrennt von anderen Shards abgefragt werden kann. Nach dem Hochladen werden Ihre Daten als JSON-Dateien, sogenannte Dokumente, strukturiert. Anschließend können Sie den Knoten nach Daten im Dokument abfragen.
HTTP-Endpunkte
Sie können HTTP-Endpunkte als Datenquellen verwenden. AWS AppSync kann Anfragen mit den relevanten Informationen wie Parametern und Nutzdaten an die Endpunkte senden. Die HTTP-Antwort wird dem Resolver zur Verfügung gestellt, der die endgültige Antwort zurückgibt, nachdem er seine Operation (en) abgeschlossen hat.
Hinzufügen einer Datenquelle
Wenn Sie eine Datenquelle erstellt haben, können Sie sie mit dem AWS AppSync Service und insbesondere der API verknüpfen.
- Console
-
-
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AppSync Konsole.
-
Wählen Sie Ihre API im Dashboard aus.
-
Wählen Sie in der Seitenleiste Datenquellen aus.
-
Klicken Sie auf Create data source.
-
Geben Sie Ihrer Datenquelle einen Namen. Sie können ihr auch eine Beschreibung geben, aber das ist optional.
-
Wählen Sie Ihren Datenquellentyp.
-
Für DynamoDB müssen Sie Ihre Region und dann die Tabelle in der Region auswählen. Sie können Interaktionsregeln mit Ihrer Tabelle diktieren, indem Sie eine neue generische Tabellenrolle erstellen oder eine vorhandene Rolle für die Tabelle importieren. Sie können die Versionierung aktivieren, wodurch automatisch Datenversionen für jede Anforderung erstellt werden, wenn mehrere Clients gleichzeitig versuchen, Daten zu aktualisieren. Die Versionierung wird verwendet, um mehrere Varianten von Daten zur Konflikterkennung und -lösung aufzubewahren und zu verwalten. Sie können auch die automatische Schemagenerierung aktivieren, die Ihre Datenquelle verwendet und einen Teil der CRUD sowie die für den Zugriff darauf erforderlichen Query Operationen in Ihrem Schema generiert. List
Denn OpenSearch Sie müssen Ihre Region und dann die Domain (Cluster) in der Region auswählen. Sie können Interaktionsregeln mit Ihrer Domain diktieren, indem Sie eine neue generische Tabellenrolle erstellen oder eine vorhandene Rolle für die Tabelle importieren.
Für Lambda müssen Sie Ihre Region und dann den ARN der Lambda-Funktion in der Region auswählen. Sie können Interaktionsregeln mit Ihrer Lambda-Funktion diktieren, indem Sie eine neue generische Tabellenrolle erstellen oder eine vorhandene Rolle für die Tabelle importieren.
Für HTTP müssen Sie Ihren HTTP-Endpunkt eingeben.
Denn EventBridge du musst deine Region und dann den Event-Bus in der Region auswählen. Du kannst die Regeln für die Interaktion mit deinem Event-Bus diktieren, indem du eine neue generische Tabellenrolle einrichtest oder eine bestehende Rolle für die Tabelle importierst.
Für RDS müssen Sie Ihre Region, dann den geheimen Speicher (Benutzername und Passwort), den Datenbanknamen und das Schema auswählen.
Wenn Sie keine haben, fügen Sie eine Datenquelle ohne tatsächliche Datenquelle hinzu. Dies dient dazu, Resolver lokal und nicht über eine tatsächliche Datenquelle zu verarbeiten.
Wenn Sie vorhandene Rollen importieren, benötigen sie eine Vertrauensrichtlinie. Weitere Informationen finden Sie in der IAM-Vertrauensrichtlinie.
-
Wählen Sie Erstellen aus.
Wenn Sie eine DynamoDB-Datenquelle erstellen, können Sie auch die Schema-Seite in der Konsole aufrufen, oben auf der Seite Create Resources auswählen und dann ein vordefiniertes Modell ausfüllen, um es in eine Tabelle zu konvertieren. Bei dieser Option füllen Sie den Basistyp aus oder importieren ihn, konfigurieren die grundlegenden Tabellendaten einschließlich des Partitionsschlüssels und überprüfen die Schemaänderungen.
- CLI
-
-
Erstellen Sie Ihre Datenquelle, indem Sie den create-data-source Befehl ausführen.
Für diesen speziellen Befehl müssen Sie einige Parameter eingeben:
-
Die api-id Ihrer API.
-
Die name Ihres Tisches.
-
Die type der Datenquelle. Je nachdem, welchen Datenquellentyp Sie wählen, müssen Sie möglicherweise ein Tag service-role-arn und ein -config Tag eingeben.
Ein Beispielbefehl könnte so aussehen:
aws appsync create-data-source --api-id abcdefghijklmnopqrstuvwxyz --name data_source_name --type data_source_type --service-role-arn arn:aws:iam::107289374856:role/role_name --[data_source_type]-config {params}
- CDK
-
Bevor Sie das CDK verwenden, empfehlen wir Ihnen, die offizielle Dokumentation des CDK zusammen mit der CDK-Referenz zu AWS AppSync lesen.
Die unten aufgeführten Schritte zeigen nur ein allgemeines Beispiel für das Snippet, das zum Hinzufügen einer bestimmten Ressource verwendet wird. Dies soll keine funktionierende Lösung in Ihrem Produktionscode sein. Wir gehen auch davon aus, dass Sie bereits eine funktionierende App haben.
Um Ihre spezielle Datenquelle hinzuzufügen, müssen Sie das Konstrukt zu Ihrer Stack-Datei hinzufügen. Eine Liste der Datenquellentypen finden Sie hier:
-
Im Allgemeinen müssen Sie möglicherweise die Import-Direktive zu dem Dienst hinzufügen, den Sie verwenden. Sie kann beispielsweise den folgenden Formularen folgen:
import * as x from 'x'; # import wildcard as the 'x' keyword from 'x-service'
import {a, b, ...} from 'c'; # import {specific constructs} from 'c-service'
So könnten Sie beispielsweise die AWS AppSync und die DynamoDB-Dienste importieren:
import * as appsync from 'aws-cdk-lib/aws-appsync';
import * as dynamodb from 'aws-cdk-lib/aws-dynamodb';
-
Einige Dienste wie RDS erfordern zusätzliche Einstellungen in der Stack-Datei, bevor die Datenquelle erstellt wird (z. B. VPC-Erstellung, Rollen und Zugangsdaten). Weitere Informationen finden Sie in den Beispielen auf den entsprechenden CDK-Seiten.
-
Für die meisten Datenquellen, insbesondere AWS Dienste, erstellen Sie eine neue Instanz der Datenquelle in Ihrer Stack-Datei. In der Regel sieht das wie folgt aus:
const add_data_source_func = new service_scope.resource_name(scope: Construct, id: string, props: data_source_props);
Hier ist zum Beispiel ein Beispiel für eine Amazon DynamoDB-Tabelle:
const add_ddb_table = new dynamodb.Table(this, 'Table_ID', {
partitionKey: {
name: 'id',
type: dynamodb.AttributeType.STRING,
},
sortKey: {
name: 'id',
type: dynamodb.AttributeType.STRING,
},
tableClass: dynamodb.TableClass.STANDARD,
});
Für die meisten Datenquellen ist mindestens eine Requisite erforderlich (diese wird ohne Symbol gekennzeichnet). ? Lesen Sie in der CDK-Dokumentation nach, welche Requisiten benötigt werden.
-
Als Nächstes müssen Sie die Datenquelle mit der GraphQL-API verknüpfen. Die empfohlene Methode besteht darin, sie hinzuzufügen, wenn Sie eine Funktion für Ihren Pipeline-Resolver erstellen. Der folgende Ausschnitt ist beispielsweise eine Funktion, die alle Elemente in einer DynamoDB-Tabelle scannt:
const add_func = new appsync.AppsyncFunction(this, 'func_ID', {
name: 'func_name_in_console',
add_api,
dataSource: add_api.addDynamoDbDataSource('data_source_name_in_console', add_ddb_table),
code: appsync.Code.fromInline(`
export function request(ctx) {
return { operation: 'Scan' };
}
export function response(ctx) {
return ctx.result.items;
}
`),
runtime: appsync.FunctionRuntime.JS_1_0_0,
});
In den dataSource Requisiten können Sie die GraphQL-API (add_api) aufrufen und eine ihrer integrierten Methoden (addDynamoDbDataSource) verwenden, um die Verknüpfung zwischen der Tabelle und der GraphQL-API herzustellen. Die Argumente sind der Name dieses Links, der in der AWS AppSync Konsole (data_source_name_in_consolein diesem Beispiel) existieren wird, und die Tabellenmethode (). add_ddb_table Mehr zu diesem Thema erfahren Sie im nächsten Abschnitt, wenn Sie mit der Erstellung von Resolvern beginnen.
Es gibt alternative Methoden zum Verknüpfen einer Datenquelle. Technisch gesehen könnten Sie api die Requisiten-Liste in der Tabellenfunktion erweitern. Hier ist zum Beispiel der Ausschnitt aus Schritt 3, jedoch mit api Requisiten, die eine GraphQL-API enthalten:
const add_api = new appsync.GraphqlApi(this, 'API_ID', {
...
});
const add_ddb_table = new dynamodb.Table(this, 'Table_ID', {
...
api: add_api
});
Alternativ können Sie das Konstrukt separat aufrufen: GraphqlApi
const add_api = new appsync.GraphqlApi(this, 'API_ID', {
...
});
const add_ddb_table = new dynamodb.Table(this, 'Table_ID', {
...
});
const link_data_source = add_api.addDynamoDbDataSource('data_source_name_in_console', add_ddb_table);
Wir empfehlen, die Assoziation nur in den Requisiten der Funktion zu erstellen. Andernfalls müssen Sie Ihre Resolver-Funktion entweder manuell in der Konsole mit der Datenquelle verknüpfen (wenn Sie den AWS AppSync Konsolenwert weiterhin verwenden möchtendata_source_name_in_console) oder eine separate Verknüpfung in der Funktion unter einem anderen Namen wie erstellen. data_source_name_in_console_2 Dies ist auf Einschränkungen bei der Informationsverarbeitung durch die Requisiten zurückzuführen.
Sie müssen die App erneut bereitstellen, um Ihre Änderungen zu sehen.
IAM-Vertrauensrichtlinie
Wenn Sie eine bestehende IAM-Rolle für Ihre Datenquelle verwenden, müssen Sie dieser Rolle die entsprechenden Berechtigungen gewähren, um Operationen an Ihrer AWS Ressource auszuführen, z. B. PutItem an einer Amazon DynamoDB-Tabelle. Sie müssen auch die Vertrauensrichtlinie für diese Rolle ändern, damit sie für den AWS AppSync Ressourcenzugriff verwendet werden kann, wie in der folgenden Beispielrichtlinie gezeigt:
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "appsync.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Sie können Ihrer Vertrauensrichtlinie auch Bedingungen hinzufügen, um den Zugriff auf die Datenquelle nach Bedarf einzuschränken. Derzeit SourceArn können unter diesen Bedingungen auch SourceAccount Schlüssel verwendet werden. Beispielsweise beschränkt die folgende Richtlinie den Zugriff auf Ihre Datenquelle auf das Konto123456789012:
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "appsync.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "123456789012"
}
}
}
]
}
Alternativ können Sie den Zugriff auf eine Datenquelle auf eine bestimmte API beschränken, z. B. abcdefghijklmnopq mithilfe der folgenden Richtlinie:
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "appsync.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"ArnEquals": {
"aws:SourceArn": "arn:aws:appsync:us-west-2:123456789012:apis/abcdefghijklmnopq"
}
}
}
]
}
Sie können den Zugriff auf alle AWS AppSync APIs aus einer bestimmten Region einschränkenus-east-1, z. B. mithilfe der folgenden Richtlinie:
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "appsync.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"ArnEquals": {
"aws:SourceArn": "arn:aws:appsync:us-east-1:123456789012:apis/*"
}
}
}
]
}
Im nächsten Abschnitt (Resolver konfigurieren) fügen wir unsere Resolver-Geschäftslogik hinzu und hängen sie an die Felder in unserem Schema an, um die Daten in unserer Datenquelle zu verarbeiten.
Weitere Informationen zur Konfiguration von Rollenrichtlinien finden Sie unter Ändern einer Rolle im IAM-Benutzerhandbuch.
Weitere Informationen zum kontoübergreifenden Zugriff auf AWS Lambda Resolver für finden Sie unter Erstellen von kontoübergreifenden AWS Lambda Resolvern für AWS AppSync. AWS AppSync