

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Risolutore
<a name="sam-property-graphqlapi-resolver"></a>

Configura i resolver per i campi della tua API. GraphQL AWS Serverless Application Model [(AWS SAM) supporta JavaScript i resolver per pipeline.](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-overview-js.html)

## Sintassi
<a name="sam-property-graphqlapi-resolver-syntax"></a>

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

### YAML
<a name="sam-property-graphqlapi-resolver-syntax-yaml"></a>

```
OperationType:
  LogicalId:
    Caching: [CachingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html)
    CodeUri: String
    FieldName: String
    InlineCode: String 
    MaxBatchSize: Integer
    Pipeline: List
    Runtime: Runtime
    Sync: [SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html)
```

## Properties
<a name="sam-property-graphqlapi-resolver-properties"></a>

`Caching`  <a name="sam-graphqlapi-resolver-caching"></a>
La configurazione di memorizzazione nella cache per il resolver che ha attivato la memorizzazione nella cache.  
*Tipo:* [CachingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html)  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[CachingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-cachingconfig)` proprietà di una risorsa. `AWS::AppSync::Resolver`

`CodeUri`  <a name="sam-graphqlapi-resolver-codeuri"></a>
L'URI o il percorso di una cartella locale del codice della funzione resolver di Amazon Simple Storage Service (Amazon S3).  
Se specifichi un percorso verso una cartella locale, è CloudFormation necessario che il file venga prima caricato su Amazon S3 prima della distribuzione. Puoi usare il AWS SAMCLI per facilitare questo processo. Per ulteriori informazioni, consulta [Come AWS SAM vengono caricati i file locali al momento della distribuzione](deploy-upload-local-files.md).  
Se nessuno dei due `CodeUri` `InlineCode` viene fornito, AWS SAM genererà `InlineCode` che reindirizza la richiesta alla prima funzione di pipeline e riceve la risposta dall'ultima funzione di pipeline.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[CodeS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-codes3location)` proprietà di una risorsa. `AWS::AppSync::Resolver`

`FieldName`  <a name="sam-graphqlapi-resolver-fieldname"></a>
Il nome del tuo resolver. Specificate questa proprietà per sovrascrivere il valore. `LogicalId`  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[FieldName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-fieldname)` proprietà di una `AWS::AppSync::Resolver` risorsa.

`InlineCode`  <a name="sam-graphqlapi-resolver-inlinecode"></a>
Il codice del resolver che contiene le funzioni di richiesta e risposta.  
Se nessuna delle due `CodeUri` o `InlineCode` viene fornita, AWS SAM genererà un `InlineCode` messaggio che reindirizza la richiesta alla prima funzione di pipeline e riceve la risposta dall'ultima funzione di pipeline.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[Code](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-code)` proprietà di una risorsa. `AWS::AppSync::Resolver`

`LogicalId`  <a name="sam-graphqlapi-resolver-logicalid"></a>
Il nome univoco del tuo resolver. In uno GraphQL schema, il nome del resolver deve corrispondere al nome del campo per cui viene utilizzato. Usa lo stesso nome di campo per. `LogicalId`  
▬*Tipo:* stringa  
*Obbligatorio:* sì  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

`MaxBatchSize`  <a name="sam-graphqlapi-resolver-maxbatchsize"></a>
Il numero massimo di input di richiesta del resolver che verranno inviati a una singola funzione AWS Lambda in un'operazione `BatchInvoke`.  
*Tipo*: integer  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[MaxBatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-maxbatchsize)` proprietà di una `AWS::AppSync::Resolver` risorsa.

`OperationType`  <a name="sam-graphqlapi-resolver-operationtype"></a>
Il tipo di GraphQL operazione associato al resolver. Ad esempio, `Query`, `Mutation` o `Subscription`. È possibile annidare più resolver all'interno di un unico resolver. `LogicalId` `OperationType`  
▬*Tipo:* stringa  
*Obbligatorio:* sì  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[TypeName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-typename)` proprietà di una risorsa. `AWS::AppSync::Resolver`

`Pipeline`  <a name="sam-graphqlapi-resolver-pipeline"></a>
Funzioni collegate al risolver della pipeline. Specificate le funzioni in base all'ID logico in un elenco.  
Tipo: elenco  
*Obbligatorio:* sì  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente. È simile alla `[PipelineConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-pipelineconfig)` proprietà di una `AWS::AppSync::Resolver` risorsa.

`Runtime`  <a name="sam-graphqlapi-resolver-runtime"></a>
Il runtime del resolver o della funzione della pipeline. Specificate il nome e la versione da utilizzare.  
*Tipo*[: Runtime](sam-property-graphqlapi-resolver-runtime.md)  
*Obbligatorio:* sì  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente. È simile alla `[Runtime](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-runtime)` proprietà di una `AWS::AppSync::Resolver` risorsa.

`Sync`  <a name="sam-graphqlapi-resolver-sync"></a>
Descrive una configurazione di sincronizzazione per un resolver.  
Specifica quale strategia di rilevamento dei conflitti e strategia di risoluzione utilizzare quando viene richiamato il resolver.  
*Tipo:* [SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html)  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-syncconfig)` proprietà di una `AWS::AppSync::Resolver` risorsa.

## Esempi
<a name="sam-property-graphqlapi-resolver-examples"></a>

### Usa il codice della funzione resolver AWS SAM generato e salva i campi come variabili
<a name="sam-property-graphqlapi-resolver-examples-example1"></a>

Ecco GraphQL lo schema per il nostro esempio:

```
schema {
  query: Query
  mutation: Mutation
}

type Query {
  getPost(id: ID!): Post
}

type Mutation {
  addPost(author: String!, title: String!, content: String!): Post!
}

type Post {
  id: ID!
  author: String
  title: String
  content: String
}
```

Ecco un frammento del nostro AWS SAM modello:

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyGraphQLApi:
    Type: AWS::Serverless::GraphQLApi
    Properties:
      ...
      Functions:
        preprocessPostItem:
          ...
        createPostItem:
          ...
      Resolvers:
        Mutation:
          addPost:
            Runtime:
              Name: APPSYNC_JS
              Version: 1.0.0
            Pipeline:
            - preprocessPostItem
            - createPostItem
```

Nel nostro AWS SAM modello, non `CodeUri` specifichiamo o. `InlineCode` Al momento dell'implementazione, genera AWS SAM automaticamente il seguente codice in linea per il nostro resolver:

```
export function request(ctx) {
  return {};
}

export function response(ctx) {
  return ctx.prev.result;
}
```

Questo codice resolver predefinito reindirizza la richiesta alla prima funzione di pipeline e riceve la risposta dall'ultima funzione di pipeline.

Nella nostra prima funzione pipeline, possiamo usare il `args` campo fornito per analizzare l'oggetto della richiesta e creare le nostre variabili. Possiamo quindi utilizzare queste variabili all'interno della nostra funzione. Ecco un esempio della nostra `preprocessPostItem` funzione:

```
import { util } from "@aws-appsync/utils";

export function request(ctx) {
  const author = ctx.args.author;
  const title = ctx.args.title;
  const content = ctx.args.content;
  
  // Use variables to process data
  
}

export function response(ctx) {
  return ctx.result;
}
```

# Runtime
<a name="sam-property-graphqlapi-resolver-runtime"></a>

Il runtime del resolver o della funzione della pipeline. Specificate il nome e la versione da utilizzare.

## Sintassi
<a name="sam-property-graphqlapi-resolver-runtime-syntax"></a>

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

### YAML
<a name="sam-property-graphqlapi-resolver-runtime-syntax-yaml"></a>

```
Name: String
Version: String
```

## Properties
<a name="sam-property-graphqlapi-resolver-runtime-properties"></a>

`Name`  <a name="sam-graphqlapi-resolver-runtime-name"></a>
Il nome del runtime da usare. Attualmente, l'unico valore consentito è `APPSYNC_JS`.  
▬*Tipo:* stringa  
*Obbligatorio:* sì  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-appsyncruntime.html#cfn-appsync-resolver-appsyncruntime-name)` proprietà di un `AWS::AppSync::Resolver AppSyncRuntime` oggetto.

`Version`  <a name="sam-graphqlapi-resolver-runtime-version"></a>
La versione del runtime da utilizzare. Attualmente, l'unica versione consentita è `1.0.0`.  
▬*Tipo:* stringa  
*Obbligatorio:* sì  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[RuntimeVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-appsyncruntime.html#cfn-appsync-resolver-appsyncruntime-runtimeversion)` proprietà di un `AWS::AppSync::Resolver AppSyncRuntime` oggetto.