Referência de função do resolvedor de JavaScript do AWS AppSync para HTTP - AWS AppSync

Referência de função do resolvedor de JavaScript do AWS AppSync para HTTP

As funções do resolvedor HTTP do AWS AppSync permitem que você envie as solicitações do AWS AppSync para qualquer endpoint HTTP e as respostas do endpoint HTTP de volta para o AWS AppSync. Com seu manipulador de solicitações, você pode fornecer dicas ao AWS AppSync sobre a natureza da operação a ser invocada. Esta seção descreve as diferentes configurações para o resolvedor HTTP compatível.

Solicitação

type HTTPRequest = { method: 'PUT' | 'POST' | 'GET' | 'DELETE' | 'PATCH'; params?: { query?: { [key: string]: any }; headers?: { [key: string]: string }; body?: any; }; resourcePath: string; };

O snippet a seguir é um exemplo de uma solicitação HTTP POST, com um corpo text/plain:

export function request(ctx) { return { method: 'POST', params: { headers: { 'Content-Type': 'text/plain' }, body: 'this is an example of text body', }, resourcePath: '/', }; }

Método

nota

Isto se aplica somente ao manipulador de solicitações.

Método ou verbo HTTP (GET, POST, PUT, PATCH ou DELETE) que o AWS AppSync envia ao endpoint HTTP.

"method": "PUT"

ResourcePath

nota

Isto se aplica somente ao manipulador de solicitações.

O caminho do recurso que você deseja acessar. Junto com o endpoint na fonte de dados HTTP, o caminho do recurso compõe o URL ao qual o serviço AWS AppSync faz uma solicitação.

"resourcePath": "/v1/users"

Quando a solicitação é avaliada, esse caminho é enviado como parte da solicitação HTTP, incluindo o endpoint HTTP. Por exemplo, o exemplo anterior pode ser traduzido para o seguinte:

PUT <endpoint>/v1/users

Campo Params

nota

Isto se aplica somente ao manipulador de solicitações.

Usado para especificar qual ação é executada pela pesquisa, geralmente definindo o valor consulta dentro do corpo. No entanto, existem vários outros recursos que podem ser configurados, como a formatação de respostas.

headers

As informações do cabeçalho, como pares de chave/valor. A chave e o valor devem ser strings.

Por exemplo:

"headers" : { "Content-Type" : "application/json" }

Atualmente, os cabeçalhos Content-Type compatíveis são:

text/* application/xml application/json application/soap+xml application/x-amz-json-1.0 application/x-amz-json-1.1 application/vnd.api+json application/x-ndjson

Não é possível definir os seguintes cabeçalhos HTTP:

HOST CONNECTION USER-AGENT EXPECTATION TRANSFER_ENCODING CONTENT_LENGTH
query

Os pares de chave/valor que especificam opções comuns, como formatação de código para respostas JSON. A chave e o valor devem ser strings. O exemplo a seguir mostra como enviar uma string de consulta como ?type=json:

"query" : { "type" : "json" }
body

O corpo contém o corpo da solicitação HTTP escolhido para definição. O corpo da solicitação sempre é uma string codificada em UTF-8, a menos que o tipo de conteúdo especifique o conjunto de caracteres.

"body":"body string"

Resposta

Veja um exemplo aqui.