

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

# AWS AppSync riferimento al modello di mappatura del resolver per RDS
<a name="resolver-mapping-template-reference-rds"></a>

I modelli di mappatura AWS AppSync dei resolver RDS consentono agli sviluppatori di inviare query SQL a un'API di dati per Amazon Aurora Serverless e ottenere il risultato di queste query.

## Richiedi un modello di mappatura
<a name="request-mapping-template"></a>

Il modello di mappatura della richiesta per RDS è abbastanza semplice:

```
{
    "version": "2018-05-29",
    "statements": [],
    "variableMap": {},
    "variableTypeHintMap": {}
}
```

Di seguito è riportata la rappresentazione dello schema JSON del modello di mappatura della richiesta RDS, dopo la risoluzione.

```
{
    "definitions": {},
    "$schema": "https://json-schema.org/draft-07/schema#",
    "$id": "https://example.com/root.json",
    "type": "object",
    "title": "The Root Schema",
    "required": [
        "version",
        "statements",
        "variableMap"
    ],
    "properties": {
        "version": {
            "$id": "#/properties/version",
            "type": "string",
            "title": "The Version Schema",
            "default": "",
            "examples": [
                "2018-05-29"
            ],
            "enum": [
                "2018-05-29"
            ],
            "pattern": "^(.*)$"
        },
        "statements": {
            "$id": "#/properties/statements",
            "type": "array",
            "title": "The Statements Schema",
            "items": {
                "$id": "#/properties/statements/items",
                "type": "string",
                "title": "The Items Schema",
                "default": "",
                "examples": [
                    "SELECT * from BOOKS"
                ],
                "pattern": "^(.*)$"
            }
        },
        "variableMap": {
            "$id": "#/properties/variableMap",
            "type": "object",
            "title": "The Variablemap Schema"
        },
        "variableTypeHintMap": {
            "$id": "#/properties/variableTypeHintMap",
            "type": "object",
            "title": "The variableTypeHintMap Schema"
        }
    }
}
```

Di seguito è riportato un esempio del modello di mappatura delle richieste con una query statica:

```
{
    "version": "2018-05-29",
    "statements": [
        "select title, isbn13 from BOOKS where author = 'Mark Twain'"
    ]
}
```

## Versione
<a name="version"></a>

Comune a tutti i modelli di mappatura delle richieste, il campo della versione definisce la versione utilizzata dal modello. Il campo della versione è obbligatorio. Il valore «2018-05-29" è l'unica versione supportata per i modelli di mappatura Amazon RDS.

```
"version": "2018-05-29"
```

## Dichiarazioni e VariableMap
<a name="statements-variablemap"></a>

L'array statements è un segnaposto per le query fornite dallo sviluppatore. Attualmente sono supportate fino a due query per modello di mappatura delle richieste. `variableMap`È un campo facoltativo che contiene alias che possono essere utilizzati per rendere le istruzioni SQL più brevi e più leggibili. Ad esempio, è possibile quanto segue:

```
{
"version": "2018-05-29",
    "statements": [
        "insert into BOOKS VALUES (:AUTHOR, :TITLE, :ISBN13)",
        "select * from BOOKS WHERE isbn13 = :ISBN13"
    ],
    "variableMap": {
        ":AUTHOR": $util.toJson($ctx.args.newBook.author),
        ":TITLE": $util.toJson($ctx.args.newBook.title),
        ":ISBN13": $util.toJson($ctx.args.newBook.isbn13)
    }
}
```

AWS AppSync utilizzerà i valori delle mappe variabili per creare le **[SqlParameterized](https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_SqlParameter.html)**query che verranno inviate all'API Amazon Aurora Serverless Data. Le istruzioni SQL vengono eseguite con i parametri forniti nella mappa variabile, il che elimina il rischio di iniezione SQL. 

## VariableTypeHintMap
<a name="variabletypehintmap"></a>

`variableTypeHintMap`È un campo opzionale contenente tipi di alias che possono essere utilizzati per inviare suggerimenti sui tipi di [parametri SQL](https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_SqlParameter.html). Questi suggerimenti di tipo evitano l'inserimento esplicito nelle istruzioni SQL, rendendole più brevi. Ad esempio, è possibile quanto segue:

```
{
    "version": "2018-05-29",
    "statements": [
        "insert into LOGINDATA VALUES (:ID, :TIME)",
        "select * from LOGINDATA WHERE id = :ID"
     ],
     "variableMap": {
        ":ID": $util.toJson($ctx.args.id),
        ":TIME": $util.toJson($ctx.args.time)
     },
     "variableTypeHintMap": {
        ":id": "UUID",
        ":time": "TIME"
     }
}
```

AWS AppSync utilizzerà il valore della mappa variabile per creare le query inviate all'API Amazon Aurora Serverless Data. Inoltre utilizza i `variableTypeHintMap` dati e invia le informazioni del tipo a RDS. [La versione supportata da RDS `typeHints` è disponibile qui.](https://docs.aws.amazon.com/rdsdataservice/latest/APIReference/API_SqlParameter.html)