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

BatchPutItem

Modo de foco
BatchPutItem - 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 objeto de BatchPutItem solicitação permite que você peça à função do AWS AppSync DynamoDB que faça uma BatchWriteItem solicitação ao DynamoDB para colocar vários itens, potencialmente em várias tabelas. Para esse objeto de solicitação, você deve especificar o seguinte:

  • Os nomes da tabela na qual inserir os itens

  • Os itens completos a serem inseridos em cada tabela

Os limites BatchWriteItem do DynamoDB se aplicam e nenhuma expressão de condição pode ser fornecida.

O objeto de solicitação BatchPutItem tem a seguinte estrutura:

type DynamoDBBatchPutItemRequest = { operation: 'BatchPutItem'; tables: { [tableName: string]: { [key: string]: any}[]; }; };

Os campos são definidos da seguinte forma:

BatchPutItem campos

operation

A operação do DynamoDB para execução. Para executar a operação BatchPutItem do DynamoDB, ela deve ser definida como BatchPutItem. Este valor é obrigatório.

tables

As tabelas do DynamoDB nas quais inserir os itens. Cada entrada da tabela representa uma lista de itens do DynamoDB a serem inseridos nesta tabela específica. Pelo menos uma tabela deve ser fornecida. Este valor é obrigatório.

BatchPutItem lista de campos

operation

A operação do DynamoDB para execução. Para executar a operação BatchPutItem do DynamoDB, ela deve ser definida como BatchPutItem. Este valor é obrigatório.

tables

As tabelas do DynamoDB nas quais inserir os itens. Cada entrada da tabela representa uma lista de itens do DynamoDB a serem inseridos nesta tabela específica. Pelo menos uma tabela deve ser fornecida. Este valor é obrigatório.

Informações importantes:

  • Os itens totalmente inseridos são retornados na resposta, se bem-sucedidos.

  • Se um item não tiver sido inserido na tabela, um elemento nulo será exibido no bloco de dados dessa tabela.

  • Os itens inseridos são classificados por tabela, com base na ordem em que foram fornecidos dentro do objeto de solicitação.

  • Cada comando Put dentro de um BatchPutItem é atômico, no entanto, um lote pode ser parcialmente processado. Se um lote for parcialmente processado devido a um erro, as chaves não processadas serão retornadas como parte do resultado da chamada dentro do bloco unprocessedKeys.

  • O BatchPutItem é limitado a 25 itens.

  • Essa operação não é compatível quando usada com detecção de conflitos. Usar ambos ao mesmo tempo pode gerar um erro.

Veja a seguir um exemplo de manipulador de solicitação de função:

import { util } from '@aws-appsync/utils'; export function request(ctx) { const { authorId, postId, name, title } = ctx.args; return { operation: 'BatchPutItem', tables: { authors: [util.dynamodb.toMapValues({ authorId, name })], posts: [util.dynamodb.toMapValues({ authorId, postId, title })], }, }; }

O resultado de invocação disponível em ctx.result é o seguinte:

{ "data": { "authors": [ null ], "posts": [ // Was inserted { "authorId": "a1", "postId": "p2", "title": "title" } ] }, "unprocessedItems": { "authors": [ // This item was not processed due to an error { "authorId": "a1", "name": "a1_name" } ], "posts": [] } }

O ctx.error contém detalhes sobre o erro. As chaves data, unprocessedItems e todas as chaves de tabela fornecidas no objeto de solicitação estão presentes no resultado da invocação. Os itens que foram inseridos estão no bloco data. Itens que não foram processados são marcados como nulos no bloco de dados e colocados dentro do bloco unprocessedItems.

Nesta página

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.