Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

AWS AppSync JavaScript referência da função resolvedor para OpenSearch

Modo de foco
AWS AppSync JavaScript referência da função resolvedor para OpenSearch - AWS AppSync GraphQL

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

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

O AWS AppSync resolvedor do Amazon OpenSearch Service permite que você use o GraphQL para armazenar e recuperar dados em domínios de OpenSearch serviço existentes em sua conta. Esse resolvedor funciona permitindo que você mapeie uma solicitação de entrada do GraphQL em OpenSearch uma solicitação de serviço e, em seguida, mapeie a resposta do serviço de volta para OpenSearch o GraphQL. Esta seção descreve os manipuladores de solicitações e respostas de função para as operações de OpenSearch serviço suportadas.

Solicitação

A maioria dos objetos de solicitação de OpenSearch serviço tem uma estrutura comum em que apenas algumas partes são alteradas. O exemplo a seguir executa uma pesquisa em um domínio OpenSearch de serviço, no qual os documentos são do tipo post e estão indexados abaixoid. Os parâmetros de pesquisa são definidos na seção body, com muitas das cláusulas de consulta comuns definidas no campo query. Esse exemplo pesquisará documentos que contém "Nadia", "Bailey" ou ambos no campo author de um documento:

export function request(ctx) { return { operation: 'GET', path: '/id/post/_search', params: { headers: {}, queryString: {}, body: { from: 0, size: 50, query: { bool: { should: [ { match: { author: 'Nadia' } }, { match: { author: 'Bailey' } }, ], }, }, }, }, }; }

Resposta

Assim como em outras fontes de dados, o OpenSearch Service envia uma resposta AWS AppSync que precisa ser convertida em GraphQL.

A maioria das consultas do GraphQL está procurando o _source campo a partir de uma OpenSearch resposta de serviço. Como você pode fazer pesquisas para retornar um documento individual ou uma lista de documentos, há dois padrões de resposta comuns usados no OpenSearch Service:

Lista de resultados

export function response(ctx) { const entries = []; for (const entry of ctx.result.hits.hits) { entries.push(entry['_source']); } return entries; }

Item individual

export function response(ctx) { return ctx.result['_source'] }

operation field

nota

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

Método ou verbo HTTP (GET, POST, PUT, HEAD ou DELETE) que é AWS AppSync enviado para o domínio do OpenSearch Serviço. A chave e o valor devem ser strings.

"operation" : "PUT"

path field

nota

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

O caminho de pesquisa para uma solicitação de OpenSearch serviço de AWS AppSync. Isso forma um URL para o verbo HTTP da operação. A chave e o valor devem ser strings.

"path" : "/indexname/type" "path" : "/indexname/type/_search"

Quando o manipulador da solicitação é avaliado, esse caminho é enviado como parte da solicitação HTTP, incluindo o domínio do OpenSearch serviço. Por exemplo, o exemplo anterior pode ser traduzido como:

GET https://opensearch-domain-name.REGION.es.amazonaws.com/indexname/type/_search

params field

nota

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

Usado para especificar qual é 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" }

    nota

    AWS AppSync atualmente suporta apenas JSON como a. Content-Type

  • queryString

    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. Por exemplo, se quiser obter JSON bem formatado, use:

    "queryString" : { "pretty" : "true" }
  • body

    Essa é a parte principal da sua solicitação, permitindo AWS AppSync criar uma solicitação de pesquisa bem formada para seu domínio OpenSearch de serviço. A chave deve ser uma string composta por um objeto. Algumas demonstrações são mostradas abaixo.

Exemplo 1

Retornar todos os documentos com uma cidade correspondente a "seattle":

export function request(ctx) { return { operation: 'GET', path: '/id/post/_search', params: { headers: {}, queryString: {}, body: { from: 0, size: 50, query: { match: { city: 'seattle' } } }, }, }; }

Exemplo 2

Retornar todos os documentos correspondentes a "washington" como a cidade ou o estado:

export function request(ctx) { return { operation: 'GET', path: '/id/post/_search', params: { headers: {}, queryString: {}, body: { from: 0, size: 50, query: { multi_match: { query: 'washington', fields: ['city', 'state'] }, }, }, }, }; }

Envio de variáveis

nota

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

Você também pode passar variáveis como parte da avaliação no seu manipulador de solicitações. Por exemplo, digamos que tenha uma consulta do GraphQL como a seguinte:

query { searchForState(state: "washington"){ ... } }

O manipulador de solicitação de função pode ser o seguinte:

export function request(ctx) { return { operation: 'GET', path: '/id/post/_search', params: { headers: {}, queryString: {}, body: { from: 0, size: 50, query: { multi_match: { query: ctx.args.state, fields: ['city', 'state'] }, }, }, }, }; }
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.