

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

# Membuat Titik Akses Objek Lambda
<a name="olap-create"></a>

**catatan**  
Per 7 November 2025, S3 Object Lambda hanya tersedia untuk pelanggan lama yang saat ini menggunakan layanan serta untuk memilih AWS mitra Partner Network (APN). Untuk kemampuan yang mirip dengan S3 Object Lambda, pelajari lebih lanjut di sini - Perubahan ketersediaan [Objek Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazons3-ol-change.html) Lambda.

Titik Akses Objek Lambda dikaitkan dengan tepat satu titik akses standar, yang Anda tentukan selama pembuatan. Untuk membuat titik akses Lambda Objek, Anda memerlukan sumber daya berikut:
+ **Titik akses standar S3.** Saat Anda bekerja dengan Object Lambda Access Points, titik akses standar ini dikenal sebagai *titik akses pendukung* dan dilampirkan ke bucket S3 atau Amazon FSx untuk volume OpenZFS. Untuk informasi selengkapnya tentang cara membuat titik akses standar, lihat [Membuat titik akses](creating-access-points.md).
+ **Sebuah AWS Lambda fungsi.** Anda dapat membuat fungsi Lambda Anda sendiri, atau Anda juga dapat menggunakan fungsi bawaan. Untuk informasi selengkapnya tentang membuat fungsi Lambda, lihat [Menulis fungsi Lambda untuk Titik Akses S3 Lambda Objek](olap-writing-lambda.md). Untuk informasi lebih lanjut tentang fungsi bawaan, lihat [Menggunakan fungsi Lambda yang AWS dibangun](olap-examples.md).
+ **(Opsional) Kebijakan AWS Identity and Access Management (IAM).** Titik akses Amazon S3 mendukung kebijakan sumber daya IAM yang dapat Anda gunakan untuk mengontrol penggunaan titik akses berdasarkan sumber daya, pengguna, atau ketentuan lainnya. Untuk informasi selengkapnya tentang pembuatan kebijakan ini, lihat [Mengonfigurasi kebijakan IAM untuk Titik Akses Lambda Objek](olap-policies.md).

Bagian berikut menjelaskan cara membuat Titik Akses Lambda Objek dengan menggunakan:
+ The Konsol Manajemen AWS
+  AWS Command Line Interface (AWS CLI)
+  AWS CloudFormation Template
+ The AWS Cloud Development Kit (AWS CDK)

Untuk informasi lebih lanjut tentang cara membuat Titik Akses Lambda Objek menggunakan API REST, lihat [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html) dalam *Referensi API Amazon Simple Storage Service*.

## Membuat Titik Akses Lambda Object
<a name="create-olap"></a>

Gunakan salah satu dari prosedur berikut ini untuk membuat Titik Akses Lambda Object Anda. 

### Menggunakan konsol S3
<a name="olap-create-console"></a>

**Untuk membuat Titik Akses Lambda Objek menggunakan konsol**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di bilah navigasi, pilih nama yang saat ini ditampilkan Wilayah AWS. Selanjutnya, pilih Wilayah yang ingin Anda alihkan. 

1. Di panel navigasi sebelah kiri, pilih **Titik Akses Lambda Objek**.

1. Pada halaman **Titik Akses Lambda Objek**, pilih **Buat Titik Akses Lambda Objek**.

1. Untuk **Nama Titik Akses Lambda Objek**, masukkan nama yang ingin Anda gunakan untuk titik aksesnya. 

   Seperti halnya titik akses standar, ada aturan untuk penamaan Titik Akses Lambda Objek. Untuk informasi selengkapnya, lihat [Aturan penamaan untuk titik akses](access-points-restrictions-limitations-naming-rules.md#access-points-names).

1. Untuk **Titik Akses Dukungan**, masukkan atau telusuri titik akses standar yang ingin Anda gunakan. Titik akses harus Wilayah AWS sama dengan objek yang ingin Anda ubah. Untuk informasi selengkapnya tentang cara membuat titik akses standar, lihat [Membuat titik akses](creating-access-points.md).

1. Di bawah **Konfigurasi transformasi**, Anda dapat menambahkan fungsi yang mengubah data untuk Titik Akses Lambda Objek Anda. Lakukan salah satu tindakan berikut:
   + Jika Anda sudah memiliki AWS Lambda fungsi di akun Anda, Anda dapat memilihnya di bawah fungsi **Invoke Lambda**. Di sini Anda dapat memasukkan Nama Sumber Daya Amazon (ARN) dari fungsi Lambda di Anda atau Akun AWS memilih fungsi Lambda dari menu tarik-turun.
   + Jika Anda ingin menggunakan fungsi yang AWS dibangun pilih nama fungsi di bawah fungsi yang **AWS dibangun dan pilih Buat fungsi** **Lambda**. Ini akan membawa Anda ke konsol Lambda di mana Anda dapat menerapkan fungsi bawaan ke dalam konsol Anda. Akun AWS Untuk informasi lebih lanjut tentang fungsi bawaan, lihat [Menggunakan fungsi Lambda yang AWS dibangun](olap-examples.md).

   Di bawah **S3 APIs**, pilih satu atau beberapa operasi API untuk dipanggil. Untuk setiap API yang dipilih, Anda harus menentukan fungsi Lambda yang akan dipanggil. 

1. (Opsional) Di bawah **Muatan**, tambahkan teks JSON yang ingin Anda berikan ke fungsi Lambda Anda sebagai input. Anda dapat mengonfigurasi muatan dengan parameter berbeda untuk Titik Akses Lambda Objek berbeda yang menginvokasi fungsi Lambda yang sama, sehingga memperluas fleksibilitas fungsi Lambda Anda.
**penting**  
Saat menggunakan Titik Akses Lambda Objek, pastikan muatan tidak berisi informasi rahasia apa pun.

1. (Opsional) Untuk **Rentang dan nomor bagian**, Anda harus mengaktifkan opsi ini jika Anda ingin memproses permintaan `GET` dan `HEAD` dengan header rentang dan nomor bagian. Mengaktifkan opsi ini mengonfirmasi bahwa fungsi Lambda Anda dapat mengenali dan memproses permintaan ini. Untuk informasi lebih lanjut tentang berbagai header dan nomor bagian, lihat [Bekerja dengan header Range dan partNumber](range-get-olap.md).

1. (Opsional) Untuk **Metrik permintaan**, pilih **Aktifkan** atau **Nonaktifkan** untuk menambahkan pemantauan Amazon S3 ke Titik Akses Lambda Objek Anda. Metrik permintaan ditagih dengan tarif Amazon CloudWatch standar.

1. (Opsional) Di bawah **Kebijakan Titik Akses Lambda**, buat pengaturan kebijakan sumber daya. Kebijakan sumber daya memberikan izin untuk Titik Akses Lambda Objek yang ditentukan dan dapat mengontrol penggunaan titik akses berdasarkan sumber daya, pengguna, atau ketentuan lainnya. Untuk informasi selengkapnya tentang kebijakan sumber daya Titik Akses Lambda Object, lihat, [Mengonfigurasi kebijakan IAM untuk Titik Akses Lambda Objek](olap-policies.md).

1. Di bagian bawah **Pengaturan Blok Titik Akses untuk Titik Akses Lambda Objek ini**, pilih pengaturan blokir akses publik yang ingin Anda terapkan. Semua pengaturan blokir akses publik diaktifkan secara default untuk Titik Akses Lambda Objek baru, dan kami menyarankan Anda membiarkan pengaturan default diaktifkan. Amazon S3 saat ini tidak mendukung perubahan pengaturan blokir akses publik milik Titik Akses Lambda Objek setelah Titik Akses Lambda Objek dibuat.

   Untuk informasi selengkapnya tentang menggunakan Blokir Akses Publik Amazon S3., lihat [Mengelola akses publik ke titik akses untuk ember tujuan umum](access-points-bpa-settings.md).

1. Pilih **Buat Titik Akses Objek Lambda**.

### Menggunakan AWS CLI
<a name="olap-create-cli"></a>

**Untuk membuat Object Lambda Access Point dengan menggunakan template AWS CloudFormation**
**catatan**  
Untuk menggunakan perintah berikut ini, ganti `user input placeholders` dengan informasi Anda sendiri.

1. Unduh paket penerapan AWS Lambda fungsi `s3objectlambda_deployment_package.zip` di konfigurasi default Objek [Lambda S3](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration).

1. Jalankan perintah `put-object` berikut untuk mengunggah paket ke bucket Amazon S3.

   ```
   aws s3api put-object --bucket Amazon S3 bucket name --key s3objectlambda_deployment_package.zip --body release/s3objectlambda_deployment_package.zip
   ```

1. Unduh AWS CloudFormation template `s3objectlambda_defaultconfig.yaml` di konfigurasi default [Objek Lambda S3](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration).

1. Jalankan perintah `deploy` berikut untuk menyebarkan templat ke Akun AWS Anda.

   ```
   aws cloudformation deploy --template-file s3objectlambda_defaultconfig.yaml \
    --stack-name CloudFormation stack name \ 
    --parameter-overrides ObjectLambdaAccessPointName=Object Lambda Access Point name \
     SupportingAccessPointName=Amazon S3 access point S3BucketName=Amazon S3 bucket \
     LambdaFunctionS3BucketName=Amazon S3 bucket containing your Lambda package \ 
     LambdaFunctionS3Key=Lambda object key LambdaFunctionS3ObjectVersion=Lambda object version \ 
     LambdaFunctionRuntime=Lambda function runtime --capabilities capability_IAM
   ```

Anda dapat mengonfigurasi AWS CloudFormation template ini untuk memanggil Lambda `GET` untuk`HEAD`,, `LIST` dan operasi API. Untuk informasi selengkapnya tentang mengubah konfigurasi default templat, lihat [Otomatiskan pengaturan Lambda Objek S3 dengan templat CloudFormation](olap-using-cfn-template.md).<a name="olap-create-cli-specific"></a>

**Untuk membuat Object Lambda Access Point dengan menggunakan AWS CLI**
**catatan**  
Untuk menggunakan perintah berikut ini, ganti `user input placeholders` dengan informasi Anda sendiri.

Contoh berikut membuat Titik Akses Lambda Objek yang diberi nama *`my-object-lambda-ap`* untuk bucket *`amzn-s3-demo-bucket1`* di akun *`111122223333`*. Contoh ini mengasumsikan bahwa titik akses standar bernama *`example-ap`* telah dibuat. Untuk informasi selengkapnya tentang cara membuat titik akses standar, lihat [Membuat titik akses](creating-access-points.md).

Contoh ini menggunakan fungsi AWS `decompress` prebuilt. Untuk informasi lebih lanjut tentang fungsi bawaan, lihat [Menggunakan fungsi Lambda yang AWS dibangun](olap-examples.md).

1. Buat bucket. Dalam contoh ini, kami akan menggunakan *`amzn-s3-demo-bucket1`*. Untuk informasi tentang membuat bucket, lihat [Membuat bucket tujuan umum](create-bucket-overview.md).

1. Buat titik akses standar, dan lampirkan ke bucket Anda. Dalam contoh ini, kami akan menggunakan *`example-ap`*. Untuk informasi selengkapnya tentang cara membuat titik akses standar, lihat [Membuat titik akses](creating-access-points.md).

1. Lakukan salah satu hal berikut ini: 
   + Buat fungsi Lambda di akun Anda yang ingin Anda gunakan untuk mengubah objek Amazon S3 Anda. Untuk informasi selengkapnya tentang membuat fungsi Lambda, lihat [Menulis fungsi Lambda untuk Titik Akses S3 Lambda Objek](olap-writing-lambda.md). Untuk menggunakan fungsi kustom Anda dengan AWS CLI, lihat [Menggunakan Lambda dengan AWS CLI di Panduan AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-awscli.html) *Pengembang*.
   + Gunakan fungsi Lambda AWS bawaan. Untuk informasi lebih lanjut tentang fungsi bawaan, lihat [Menggunakan fungsi Lambda yang AWS dibangun](olap-examples.md).

1. Buat file konfigurasi JSON bernama `my-olap-configuration.json`. Dalam konfigurasi ini, sediakan titik akses pendukung dan Amazon Resource Name (ARN) untuk fungsi Lambda yang Anda buat pada langkah sebelumnya atau ARN untuk fungsi bawaan yang Anda gunakan.  
**Example**  

   

   ```
   {
       "SupportingAccessPoint" : "arn:aws:s3:us-east-1:111122223333:accesspoint/example-ap",
       "TransformationConfigurations": [{
           "Actions" : ["GetObject", "HeadObject", "ListObjects", "ListObjectsV2"],
           "ContentTransformation" : {
               "AwsLambda": {
                   "FunctionPayload" : "{\"compressionType\":\"gzip\"}",
                   "FunctionArn" : "arn:aws:lambda:us-east-1:111122223333:function/compress"
               }
           }
       }]
   }
   ```

1. Jalankan perintah `create-access-point-for-object-lambda` untuk membuat Titik Akses Lambda Objek Anda.

   ```
   aws s3control create-access-point-for-object-lambda --account-id 111122223333 --name my-object-lambda-ap --configuration file://my-olap-configuration.json
   ```

1. (Opsional) Buat file kebijakan JSON bernama `my-olap-policy.json`.

   Menambahkan kebijakan sumber daya Titik Akses Lambda Objek dapat mengontrol penggunaan titik akses berdasarkan sumber daya, pengguna, atau kondisi lainnya. Kebijakan sumber daya ini memberikan izin akun `GetObject` *`444455556666`* ke Titik Akses Lambda Object yang telah ditentukan.  
**Example**  

   

   ```
   {
       "Version": "2008-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Grant account 444455556666 GetObject access",
               "Effect": "Allow",
               "Action": "s3-object-lambda:GetObject",
               "Principal": {
                   "AWS": "arn:aws:iam::444455556666:root"
               },
               "Resource": "your-object-lambda-access-point-arn"
           }
       ]
   }
   ```

1. (Opsional) Jalankan perintah `put-access-point-policy-for-object-lambda` untuk mengatur kebijakan sumber daya Anda.

   ```
   aws s3control put-access-point-policy-for-object-lambda --account-id 111122223333 --name my-object-lambda-ap --policy file://my-olap-policy.json
   ```

1. (Opsional) Tentukan muatan.

   Payload adalah JSON opsional yang dapat Anda berikan ke AWS Lambda fungsi Anda sebagai input. Anda dapat mengonfigurasi muatan dengan parameter berbeda untuk Titik Akses Lambda Objek berbeda yang menginvokasi fungsi Lambda yang sama, sehingga memperluas fleksibilitas fungsi Lambda Anda.

   Konfigurasi titik akses Lambda Objek berikut menunjukkan muatan dengan dua parameter.

   ```
   {
   	"SupportingAccessPoint": "AccessPointArn",
   	"CloudWatchMetricsEnabled": false,
   	"TransformationConfigurations": [{
   		"Actions": ["GetObject", "HeadObject", "ListObjects", "ListObjectsV2"],
   		"ContentTransformation": {
   			"AwsLambda": {
   				"FunctionArn": "FunctionArn",
   				"FunctionPayload": "{\"res-x\": \"100\",\"res-y\": \"100\"}"
   			}
   		}
   	}]
   }
   ```

   Konfigurasi Titik Akses Lambda Objek berikut menunjukkan payload dengan satu parameter, dan dengan `GetObject-Range`, `GetObject-PartNumber`, `HeadObject-Range`, dan `HeadObject-PartNumber` diaktifkan.

   ```
   {
       "SupportingAccessPoint":"AccessPointArn",
       "CloudWatchMetricsEnabled": false,
       "AllowedFeatures": ["GetObject-Range", "GetObject-PartNumber", "HeadObject-Range", "HeadObject-PartNumber"],        
       "TransformationConfigurations": [{
           "Action": ["GetObject", "HeadObject", "ListObjects", "ListObjectsV2"],
           "ContentTransformation": {
               "AwsLambda": {
                   "FunctionArn":"FunctionArn",
                   "FunctionPayload": "{\"compression-amount\": \"5\"}"
               }
           }
       }]
   }
   ```
**penting**  
Saat menggunakan Titik Akses Lambda Objek, pastikan muatan tidak berisi informasi rahasia apa pun.

### Menggunakan AWS CloudFormation konsol dan template
<a name="olap-create-cfn-console"></a>

Anda dapat membuat Titik Akses Lambda Objek dengan menggunakan konfigurasi default yang disediakan oleh Amazon S3. Anda dapat mengunduh AWS CloudFormation template dan kode sumber fungsi Lambda dari [GitHub repositori](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration) dan menyebarkan sumber daya ini untuk menyiapkan Objek Lambda Access Point fungsional.

Untuk informasi tentang memodifikasi konfigurasi default AWS CloudFormation template, lihat[Otomatiskan pengaturan Lambda Objek S3 dengan templat CloudFormation](olap-using-cfn-template.md).

*Untuk informasi tentang mengonfigurasi Titik Akses Objek Lambda dengan CloudFormation menggunakan tanpa templat, [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspoint.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspoint.html)lihat di Panduan Pengguna AWS CloudFormation .*

**Untuk mengunggah paket deployment fungsi Lambda**

1. Unduh paket penerapan AWS Lambda fungsi `s3objectlambda_deployment_package.zip` di konfigurasi default Objek [Lambda S3](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration).

1. Unggah paket ke bucket Amazon S3.

**Untuk membuat Object Lambda Access Point dengan menggunakan konsol AWS CloudFormation**

1. Unduh AWS CloudFormation template `s3objectlambda_defaultconfig.yaml` di konfigurasi default [Objek Lambda S3](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration).

1. Masuk ke AWS Management Console dan buka AWS CloudFormation konsol di [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Lakukan salah satu tindakan berikut: 
   + Jika Anda belum pernah menggunakan AWS CloudFormation sebelumnya, di AWS CloudFormation beranda, pilih **Buat tumpukan**.
   + Jika Anda pernah menggunakan AWS CloudFormation sebelumnya, di panel navigasi kiri, pilih **Tumpukan**. Pilih **Buat tumpukan**, lalu pilih **Dengan sumber daya baru (standar)**.

1. Untuk **Prasyarat-Siapkan templat**, pilih **Templat sudah siap**.

1. Untuk **Tentukan templat**, pilih **Unggah file templat** dan unggah`s3objectlambda_defaultconfig.yaml`.

1. Pilih **Berikutnya**.

1. Pada halaman **Tentukan detail tumpukan**, masukkan nama untuk tumpukan.

1. Di bagian **Parameter**, tentukan parameter berikut, yang ditentukan di dalam templat tumpukan:

   1. Untuk **CreateNewSupportingAccessPoint**, lakukan salah satu hal berikut: 
      + Jika Anda sudah memiliki titik akses pendukung untuk bucket S3 tempat Anda mengunggah templat, pilih **false**.
      + Jika Anda ingin membuat titik akses baru untuk bucket ini, pilih **true**. 

   1. Untuk **EnableCloudWatchMonitoring**, pilih **true** atau **false**, tergantung apakah Anda ingin mengaktifkan metrik dan alarm CloudWatch permintaan Amazon. 

   1. (Opsional) Untuk **LambdaFunctionPayload**, tambahkan teks JSON yang ingin Anda berikan ke fungsi Lambda Anda sebagai input. Anda dapat mengonfigurasi muatan dengan parameter berbeda untuk Titik Akses Lambda Objek berbeda yang menginvokasi fungsi Lambda yang sama, sehingga memperluas fleksibilitas fungsi Lambda Anda.
**penting**  
Saat menggunakan Titik Akses Lambda Objek, pastikan muatan tidak berisi informasi rahasia apa pun.

   1. Untuk **LambdaFunctionRuntime**, masukkan runtime pilihan Anda untuk fungsi Lambda. Pilihan yang tersedia adalah `nodejs14.x`, `python3.9`, `java11`.

   1. Untuk **LambdaFunctionS3 BucketName**, masukkan nama bucket Amazon S3 tempat Anda mengunggah paket penerapan.

   1. Untuk **LambdaFunctionS3Key, masukkan kunci** objek Amazon S3 tempat Anda mengunggah paket penerapan.

   1. Untuk **LambdaFunctionS3 ObjectVersion**, masukkan versi objek Amazon S3 tempat Anda mengunggah paket penerapan.

   1. Untuk **ObjectLambdaAccessPointName**, masukkan nama untuk Object Lambda Access Point Anda.

   1. Untuk **S3 BucketName**, masukkan nama bucket Amazon S3 yang akan dikaitkan dengan Titik Akses Objek Lambda Anda.

   1. Untuk **SupportingAccessPointName**, masukkan nama jalur akses pendukung Anda.
**catatan**  
Ini adalah titik akses yang terkait dengan bucket Amazon S3 yang Anda pilih pada langkah sebelumnya. Jika Anda tidak memiliki titik akses yang terkait dengan bucket Amazon S3 Anda, Anda dapat mengonfigurasi template untuk membuatnya untuk Anda dengan memilih **true** for. **CreateNewSupportingAccessPoint**

1. Pilih **Berikutnya**.

1. Pada **Konfigurasikan halaman opsi stack**, pilih **Berikutnya**.

   Untuk informasi selengkapnya tentang pengaturan opsional di halaman ini, lihat [Mengatur AWS CloudFormation opsi tumpukan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-add-tags.html) dalam *AWS CloudFormation Panduan Pengguna*.

1. Di halaman **Tinjau**, pilih **Buat tumpukan**.

### Menggunakan AWS Cloud Development Kit (AWS CDK)
<a name="olap-create-cdk"></a>

*Untuk informasi selengkapnya tentang mengonfigurasi Titik Akses Objek Lambda menggunakan AWS CDK, [`AWS::S3ObjectLambda`lihat Membangun](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-s3objectlambda-readme.html) Pustaka di AWS Cloud Development Kit (AWS CDK) Referensi API.*

# Otomatiskan pengaturan Lambda Objek S3 dengan templat CloudFormation
<a name="olap-using-cfn-template"></a>

**catatan**  
Per 7 November 2025, S3 Object Lambda hanya tersedia untuk pelanggan lama yang saat ini menggunakan layanan serta untuk memilih AWS mitra Partner Network (APN). Untuk kemampuan yang mirip dengan S3 Object Lambda, pelajari lebih lanjut di sini - Perubahan ketersediaan [Objek Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazons3-ol-change.html) Lambda.

Anda dapat menggunakan AWS CloudFormation template untuk membuat Titik Akses Lambda Objek Amazon S3 dengan cepat. CloudFormationTemplate secara otomatis membuat sumber daya yang relevan, mengonfigurasi peran AWS Identity and Access Management (IAM), dan menyiapkan AWS Lambda fungsi yang secara otomatis menangani permintaan melalui Object Lambda Access Point. Dengan CloudFormation template, Anda dapat menerapkan praktik terbaik, meningkatkan postur keamanan Anda, dan mengurangi kesalahan yang disebabkan oleh proses manual.

[GitHub Repositori](https://github.com/aws-samples/amazon-s3-object-lambda-default-configuration) ini berisi CloudFormation template dan kode sumber fungsi Lambda. Untuk petunjuk tentang cara menggunakan templat, lihat [Membuat Titik Akses Objek Lambda](olap-create.md).

Fungsi Lambda yang disediakan dalam templat tidak menjalankan transformasi apa pun. Sebaliknya, ia mengembalikan objek Anda apa adanya dari sumber data yang mendasarinya. Anda dapat mengkloning fungsi dan menambahkan kode transformasi Anda sendiri untuk mengubah dan memproses data saat dikembalikan ke aplikasi. Untuk informasi selengkapnya tentang fungsi Anda, lihat [Memodifikasi fungsi Lambda](#modifying-lambda-function) dan [Menulis fungsi Lambda untuk Titik Akses S3 Lambda Objek](olap-writing-lambda.md). 

## Memodifikasi templat
<a name="modifying-cfn-template"></a>

**Membuat titik akses pendukung baru**  
S3 Lambda Objek menggunakan dua titik akses, Titik Akses Lambda Objek dan titik akses S3 standar, yang disebut sebagai *titik akses pendukung*. Saat Anda membuat permintaan ke Titik Akses Lambda Objek, S3 akan memanggil Lambda atas nama Anda, atau mendelegasikan permintaan tersebut ke titik akses pendukung, bergantung pada konfigurasi Lambda Objek S3. Anda dapat membuat titik akses pendukung baru dengan meneruskan parameter berikut sebagai bagian dari perintah `aws cloudformation deploy` saat mendeploy templat.

```
CreateNewSupportingAccessPoint=true
```

**Mengonfigurasi muatan fungsi**  
Anda dapat mengonfigurasi payload untuk menyediakan data tambahan ke fungsi Lambda dengan meneruskan parameter berikut sebagai bagian dari perintah `aws cloudformation deploy` saat menerapkan templat.

```
LambdaFunctionPayload="format=json"
```

**Mengaktifkan pemantauan Amazon CloudWatch**  
Anda dapat mengaktifkan CloudWatch pemantauan dengan meneruskan parameter berikut sebagai bagian dari `aws cloudformation deploy` perintah saat menerapkan template.

```
EnableCloudWatchMonitoring=true
```

Parameter ini memungkinkan Titik Akses Objek Lambda Anda untuk metrik permintaan Amazon S3 dan membuat CloudWatch dua alarm untuk memantau kesalahan sisi klien dan sisi server.

**catatan**  
 CloudWatch Penggunaan Amazon akan dikenakan biaya tambahan. Untuk informasi lebih lanjut tentang metrik permintaan Amazon S3, lihat [Pemantauan dan pencatatan titik akses](access-points-monitoring-logging.md).  
Untuk detail harganya, lihat [Harga CloudWatch ](https://aws.amazon.com/cloudwatch/pricing/). 

**Mengonfigurasi konkurensi yang tersedia**  
Untuk mengurangi latensi, Anda dapat mengonfigurasi konkurensi yang disediakan untuk fungsi Lambda yang mendukung Titik Akses Lambda Object dengan mengedit templat untuk menyertakan baris berikut di bawah `Resources`.

```
LambdaFunctionVersion:
      Type: AWS::Lambda::Version
      Properties:
        FunctionName: !Ref LambdaFunction
        ProvisionedConcurrencyConfig:
            ProvisionedConcurrentExecutions: Integer
```

**catatan**  
Anda akan dikenakan biaya tambahan untuk penyediaan konkurensi. Untuk informasi selengkapnya tentang konkurensi yang disediakan, lihat [Mengelola konkurensi Lambda yang disediakan](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) dalam *Panduan Pengembang AWS Lambda *.  
Untuk detail harganya, lihat [Harga AWS Lambda](https://aws.amazon.com/lambda/pricing/).

## Memodifikasi fungsi Lambda
<a name="modifying-lambda-function"></a>

**Mengubah nilai header untuk permintaan `GetObject`**  
Secara default, fungsi Lambda meneruskan semua header, kecuali `Content-Length` dan`ETag`, dari permintaan URL yang telah ditetapkan sebelumnya ke `GetObject` klien. Berdasarkan kode transformasi Anda dalam fungsi Lambda, Anda dapat memilih untuk mengirim nilai header baru ke `GetObject` klien.

Anda dapat memperbarui fungsi Lambda Anda untuk mengirim nilai header baru dengan meneruskannya dalam operasi API `WriteGetObjectResponse`.

Misalnya, jika fungsi Lambda Anda menerjemahkan teks dalam objek Amazon S3 ke bahasa yang berbeda, Anda dapat meneruskan nilai baru di header `Content-Language`. Anda dapat melakukan ini dengan memodifikasi fungsi `writeResponse` sebagai berikut:

```
async function writeResponse (s3Client: S3, requestContext: GetObjectContext, transformedObject: Buffer,
  headers: Headers): Promise<PromiseResult<{}, AWSError>> {
  const { algorithm, digest } = getChecksum(transformedObject);

  return s3Client.writeGetObjectResponse({
    RequestRoute: requestContext.outputRoute,
    RequestToken: requestContext.outputToken,
    Body: transformedObject,
    Metadata: {
      'body-checksum-algorithm': algorithm,
      'body-checksum-digest': digest
    },
    ...headers,
    ContentLanguage: 'my-new-language'
  }).promise();
}
```

Untuk daftar lengkap header yang didukung, lihat [https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax](https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax) dalam *Referensi API Amazon Simple Storage Service*.

**Mengembalikan header metadata**  
Anda dapat memperbarui fungsi Lambda Anda untuk mengirim nilai header baru dengan meneruskannya dalam permintaan operasi API [https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax](https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax).

```
async function writeResponse (s3Client: S3, requestContext: GetObjectContext, transformedObject: Buffer,
  headers: Headers): Promise<PromiseResult<{}, AWSError>> {
  const { algorithm, digest } = getChecksum(transformedObject);

  return s3Client.writeGetObjectResponse({
    RequestRoute: requestContext.outputRoute,
    RequestToken: requestContext.outputToken,
    Body: transformedObject,
    Metadata: {
      'body-checksum-algorithm': algorithm,
      'body-checksum-digest': digest,
      'my-new-header': 'my-new-value' 
    },
    ...headers
  }).promise();
}
```

**Mengembalikan kode status baru**  
Anda dapat mengembalikan kode status kustom ke klien `GetObject` dengan meneruskannya dalam permintaan operasi API [https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax](https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax).

```
async function writeResponse (s3Client: S3, requestContext: GetObjectContext, transformedObject: Buffer,
  headers: Headers): Promise<PromiseResult<{}, AWSError>> {
  const { algorithm, digest } = getChecksum(transformedObject);

  return s3Client.writeGetObjectResponse({
    RequestRoute: requestContext.outputRoute,
    RequestToken: requestContext.outputToken,
    Body: transformedObject,
    Metadata: {
      'body-checksum-algorithm': algorithm,
      'body-checksum-digest': digest
    },
    ...headers,
    StatusCode: Integer
  }).promise();
}
```

Untuk daftar lengkap kode status didukung, lihat [https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax](https://docs.aws.amazon.com/AmazonS3/latest/API/API_WriteGetObjectResponse.html#API_WriteGetObjectResponse_RequestSyntax) dalam *Referensi API Amazon Simple Storage Service*.

**Menerapkan `Range` dan `partNumber` parameter ke objek sumber**  
Secara default, Object Lambda Access Point yang dibuat oleh CloudFormation template dapat menangani parameter `Range` dan`partNumber`. Fungsi Lambda menerapkan rentang atau nomor bagian yang diminta ke objek yang diubah. Untuk melakukannya, fungsi harus mengunduh seluruh objek dan menjalankan transformasi. Dalam beberapa kasus, rentang objek Anda yang diubah mungkin dipetakan tepat ke rentang objek sumber Anda. Artinya, meminta rentang byte A-B pada objek sumber dan menjalankan transformasi mungkin menghasilkan hasil yang sama seperti meminta seluruh objek, menjalankan transformasi, dan mengembalikan rentang byte A-B pada objek yang diubah.

Dalam kasus seperti itu, Anda dapat mengubah implementasi fungsi Lambda untuk menerapkan rentang atau nomor bagian langsung ke objek sumber. Pendekatan ini mengurangi latensi fungsi keseluruhan dan memori yang diperlukan. Untuk informasi selengkapnya, lihat [Bekerja dengan header Range dan partNumber](range-get-olap.md).

**Menonaktifkan penanganan `Range` dan `partNumber`**  
Secara default, Object Lambda Access Point yang dibuat oleh CloudFormation template dapat menangani parameter `Range` dan`partNumber`. Jika Anda tidak memerlukan perilaku ini, Anda dapat menonaktifkannya dengan menghapus baris berikut dari templat:

```
AllowedFeatures:
  - GetObject-Range
  - GetObject-PartNumber
  - HeadObject-Range 
  - HeadObject-PartNumber
```

**Mengubah objek yang berukuran besar**  
Secara default, fungsi Lambda memproses seluruh objek dalam memori sebelum dapat mulai streaming respons ke S3 Lambda Objek. Anda dapat memodifikasi fungsi untuk mengalirkan respons saat melakukan transformasi. Melakukannya akan membantu mengurangi latensi transformasi dan ukuran memori fungsi Lambda. Untuk implementasi contoh tersebut, lihat [Contoh konten terkompresi Stream](olap-writing-lambda.md#olap-getobject-response).