

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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

Konfigurasikan resolver untuk bidang API AndaGraphQL. AWS Serverless Application Model (AWS SAM) mendukung [JavaScript resolver pipa](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-overview-js.html).

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

Untuk mendeklarasikan entitas ini dalam template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.

### 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)
```

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

`Caching`  <a name="sam-graphqlapi-resolver-caching"></a>
Konfigurasi caching untuk resolver yang telah caching diaktifkan.  
*Jenis*: [CachingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html)  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[CachingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-cachingconfig)` properti `AWS::AppSync::Resolver` sumber daya.

`CodeUri`  <a name="sam-graphqlapi-resolver-codeuri"></a>
Kode fungsi resolver adalah Amazon Simple Storage Service (Amazon S3) URI atau path ke folder lokal.  
Jika Anda menentukan jalur ke folder lokal, CloudFormation mengharuskan file tersebut diunggah terlebih dahulu ke Amazon S3 sebelum penerapan. Anda dapat menggunakan AWS SAMCLI untuk memfasilitasi proses ini. Untuk informasi selengkapnya, lihat [Cara AWS SAM mengunggah file lokal saat penerapan](deploy-upload-local-files.md).  
Jika tidak `InlineCode` ada `CodeUri` atau disediakan, AWS SAM akan menghasilkan `InlineCode` yang mengalihkan permintaan ke fungsi pipeline pertama dan menerima respons dari fungsi pipeline terakhir.  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[CodeS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-codes3location)` properti `AWS::AppSync::Resolver` sumber daya.

`FieldName`  <a name="sam-graphqlapi-resolver-fieldname"></a>
Nama resolver Anda. Tentukan properti ini untuk mengganti `LogicalId` nilainya.  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[FieldName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-fieldname)` properti `AWS::AppSync::Resolver` sumber daya.

`InlineCode`  <a name="sam-graphqlapi-resolver-inlinecode"></a>
Kode resolver yang berisi fungsi permintaan dan respons.  
Jika tidak `InlineCode` ada `CodeUri` atau disediakan, AWS SAM akan menghasilkan `InlineCode` yang mengalihkan permintaan ke fungsi pipeline pertama dan menerima respons dari fungsi pipeline terakhir.  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[Code](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-code)` properti `AWS::AppSync::Resolver` sumber daya.

`LogicalId`  <a name="sam-graphqlapi-resolver-logicalid"></a>
Nama unik untuk resolver Anda. Dalam GraphQL skema, nama resolver Anda harus cocok dengan nama bidang yang digunakan. Gunakan nama bidang yang sama untuk`LogicalId`.  
*Tipe*: String  
*Wajib*: Ya  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

`MaxBatchSize`  <a name="sam-graphqlapi-resolver-maxbatchsize"></a>
Jumlah maksimum input permintaan resolver yang akan dikirim ke satu AWS Lambda fungsi dalam operasi. `BatchInvoke`  
*Tipe*: Integer  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[MaxBatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-maxbatchsize)` properti `AWS::AppSync::Resolver` sumber daya.

`OperationType`  <a name="sam-graphqlapi-resolver-operationtype"></a>
Jenis GraphQL operasi yang terkait dengan resolver Anda. Sebagai contoh, `Query`, `Mutation`, atau `Subscription`. Anda dapat membuat sarang beberapa resolver `LogicalId` dalam satu. `OperationType`  
*Tipe*: String  
*Wajib*: Ya  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[TypeName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-typename)` properti `AWS::AppSync::Resolver` sumber daya.

`Pipeline`  <a name="sam-graphqlapi-resolver-pipeline"></a>
Fungsi yang terkait dengan penyelesai alur. Tentukan fungsi dengan ID logis dalam daftar.  
*Tipe*: Daftar  
*Wajib*: Ya  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan. Ini mirip dengan `[PipelineConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-pipelineconfig)` properti sumber `AWS::AppSync::Resolver` daya.

`Runtime`  <a name="sam-graphqlapi-resolver-runtime"></a>
Runtime resolver atau fungsi pipeline Anda. Menentukan nama dan versi yang akan digunakan.  
*Jenis*: [Runtime](sam-property-graphqlapi-resolver-runtime.md)  
*Wajib*: Ya  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan. Ini mirip dengan `[Runtime](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-runtime)` properti sumber `AWS::AppSync::Resolver` daya.

`Sync`  <a name="sam-graphqlapi-resolver-sync"></a>
Menjelaskan konfigurasi Sinkronisasi untuk penyelesai.  
Menentukan strategi Deteksi Konflik dan strategi Resolusi mana yang akan digunakan saat resolver dipanggil.  
*Jenis*: [SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html)  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-syncconfig)` properti `AWS::AppSync::Resolver` sumber daya.

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

### Gunakan kode fungsi resolver yang AWS SAM dihasilkan dan simpan bidang sebagai variabel
<a name="sam-property-graphqlapi-resolver-examples-example1"></a>

Berikut adalah GraphQL skema untuk contoh kita:

```
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
}
```

Berikut adalah cuplikan template kami AWS SAM :

```
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
```

Dalam AWS SAM template kami, kami tidak menentukan `CodeUri` atau`InlineCode`. Saat penerapan, AWS SAM secara otomatis menghasilkan kode inline berikut untuk resolver kami:

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

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

Kode resolver default ini mengalihkan permintaan ke fungsi pipeline pertama dan menerima respons dari fungsi pipeline terakhir.

Dalam fungsi pipeline pertama kita, kita dapat menggunakan `args` bidang yang disediakan untuk mengurai objek permintaan dan membuat variabel kita. Kita kemudian dapat menggunakan variabel-variabel ini dalam fungsi kita. Berikut adalah contoh `preprocessPostItem` fungsi kami:

```
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;
}
```

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

Runtime resolver atau fungsi pipeline Anda. Menentukan nama dan versi yang akan digunakan.

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

Untuk mendeklarasikan entitas ini dalam template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.

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

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

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

`Name`  <a name="sam-graphqlapi-resolver-runtime-name"></a>
Nama runtime yang akan digunakan. Saat ini, satu-satunya nilai yang diizinkan adalah`APPSYNC_JS`.  
*Tipe*: String  
*Wajib*: Ya  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-appsyncruntime.html#cfn-appsync-resolver-appsyncruntime-name)` properti `AWS::AppSync::Resolver AppSyncRuntime` objek.

`Version`  <a name="sam-graphqlapi-resolver-runtime-version"></a>
Versi runtime yang akan digunakan. Saat ini, satu-satunya versi yang diizinkan adalah`1.0.0`.  
*Tipe*: String  
*Wajib*: Ya  
*CloudFormation kompatibilitas*: Properti ini diteruskan langsung ke `[RuntimeVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-appsyncruntime.html#cfn-appsync-resolver-appsyncruntime-runtimeversion)` properti `AWS::AppSync::Resolver AppSyncRuntime` objek.