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à.
Costruire GraphQL APIs con l'introspezione RDS
AWS AppSync l'utilità di introspezione può scoprire modelli dalle tabelle del database e proporre tipi GraphQL. La API procedura guidata di creazione della AWS AppSync console può generare istantaneamente un file API da un database Aurora SQL My o SQL Postgree. Crea automaticamente tipi e JavaScript resolver per leggere e scrivere dati.
AWS AppSync fornisce l'integrazione diretta con i database Amazon Aurora tramite Amazon RDS Data. API Anziché richiedere una connessione persistente al database, Amazon RDS Data API offre un HTTP endpoint sicuro a cui AWS AppSync connettersi per l'esecuzione SQL dichiarazioni. Puoi usarlo per creare un database relazionale API per i tuoi SQL carichi di lavoro My SQL e Postgre su Aurora.
La creazione di un database API relazionale con cui creare un database relazionale presenta diversi vantaggi: AWS AppSync
-
Il database non è esposto direttamente ai client, il che significa che il punto di accesso è separato dal database stesso.
-
È possibile creare APIs soluzioni personalizzate in base alle esigenze di diverse applicazioni, eliminando la necessità di utilizzare logiche aziendali personalizzate nei frontend. Questo è in linea con lo schema (). Backend-For-Frontend BFF
-
L'autorizzazione e il controllo degli accessi possono essere implementati a AWS AppSync livello utilizzando varie modalità di autorizzazione per controllare l'accesso. Non sono necessarie risorse di elaborazione aggiuntive per connettersi al database, ad esempio l'hosting di un server Web o l'invio di connessioni tramite proxy.
-
È possibile aggiungere funzionalità in tempo reale tramite abbonamenti, con le mutazioni dei dati effettuate AppSync automaticamente tramite push ai client connessi.
-
I client possono connettersi all'APIover HTTPS utilizzando porte comuni come 443.
AWS AppSync semplifica la creazione APIs a partire da database relazionali esistenti. La sua utilità di introspezione può scoprire modelli dalle tabelle del database e proporre tipi GraphQL. La API procedura guidata di creazione della AWS AppSync console può generare istantaneamente un file API da un database Aurora SQL My o SQL Postgree. Crea automaticamente tipi e JavaScript resolver per leggere e scrivere dati.
AWS AppSync fornisce JavaScript utilità integrate per semplificare la scrittura SQL di istruzioni nei resolver. È possibile utilizzare i modelli AWS AppSync di sql
tag per istruzioni statiche con valori dinamici o le utilità del rds
modulo per creare istruzioni a livello di codice. Per ulteriori informazioni, consulta il riferimento alla funzione resolver per le fonti di RDS dati e i moduli integrati.
Utilizzo della funzione di introspezione (console)
Per un tutorial dettagliato e una guida introduttiva, vedi Tutorial: Aurora Postgre SQL Serverless with Data. API
La AWS AppSync console consente di creare un AWS AppSync GraphQL API dal database Aurora esistente configurato con i dati API in pochi minuti. Questo genera rapidamente uno schema operativo basato sulla configurazione del database. È possibile utilizzare lo strumento API così com'è o basarsi su di esso per aggiungere funzionalità.
-
Accedi a AWS Management Console e apri la AppSync console.
-
Nella dashboard, scegli Crea API.
-
-
In APIopzioni, scegli GraphQL APIs, Inizia con un cluster Amazon Aurora, quindi Avanti.
-
Inserisci un API nome. Verrà utilizzato come identificatore per API la console.
-
Per i dettagli di contatto, è possibile inserire un punto di contatto per identificare un responsabile diAPI. Questo campo è opzionale.
-
In APIConfigurazione privata, puoi abilitare API le funzionalità private. APIÈ possibile accedere a un dispositivo privato solo da un VPC endpoint configurato (VPCE). Per ulteriori informazioni, consulta Privato APIs.
Non è consigliabile abilitare questa funzionalità per questo esempio. Scegli Avanti dopo aver esaminato i dati inseriti.
-
-
Nella pagina Database, scegli Seleziona database.
-
È necessario scegliere il database dal cluster. Il primo passo è scegliere la regione in cui esiste il cluster.
-
Scegli il cluster Aurora dall'elenco a discesa. Nota che devi aver creato e abilitato i dati corrispondenti API prima di utilizzare la risorsa.
-
Successivamente, è necessario aggiungere le credenziali del database al servizio. Questo viene fatto principalmente utilizzando AWS Secrets Manager. Scegli la regione in cui esiste il tuo segreto. Per ulteriori informazioni su come recuperare informazioni segrete, consulta Trova segreti o Recupera segreti.
-
Aggiungi il tuo segreto dall'elenco a discesa. Tieni presente che l'utente deve disporre delle autorizzazioni di lettura per il tuo database.
-
-
Seleziona Importa.
AWS AppSync inizierà a esaminare il database, scoprendo tabelle, colonne, chiavi primarie e indici. Verifica che le tabelle scoperte possano essere supportate in un GraphQLAPI. Nota che per supportare la creazione di nuove righe, le tabelle necessitano di una chiave primaria, che può utilizzare più colonne. AWS AppSync mappa le colonne della tabella per digitare i campi come segue:
Tipo di dati Tipo di campo VARCHAR Stringa CHAR Stringa BINARY Stringa VARBINARY Stringa TINYBLOB Stringa TINYTEXT Stringa TEXT Stringa BLOB Stringa MEDIUMTEXT Stringa MEDIUMBLOB Stringa LONGTEXT Stringa LONGBLOB Stringa BOOL Booleano BOOLEAN Booleano BIT Int TINYINT Int SMALLINT Int MEDIUMINT Int INT Int INTEGER Int BIGINT Int YEAR Int FLOAT Float DOUBLE Float DECIMAL Float DEC Float NUMERIC Float DATE AWSDate TIMESTAMP Stringa DATETIME Stringa TIME AWSTime JSON AWSJson ENUM ENUM -
Una volta completata l'individuazione delle tabelle, la sezione Database verrà popolata con le informazioni dell'utente. Nella nuova sezione Tabelle del database, i dati della tabella potrebbero già essere compilati e convertiti in un tipo adatto allo schema. Se non vedi alcuni dei dati richiesti, puoi verificarli scegliendo Aggiungi tabelle, facendo clic sulle caselle di controllo relative a tali tipi nella finestra modale visualizzata, quindi scegliendo Aggiungi.
Per rimuovere un tipo dalla sezione Tabelle del database, fai clic sulla casella di controllo accanto al tipo che desideri rimuovere, quindi scegli Rimuovi. I tipi rimossi verranno inseriti nella modalità Aggiungi tabelle se desideri aggiungerli nuovamente in un secondo momento.
Nota che AWS AppSync utilizza i nomi delle tabelle come nomi di tipo, ma puoi rinominarli, ad esempio cambiando il nome di una tabella plurale come
movies
al nome del tipoMovie
. Per rinominare un tipo nella sezione Tabelle del database, fai clic sulla casella di controllo del tipo che desideri rinominare, quindi fai clic sull'icona a forma di matita nella colonna Nome tipo.Per visualizzare in anteprima il contenuto dello schema in base alle tue selezioni, scegli Anteprima schema. Tieni presente che questo schema non può essere vuoto, quindi dovrai convertire almeno una tabella in un tipo. Inoltre, questo schema non può superare 1 MB di dimensione.
-
In Ruolo di servizio, scegli se creare un nuovo ruolo di servizio specifico per questa importazione o utilizzare un ruolo esistente.
-
-
Scegli Next (Successivo).
-
Quindi, scegli se creare un file di sola lettura API (solo interrogazioni) o uno API per leggere e scrivere dati (con query e mutazioni). Quest'ultimo supporta anche abbonamenti in tempo reale innescati da mutazioni.
-
Scegli Next (Successivo).
-
Controlla le tue scelte e poi scegli Crea. API AWS AppSync creerà API e allegherà i resolver alle interrogazioni e alle mutazioni. Il generato API è completamente operativo e può essere esteso secondo necessità.
Utilizzo della funzione di introspezione () API
È possibile utilizzare l'StartDataSourceIntrospection
introspezione API per scoprire i modelli nel database a livello di codice. Per ulteriori dettagli sul comando, vedere Utilizzo di. StartDataSourceIntrospection
API
Per utilizzarloStartDataSourceIntrospection
, fornisci il tuo cluster Aurora Amazon Resource Name (ARN), il nome del database e AWS Secrets Manager il segreto. ARN Il comando avvia il processo di introspezione. È possibile recuperare i risultati con il comando. GetDataSourceIntrospection
È possibile specificare se il comando deve restituire la stringa Storage Definition Language (SDL) per i modelli scoperti. Ciò è utile per generare una definizione SDL dello schema direttamente dai modelli scoperti.
Ad esempio, se si dispone della seguente istruzione Data definition language (DDL) per una Todos
tabella semplice:
create table if not exists public.todos ( id serial constraint todos_pk primary key, description text, due timestamp, "createdAt" timestamp default now() );
Iniziate l'introspezione con quanto segue.
aws appsync start-data-source-introspection \ --rds-data-api-config resourceArn=<cluster-arn>,secretArn=<secret-arn>,databaseName=database
Quindi, utilizzate il GetDataSourceIntrospection
comando per recuperare il risultato.
aws appsync get-data-source-introspection \ --introspection-id a1234567-8910-abcd-efgh-identifier \ --include-models-sdl
Ciò restituisce il seguente risultato.
{ "introspectionId": "a1234567-8910-abcd-efgh-identifier", "introspectionStatus": "SUCCESS", "introspectionStatusDetail": null, "introspectionResult": { "models": [ { "name": "todos", "fields": [ { "name": "description", "type": { "kind": "Scalar", "name": "String", "type": null, "values": null }, "length": 0 }, { "name": "due", "type": { "kind": "Scalar", "name": "AWSDateTime", "type": null, "values": null }, "length": 0 }, { "name": "id", "type": { "kind": "NonNull", "name": null, "type": { "kind": "Scalar", "name": "Int", "type": null, "values": null }, "values": null }, "length": 0 }, { "name": "createdAt", "type": { "kind": "Scalar", "name": "AWSDateTime", "type": null, "values": null }, "length": 0 } ], "primaryKey": { "name": "PRIMARY_KEY", "fields": [ "id" ] }, "indexes": [], "sdl": "type todos\n{\ndescription: String\n\ndue: AWSDateTime\n\nid: Int!\n\ncreatedAt: AW SDateTime\n}\n" } ], "nextToken": null } }