AWS AppSync referência do modelo de mapeamento do resolvedor para RDS - AWS AppSync

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS AppSync referência do modelo de mapeamento do resolvedor para RDS

Os modelos de mapeamento do AWS AppSync RDS resolvedor permitem que os desenvolvedores enviem SQL consultas API para um Data for Amazon Aurora Serverless e recuperem o resultado dessas consultas.

Modelo de mapeamento de solicitações

O modelo de mapeamento de RDS solicitações é bem simples:

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

Aqui está a representação do JSON esquema do modelo de mapeamento da RDS solicitação, uma vez resolvido.

{ "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" } } }

Veja a seguir um exemplo de modelo de mapeamento de solicitação com uma consulta estática:

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

Version (Versão)

Comum a todos os modelos de mapeamento de solicitação, o campo de versão define a versão usada pelo modelo. O campo de versão é obrigatório. O valor “2018-05-29” é a única versão compatível com os modelos de mapeamento da AmazonRDS.

"version": "2018-05-29"

Declarações e VariableMap

A matriz de instruções é um espaço reservado para as consultas fornecidas pelo desenvolvedor. Atualmente, oferecemos suporte a até duas consultas por modelo de mapeamento de solicitação. variableMapÉ um campo opcional que contém aliases que podem ser usados para tornar as SQL instruções mais curtas e mais legíveis. O seguinte exemplo é possível:

{ "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 usará os valores do mapa variável para criar SqlParameterizedas consultas que serão enviadas aos dados sem servidor do Amazon Aurora. API As SQL instruções são executadas com parâmetros fornecidos no mapa de variáveis, o que elimina o risco de SQL injeção.

VariableTypeHintMap

variableTypeHintMapÉ um campo opcional que contém tipos de alias que podem ser usados para enviar dicas de tipos de SQLparâmetros. Essas dicas de tipo evitam a inclusão explícita das SQL declarações, tornando-as mais curtas. O seguinte exemplo é possível:

{ "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 usará o valor do mapa variável para criar as consultas que são enviadas aos dados sem servidor do Amazon Aurora. API Ele também usa os variableTypeHintMap dados e envia as informações do tipo para RDS o. RDS-suportado typeHints pode ser encontrado aqui.