Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Tipi scalari in GraphQL

Modalità Focus
Tipi scalari in GraphQL - AWS AppSync GraphQL

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à.

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à.

Un tipo di oggetto GraphQL ha un nome e campi e tali campi possono avere sottocampi. In definitiva, i campi di un tipo di oggetto devono risolversi in tipi scalari, che rappresentano i fogli della query. Per ulteriori informazioni sui tipi di oggetti e sugli scalari, consulta Schemi e tipi sul sito Web GraphQL.

Oltre al set predefinito di scalari GraphQL, consente AWS AppSync anche di utilizzare gli scalari definiti dal servizio che iniziano con il prefisso. AWS AWS AppSync non supporta la creazione di scalari definiti dall'utente (personalizzati). È necessario utilizzare gli scalari predefiniti o AWSquelli scalari.

Non è possibile utilizzare AWScome prefisso per tipi di oggetti personalizzati.

La sezione seguente è un riferimento per la digitazione dello schema.

Scalari predefiniti

GraphQL definisce i seguenti scalari predefiniti:

ID

Un identificatore univoco per un oggetto. Questo scalare è serializzato come un String ma non è pensato per essere leggibile dall'uomo.

String

Una sequenza di caratteri UTF-8.

Int

Un valore intero compreso tra - (2 31) e 2 31 -1.

Float

Un valore in virgola mobile IEEE 754.

Boolean

Un valore booleano, true o false.

Elenco degli scalari predefiniti

ID

Un identificatore univoco per un oggetto. Questo scalare è serializzato come un String ma non è pensato per essere leggibile dall'uomo.

String

Una sequenza di caratteri UTF-8.

Int

Un valore intero compreso tra - (2 31) e 2 31 -1.

Float

Un valore in virgola mobile IEEE 754.

Boolean

Un valore booleano, true o false.

AWS AppSync scalari

AWS AppSync definisce i seguenti scalari:

AWSDate

Una stringa di data ISO 8601 estesa nel formato. YYYY-MM-DD

AWSTime

Una stringa temporale ISO 8601 estesa nel formato. hh:mm:ss.sss

AWSDateTime

Una stringa estesa di data e ora ISO 8601 nel formato. YYYY-MM-DDThh:mm:ss.sssZ

Nota

Gli AWSDateTime scalari AWSDateAWSTime, e possono facoltativamente includere un offset del fuso orario. Ad esempio, i valori 1970-01-01Z1970-01-01-07:00, e 1970-01-01+05:30 sono tutti validi per. AWSDate L'offset del fuso orario deve essere Z (UTC) o un offset in ore e minuti (e, facoltativamente, secondi). Ad esempio ±hh:mm:ss. Il campo dei secondi nell'offset del fuso orario è considerato valido anche se non fa parte dello standard ISO 8601.

AWSTimestamp

Un valore intero che rappresenta il numero di secondi prima o dopo. 1970-01-01-T00:00Z

AWSEmail

Un indirizzo e-mail nel formato local-part@domain-part definito da RFC 822.

AWSJSON

Una stringa JSON. Qualsiasi costrutto JSON valido viene automaticamente analizzato e caricato nel codice del resolver come mappe, elenchi o valori scalari anziché come stringhe di input letterali. Le stringhe senza virgolette o il codice JSON altrimenti non valido generano un errore di convalida GraphQL.

AWSPhone

Un numero di telefono. Questo valore viene memorizzato come stringa. I numeri di telefono possono contenere spazi o trattini per separare gruppi di cifre. Si presume che i numeri di telefono senza prefisso internazionale siano numeri statunitensi o nordamericani che aderiscono al North American Numbering Plan (NANP).

AWSURL

Un URL come definito da RFC 1738. Ad esempio, https://www.amazon.com/dp/B000NZW3KC/ o. mailto:example@example.com URLsdeve contenere uno schema (http,mailto) e non può contenere due barre (//) nella parte del percorso.

AWSIPAddress

Un IPv6 indirizzo IPv4 o valido. IPv4 gli indirizzi sono previsti in notazione quadrupla (). 123.12.34.56 IPv6 gli indirizzi sono previsti in formato non tra parentesi e separati da due punti (). 1a2b:3c4b::1234:4567 È possibile includere un suffisso CIDR opzionale () 123.45.67.89/16 per indicare la subnet mask.

AWS AppSync elenco degli scalari

AWSDate

Una stringa di data ISO 8601 estesa nel formato. YYYY-MM-DD

AWSTime

Una stringa temporale ISO 8601 estesa nel formato. hh:mm:ss.sss

AWSDateTime

Una stringa estesa di data e ora ISO 8601 nel formato. YYYY-MM-DDThh:mm:ss.sssZ

Nota

Gli AWSDateTime scalari AWSDateAWSTime, e possono facoltativamente includere un offset del fuso orario. Ad esempio, i valori 1970-01-01Z1970-01-01-07:00, e 1970-01-01+05:30 sono tutti validi per. AWSDate L'offset del fuso orario deve essere Z (UTC) o un offset in ore e minuti (e, facoltativamente, secondi). Ad esempio ±hh:mm:ss. Il campo dei secondi nell'offset del fuso orario è considerato valido anche se non fa parte dello standard ISO 8601.

AWSTimestamp

Un valore intero che rappresenta il numero di secondi prima o dopo. 1970-01-01-T00:00Z

AWSEmail

Un indirizzo e-mail nel formato local-part@domain-part definito da RFC 822.

AWSJSON

Una stringa JSON. Qualsiasi costrutto JSON valido viene automaticamente analizzato e caricato nel codice del resolver come mappe, elenchi o valori scalari anziché come stringhe di input letterali. Le stringhe senza virgolette o il codice JSON altrimenti non valido generano un errore di convalida GraphQL.

AWSPhone

Un numero di telefono. Questo valore viene memorizzato come stringa. I numeri di telefono possono contenere spazi o trattini per separare gruppi di cifre. Si presume che i numeri di telefono senza prefisso internazionale siano numeri statunitensi o nordamericani che aderiscono al North American Numbering Plan (NANP).

AWSURL

Un URL come definito da RFC 1738. Ad esempio, https://www.amazon.com/dp/B000NZW3KC/ o. mailto:example@example.com URLsdeve contenere uno schema (http,mailto) e non può contenere due barre (//) nella parte del percorso.

AWSIPAddress

Un IPv6 indirizzo IPv4 o valido. IPv4 gli indirizzi sono previsti in notazione quadrupla (). 123.12.34.56 IPv6 gli indirizzi sono previsti in formato non tra parentesi e separati da due punti (). 1a2b:3c4b::1234:4567 È possibile includere un suffisso CIDR opzionale () 123.45.67.89/16 per indicare la subnet mask.

Esempio di utilizzo dello schema

Lo schema GraphQL di esempio seguente utilizza tutti gli scalari personalizzati come «oggetto» e mostra i modelli di richiesta e risposta del resolver per le operazioni di base di put, get e list. Infine, l'esempio mostra come è possibile utilizzarlo durante l'esecuzione di query e mutazioni.

type Mutation { putObject( email: AWSEmail, json: AWSJSON, date: AWSDate, time: AWSTime, datetime: AWSDateTime, timestamp: AWSTimestamp, url: AWSURL, phoneno: AWSPhone, ip: AWSIPAddress ): Object } type Object { id: ID! email: AWSEmail json: AWSJSON date: AWSDate time: AWSTime datetime: AWSDateTime timestamp: AWSTimestamp url: AWSURL phoneno: AWSPhone ip: AWSIPAddress } type Query { getObject(id: ID!): Object listObjects: [Object] } schema { query: Query mutation: Mutation }

Ecco come putObject potrebbe apparire un modello di richiesta. A putObject utilizza un'PutItemoperazione per creare o aggiornare un elemento nella tabella Amazon DynamoDB. Tieni presente che questo frammento di codice non ha una tabella Amazon DynamoDB configurata come origine dati. Questo viene usato solo come esempio:

{ "version" : "2017-02-28", "operation" : "PutItem", "key" : { "id": $util.dynamodb.toDynamoDBJson($util.autoId()), }, "attributeValues" : $util.dynamodb.toMapValuesJson($ctx.args) }

Il modello di risposta per putObject restituisce i risultati:

$util.toJson($ctx.result)

Ecco come getObject potrebbe apparire un modello di richiesta. A getObject utilizza un'GetItemoperazione per restituire un insieme di attributi per l'elemento a cui è stata assegnata la chiave primaria. Tieni presente che questo frammento di codice non ha una tabella Amazon DynamoDB configurata come origine dati. Questo viene usato solo come esempio:

{ "version": "2017-02-28", "operation": "GetItem", "key": { "id": $util.dynamodb.toDynamoDBJson($ctx.args.id), } }

Il modello di risposta per getObject restituisce i risultati:

$util.toJson($ctx.result)

Ecco come listObjects potrebbe apparire un modello di richiesta. A listObjects utilizza un'Scanoperazione per restituire uno o più elementi e attributi. Tieni presente che questo frammento di codice non ha una tabella Amazon DynamoDB configurata come origine dati. Questo viene usato solo come esempio:

{ "version" : "2017-02-28", "operation" : "Scan", }

Il modello di risposta per listObjects restituisce i risultati:

$util.toJson($ctx.result.items)

Di seguito sono riportati alcuni esempi di utilizzo di questo schema con le query GraphQL:

mutation CreateObject { putObject(email: "example@example.com" json: "{\"a\":1, \"b\":3, \"string\": 234}" date: "1970-01-01Z" time: "12:00:34." datetime: "1930-01-01T16:00:00-07:00" timestamp: -123123 url:"https://amazon.com" phoneno: "+1 555 764 4377" ip: "127.0.0.1/8" ) { id email json date time datetime url timestamp phoneno ip } } query getObject { getObject(id:"0d97daf0-48e6-4ffc-8d48-0537e8a843d2"){ email url timestamp phoneno ip } } query listObjects { listObjects { json date time datetime } }

In questa pagina

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.