Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Extensiones

Modo de enfoque
Extensiones - AWS AppSync GraphQL

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

extensions contiene un conjunto de métodos para realizar acciones adicionales en sus solucionadores.

extensions.evictFromApiCache(typeName: string, fieldName: string, keyValuePair: Record<string, string>) : Object

Expulsa un elemento de la memoria caché del AWS AppSync servidor. El primer argumento es el nombre de tipo. El segundo argumento es el nombre de campo. El tercer argumento es un objeto que contiene elementos de pares clave-valor que especifican el valor clave de almacenamiento en caché. Debe colocar los elementos del objeto en el mismo orden que las claves de almacenamiento en caché del elemento cachingKey del solucionador almacenado en caché. Para obtener más información acerca del almacenamiento en caché, consulte la sección sobre el comportamiento de almacenamiento en caché.

Ejemplo 1:

En este ejemplo, se expulsan los elementos que se almacenaron en caché para un solucionador llamado Query.allClasses en el que se usó una clave de almacenamiento en caché denominada context.arguments.semester. Cuando se llama a la mutación y se ejecuta el solucionador, si una entrada se borra correctamente, la respuesta contiene un valor apiCacheEntriesDeleted en el objeto de extensiones que muestra cuántas entradas se eliminaron.

import { util, extensions } from '@aws-appsync/utils'; export const request = (ctx) => ({ payload: null }); export function response(ctx) { extensions.evictFromApiCache('Query', 'allClasses', { 'context.arguments.semester': ctx.args.semester, }); return null; }
nota

Esta función solo funciona para mutaciones, no para consultas.

extensions.evictFromApiCache(typeName: string, fieldName: string, keyValuePair: Record<string, string>) : Object

Expulsa un elemento de la memoria caché del AWS AppSync servidor. El primer argumento es el nombre de tipo. El segundo argumento es el nombre de campo. El tercer argumento es un objeto que contiene elementos de pares clave-valor que especifican el valor clave de almacenamiento en caché. Debe colocar los elementos del objeto en el mismo orden que las claves de almacenamiento en caché del elemento cachingKey del solucionador almacenado en caché. Para obtener más información acerca del almacenamiento en caché, consulte la sección sobre el comportamiento de almacenamiento en caché.

Ejemplo 1:

En este ejemplo, se expulsan los elementos que se almacenaron en caché para un solucionador llamado Query.allClasses en el que se usó una clave de almacenamiento en caché denominada context.arguments.semester. Cuando se llama a la mutación y se ejecuta el solucionador, si una entrada se borra correctamente, la respuesta contiene un valor apiCacheEntriesDeleted en el objeto de extensiones que muestra cuántas entradas se eliminaron.

import { util, extensions } from '@aws-appsync/utils'; export const request = (ctx) => ({ payload: null }); export function response(ctx) { extensions.evictFromApiCache('Query', 'allClasses', { 'context.arguments.semester': ctx.args.semester, }); return null; }
nota

Esta función solo funciona para mutaciones, no para consultas.

extensions.setSubscriptionFilter(filterJsonObject)

Define filtros de suscripción mejorados. Cada evento de notificación de suscripción se evalúa con respecto a los filtros de suscripción proporcionados y envía notificaciones a los clientes si todos los filtros se evalúan como true. El argumento es filterJsonObject (puede encontrar más información sobre este argumento a continuación, en la filterJsonObject sección Argumento:). Consulte el artículo sobre filtrado de suscripciones mejorado.

nota

Puede usar esta función de extensión solo en el controlador de respuestas de un solucionador de suscripción. Además, recomendamos usar util.transform.toSubscriptionFilter para crear su filtro.

extensions.setSubscriptionInvalidationFilter(filterJsonObject)

Define los filtros de invalidación de suscripciones. Los filtros de suscripción se evalúan con respecto a la carga de invalidación y, a continuación, invalidan una suscripción determinada si los filtros se evalúan como true. El argumento es filterJsonObject (puede encontrar más información sobre este argumento a continuación, en la filterJsonObject sección Argumento:). Consulte el artículo sobre filtrado de suscripciones mejorado.

nota

Puede usar esta función de extensión solo en el controlador de respuestas de un solucionador de suscripción. Además, recomendamos usar util.transform.toSubscriptionFilter para crear su filtro.

extensions.invalidateSubscriptions(invalidationJsonObject)

Se utiliza para iniciar la invalidación de una suscripción a partir de una mutación. El argumento es invalidationJsonObject (puede encontrar más información sobre este argumento a continuación, en la invalidationJsonObject sección Argumento:).

nota

Esta extensión solo se puede usar en las plantillas de mapeo de respuestas de los solucionadores de mutaciones.

Solo puede usar como máximo cinco llamadas al método extensions.invalidateSubscriptions() únicas en una sola solicitud. Si supera este límite, recibirá un error de GraphQL.

extensions.setSubscriptionFilter(filterJsonObject)

Define filtros de suscripción mejorados. Cada evento de notificación de suscripción se evalúa con respecto a los filtros de suscripción proporcionados y envía notificaciones a los clientes si todos los filtros se evalúan como true. El argumento es filterJsonObject (puede encontrar más información sobre este argumento a continuación, en la filterJsonObject sección Argumento:). Consulte el artículo sobre filtrado de suscripciones mejorado.

nota

Puede usar esta función de extensión solo en el controlador de respuestas de un solucionador de suscripción. Además, recomendamos usar util.transform.toSubscriptionFilter para crear su filtro.

extensions.setSubscriptionInvalidationFilter(filterJsonObject)

Define los filtros de invalidación de suscripciones. Los filtros de suscripción se evalúan con respecto a la carga de invalidación y, a continuación, invalidan una suscripción determinada si los filtros se evalúan como true. El argumento es filterJsonObject (puede encontrar más información sobre este argumento a continuación, en la filterJsonObject sección Argumento:). Consulte el artículo sobre filtrado de suscripciones mejorado.

nota

Puede usar esta función de extensión solo en el controlador de respuestas de un solucionador de suscripción. Además, recomendamos usar util.transform.toSubscriptionFilter para crear su filtro.

extensions.invalidateSubscriptions(invalidationJsonObject)

Se utiliza para iniciar la invalidación de una suscripción a partir de una mutación. El argumento es invalidationJsonObject (puede encontrar más información sobre este argumento a continuación, en la invalidationJsonObject sección Argumento:).

nota

Esta extensión solo se puede usar en las plantillas de mapeo de respuestas de los solucionadores de mutaciones.

Solo puede usar como máximo cinco llamadas al método extensions.invalidateSubscriptions() únicas en una sola solicitud. Si supera este límite, recibirá un error de GraphQL.

Argumento: filterJsonObject

El objeto JSON define los filtros de suscripción o invalidación. Es una matriz de filtros en un filterGroup. Cada filtro es una colección de filtros individuales.

{ "filterGroup": [ { "filters" : [ { "fieldName" : "userId", "operator" : "eq", "value" : 1 } ] }, { "filters" : [ { "fieldName" : "group", "operator" : "in", "value" : ["Admin", "Developer"] } ] } ] }

Cada filtro tiene tres atributos:

  • fieldName: campo de esquema de GraphQL.

  • operator: tipo de operador.

  • value: valores que se van a comparar con el valor fieldName de notificación de suscripción.

A continuación se muestra un ejemplo de asignación de estos atributos:

{ "fieldName" : "severity", "operator" : "le", "value" : context.result.severity }

Argumento: invalidationJsonObject

El invalidationJsonObject define lo siguiente:

  • subscriptionField: suscripción del esquema de GraphQL a invalidar. Se baraja la posibilidad de invalidar una suscripción única, definida como cadena en el subscriptionField.

  • payload: lista de pares clave-valor que se utiliza como entrada para la invalidación de suscripciones si el filtro de invalidación se evalúa como true en comparación con sus valores.

    En el siguiente ejemplo se invalida a los clientes suscritos y conectados que utilizan la suscripción onUserDelete cuando el filtro de invalidación definido en el solucionador de suscripción se evalúa como true en comparación con el valor payload.

    export const request = (ctx) => ({ payload: null }); export function response(ctx) { extensions.invalidateSubscriptions({ subscriptionField: 'onUserDelete', payload: { group: 'Developer', type: 'Full-Time' }, }); return ctx.result; }

En esta página

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.