

**Pemberitahuan akhir dukungan:** Pada 30 Oktober 2026, AWS akan mengakhiri dukungan untuk Amazon Pinpoint. Setelah 30 Oktober 2026, Anda tidak akan lagi dapat mengakses konsol Amazon Pinpoint atau sumber daya Amazon Pinpoint (titik akhir, segmen, kampanye, perjalanan, dan analitik). Untuk informasi selengkapnya, lihat [Amazon Pinpoint akhir dukungan.](https://docs.aws.amazon.com/console/pinpoint/migration-guide) **Catatan:** APIs terkait dengan SMS, suara, push seluler, OTP, dan validasi nomor telepon tidak terpengaruh oleh perubahan ini dan didukung oleh AWS End User Messaging.

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

# Gunakan model pemberi rekomendasi di Amazon Pinpoint dengan AWS Lambda
<a name="ml-models-rm-lambda"></a>

Di Amazon Pinpoint, Anda dapat mengambil rekomendasi yang dipersonalisasi dari model pemberi rekomendasi dan menambahkannya ke pesan yang Anda kirim dari kampanye dan perjalanan. *Model pemberi rekomendasi* adalah jenis model pembelajaran mesin (ML) yang menemukan pola dalam data dan menghasilkan prediksi dan rekomendasi berdasarkan pola yang ditemukannya. Ini memprediksi apa yang akan disukai pengguna tertentu dari serangkaian produk atau item tertentu, dan memberikan informasi itu sebagai serangkaian rekomendasi untuk pengguna.

Dengan menggunakan model pemberi rekomendasi dengan Amazon Pinpoint, Anda dapat mengirim rekomendasi yang dipersonalisasi ke penerima pesan berdasarkan atribut dan perilaku masing-masing penerima. Dengan AWS Lambda, Anda juga dapat menyesuaikan dan meningkatkan rekomendasi ini. Misalnya, Anda dapat mengubah rekomendasi secara dinamis dari nilai teks tunggal (seperti nama produk atau ID) ke konten yang lebih canggih (seperti nama produk, deskripsi, dan gambar). Dan Anda dapat melakukannya secara real time, ketika Amazon Pinpoint mengirim pesan.

Fitur ini tersedia di AWS Wilayah berikut: AS Timur (Virginia N.); AS Barat (Oregon); Asia Pasifik (Mumbai); Asia Pasifik (Sydney); dan, Eropa (Irlandia).

# Tambahkan rekomendasi model pemberi rekomendasi ke pesan di Amazon Pinpoint
<a name="ml-models-rm-lambda-overview"></a>

Untuk menggunakan model pemberi rekomendasi dengan Amazon Pinpoint, Anda mulai dengan membuat solusi Amazon Personalize dan menerapkan solusi tersebut sebagai kampanye Amazon Personalize. Kemudian, Anda membuat konfigurasi untuk model pemberi rekomendasi di Amazon Pinpoint. Dalam konfigurasi, Anda menentukan setelan yang menentukan cara mengambil dan memproses data rekomendasi dari kampanye Amazon Personalize. Ini termasuk apakah akan memanggil AWS Lambda fungsi untuk melakukan pemrosesan tambahan data yang diambil.

Amazon Personalize adalah AWS layanan yang dirancang untuk membantu Anda membuat model ML yang memberikan rekomendasi real-time yang dipersonalisasi untuk pelanggan yang menggunakan aplikasi Anda. Amazon Personalize memandu Anda melalui proses pembuatan dan pelatihan model ML, lalu menyiapkan dan menerapkan model tersebut sebagai kampanye Amazon Personalize. Anda kemudian dapat mengambil rekomendasi real-time yang dipersonalisasi dari kampanye. Untuk mempelajari lebih lanjut tentang Amazon Personalisasi, lihat Panduan Pengembang [Amazon Personalisasi](https://docs.aws.amazon.com/personalize/latest/dg/what-is-personalize.html). 

AWS Lambda adalah layanan komputasi yang dapat Anda gunakan untuk menjalankan kode tanpa menyediakan atau mengelola server. Anda mengemas kode Anda dan mengunggahnya AWS Lambda sebagai fungsi *Lambda*. AWS Lambda kemudian menjalankan fungsi ketika fungsi dipanggil. Fungsi dapat dipanggil secara manual oleh Anda, secara otomatis sebagai respons terhadap peristiwa, atau sebagai tanggapan atas permintaan dari aplikasi atau layanan, termasuk Amazon Pinpoint. Untuk informasi tentang membuat dan memanggil fungsi Lambda, lihat [Panduan Developer AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html).

Setelah membuat konfigurasi Amazon Pinpoint untuk model pemberi rekomendasi, Anda dapat menambahkan rekomendasi dari model ke pesan yang Anda kirim dari kampanye dan perjalanan. Anda melakukannya dengan menggunakan template pesan yang berisi variabel pesan untuk atribut yang direkomendasikan. *Atribut yang direkomendasikan* adalah titik akhir dinamis atau atribut pengguna yang dirancang untuk menyimpan data rekomendasi. Anda menentukan atribut ini saat membuat konfigurasi untuk model pemberi rekomendasi.

Anda dapat menggunakan variabel untuk atribut yang direkomendasikan dalam jenis templat pesan berikut:
+ Template email, untuk pesan email yang Anda kirim dari kampanye atau perjalanan.
+ Templat pemberitahuan push, untuk pemberitahuan push yang Anda kirim dari kampanye.
+ Template SMS, untuk pesan teks SMS yang Anda kirim dari kampanye.

Untuk informasi selengkapnya tentang menggunakan model pemberi rekomendasi dengan Amazon Pinpoint, lihat Model [Machine Learning](https://docs.aws.amazon.com/pinpoint/latest/userguide/ml-models.html) di Panduan Pengguna *Amazon Pinpoint*.

Jika Anda mengonfigurasi Amazon Pinpoint untuk menjalankan fungsi Lambda yang memproses data rekomendasi, Amazon Pinpoint akan melakukan tugas umum berikut setiap kali mengirimkan rekomendasi yang dipersonalisasi dalam pesan untuk kampanye atau perjalanan:

1. Mengevaluasi dan memproses pengaturan konfigurasi dan isi pesan dan template pesan.

1. Menentukan bahwa template pesan terhubung ke model pemberi rekomendasi.

1. Mengevaluasi pengaturan konfigurasi untuk menghubungkan ke dan menggunakan model. Ini ditentukan oleh sumber daya [Model Recommender](https://docs.aws.amazon.com/pinpoint/latest/apireference/recommenders-recommender-id.html) untuk model.

1. Mendeteksi satu atau beberapa variabel pesan untuk atribut yang direkomendasikan yang ditentukan oleh pengaturan konfigurasi untuk model.

1. Mengambil data rekomendasi dari kampanye Amazon Personalize yang ditentukan dalam pengaturan konfigurasi untuk model. Ini menggunakan [GetRecommendations](https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html)pengoperasian Amazon Personalize Runtime API untuk melakukan tugas ini.

1. Menambahkan data rekomendasi yang sesuai ke atribut dinamis yang direkomendasikan (`RecommendationItems`) untuk setiap penerima pesan.

1. Memanggil fungsi Lambda Anda dan mengirimkan data rekomendasi untuk setiap penerima ke fungsi tersebut untuk diproses.

   Data dikirim sebagai objek JSON yang berisi definisi titik akhir untuk setiap penerima. Setiap definisi endpoint mencakup `RecommendationItems` bidang yang berisi array terurut dari nilai 1-5. Jumlah nilai dalam array tergantung pada pengaturan konfigurasi untuk model.

1. Menunggu fungsi Lambda Anda untuk memproses data dan mengembalikan hasilnya.

   Hasilnya adalah objek JSON yang berisi definisi titik akhir yang diperbarui untuk setiap penerima. Setiap definisi endpoint diperbarui berisi `Recommendations` objek baru. Objek ini berisi 1—10 bidang, satu untuk setiap atribut kustom yang direkomendasikan yang Anda tentukan dalam pengaturan konfigurasi untuk model. Masing-masing bidang ini menyimpan data rekomendasi yang disempurnakan untuk titik akhir.

1. Menggunakan definisi titik akhir yang diperbarui untuk setiap penerima untuk mengganti setiap variabel pesan dengan nilai yang sesuai untuk penerima tersebut.

1. Mengirim versi pesan yang berisi rekomendasi yang dipersonalisasi untuk setiap penerima pesan.

Untuk menyesuaikan dan menyempurnakan rekomendasi dengan cara ini, mulailah dengan membuat fungsi Lambda yang memproses definisi titik akhir yang dikirim oleh Amazon Pinpoint, dan mengembalikan definisi titik akhir yang diperbarui. Selanjutnya, tetapkan kebijakan fungsi Lambda ke fungsi tersebut dan otorisasi Amazon Pinpoint untuk menjalankan fungsi tersebut. Kemudian, konfigurasikan model pemberi rekomendasi di Amazon Pinpoint. Saat Anda mengonfigurasi model, tentukan fungsi yang akan dipanggil dan tentukan atribut yang disarankan untuk digunakan.

# Buat fungsi Lambda untuk Amazon Pinpoint untuk memanggil model pemberi rekomendasi
<a name="ml-models-rm-lambda-create-function"></a>

Untuk mempelajari cara membuat fungsi Lambda, lihat [Memulai di Panduan AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html) *Pengembang*. Saat Anda merancang dan mengembangkan fungsi Anda, ingatlah persyaratan dan pedoman berikut. 

## Masukan data peristiwa
<a name="ml-models-rm-lambda-create-function-input"></a>

Saat Amazon Pinpoint memanggil fungsi Lambda untuk model pemberi rekomendasi, Amazon Pinpoint akan mengirimkan payload yang berisi konfigurasi dan pengaturan lain untuk kampanye atau perjalanan yang mengirim pesan. Payload mencakup `Endpoints` objek, yang merupakan peta yang mengaitkan titik akhir IDs dengan definisi titik akhir untuk penerima pesan.

Definisi endpoint menggunakan struktur yang ditentukan oleh sumber daya [Endpoint](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-endpoints-endpoint-id.html) dari Amazon Pinpoint API. Namun, mereka juga menyertakan bidang untuk atribut dinamis yang direkomendasikan bernama`RecommendationItems`. `RecommendationItems`Kolom berisi satu atau beberapa item yang direkomendasikan untuk titik akhir, seperti yang dikembalikan dari kampanye Amazon Personalize. Nilai untuk bidang ini adalah array terurut dari 1-5 item yang direkomendasikan (sebagai string). Jumlah item dalam larik bergantung pada jumlah item yang direkomendasikan yang Anda konfigurasi Amazon Pinpoint untuk diambil untuk setiap titik akhir atau pengguna. 

Contoh:

```
"Endpoints": {
    "endpointIDexample-1":{
        "ChannelType":"EMAIL",
        "Address":"sofiam@example.com",
        "EndpointStatus":"ACTIVE",
        "OptOut":"NONE",
        "EffectiveDate":"2020-02-26T18:56:24.875Z",
        "Attributes":{
            "AddressType":[
                "primary"
            ]
        },
        "User":{
            "UserId":"SofiaMartínez",
            "UserAttributes":{
                "LastName":[
                    "Martínez"
                ],
                "FirstName":[
                    "Sofia"
                ],
                "Neighborhood":[
                    "East Bay"
                ]
            }
        },
        "RecommendationItems":[
            "1815",
            "2009",
            "1527"
        ],
        "CreationDate":"2020-02-26T18:56:24.875Z"
    },
    "endpointIDexample-2":{
        "ChannelType":"EMAIL",
        "Address":"alejandror@example.com",
        "EndpointStatus":"ACTIVE",
        "OptOut":"NONE",
        "EffectiveDate":"2020-02-26T18:56:24.897Z",
        "Attributes":{
            "AddressType":[
                "primary"
            ]
        },
        "User":{
            "UserId":"AlejandroRosalez",
            "UserAttributes":{
                "LastName ":[
                    "Rosalez"
                ],
                "FirstName":[
                    "Alejandro"
                ],
                "Neighborhood":[
                    "West Bay"
                ]
            }
        },
        "RecommendationItems":[
            "1210",
            "6542",
            "4582"
        ],
        "CreationDate":"2020-02-26T18:56:24.897Z"
    }
}
```

Dalam contoh sebelumnya, pengaturan Amazon Pinpoint yang relevan adalah:
+ Model pemberi rekomendasi dikonfigurasi untuk mengambil tiga item yang direkomendasikan untuk setiap titik akhir atau pengguna. (Nilai untuk `RecommendationsPerMessage` properti diatur ke`3`.) Dengan pengaturan ini, Amazon Pinpoint mengambil dan menambahkan hanya item yang direkomendasikan pertama, kedua, dan ketiga untuk setiap titik akhir atau pengguna.
+ Proyek ini dikonfigurasi untuk menggunakan atribut pengguna khusus yang menyimpan nama depan, nama belakang, dan lingkungan tempat mereka tinggal setiap pengguna. (`UserAttributes`Objek berisi nilai-nilai untuk atribut ini.)
+ Proyek dikonfigurasi untuk menggunakan atribut endpoint kustom (`AddressType`) yang menunjukkan apakah titik akhir adalah alamat (saluran) pilihan pengguna untuk menerima pesan dari proyek. (`Attributes`Objek berisi nilai untuk atribut ini.)

Saat Amazon Pinpoint memanggil fungsi Lambda dan mengirimkan payload ini sebagai data peristiwa, AWS Lambda meneruskan data ke fungsi Lambda untuk diproses.

Setiap muatan dapat berisi data hingga 50 titik akhir. Jika segmen berisi lebih dari 50 titik akhir, Amazon Pinpoint memanggil fungsi berulang kali, hingga 50 titik akhir sekaligus, hingga fungsi memproses semua data. 

## Data respons dan persyaratan
<a name="ml-models-rm-lambda-create-function-response"></a>

Saat Anda merancang dan mengembangkan fungsi Lambda Anda, ingatlah [kuota untuk model pembelajaran mesin](quotas.md#quotas-ML-models). Jika fungsi tidak memenuhi ketentuan yang ditentukan oleh kuota ini, Amazon Pinpoint tidak akan dapat memproses dan mengirim pesan.

Perhatikan juga persyaratan berikut:
+ Fungsi harus mengembalikan definisi titik akhir yang diperbarui dalam format yang sama yang disediakan oleh data peristiwa masukan.
+ Setiap definisi titik akhir yang diperbarui dapat berisi 1-10 atribut yang direkomendasikan khusus untuk titik akhir atau pengguna. Nama atribut ini harus cocok dengan nama atribut yang Anda tentukan saat mengonfigurasi model pemberi rekomendasi di Amazon Pinpoint.
+ Semua atribut yang direkomendasikan khusus harus dikembalikan dalam satu `Recommendations` objek untuk setiap titik akhir atau pengguna. Persyaratan ini membantu memastikan bahwa konflik penamaan tidak terjadi. Anda dapat menambahkan `Recommendations` objek ke lokasi mana pun dalam definisi titik akhir. 
+ Nilai untuk setiap atribut yang direkomendasikan khusus harus berupa string (nilai tunggal) atau array string (beberapa nilai). Jika nilainya adalah larik string, sebaiknya Anda menjaga urutan item yang direkomendasikan yang dikembalikan Amazon Personalize, seperti yang ditunjukkan di `RecommendationItems` bidang. Jika tidak, konten Anda mungkin tidak mencerminkan prediksi model untuk titik akhir atau pengguna.
+ Fungsi tidak boleh memodifikasi elemen lain dalam data peristiwa, termasuk nilai atribut lain untuk titik akhir atau pengguna. Seharusnya hanya menambah dan mengembalikan nilai untuk atribut yang direkomendasikan khusus. Amazon Pinpoint tidak akan menerima pembaruan ke nilai lain apa pun dalam respons fungsi.
+ Fungsi tersebut harus di-host di AWS Wilayah yang sama dengan proyek Amazon Pinpoint yang menjalankan fungsi tersebut. Jika fungsi dan proyek tidak berada di Wilayah yang sama, Amazon Pinpoint tidak dapat mengirim data peristiwa ke fungsi tersebut.

Jika salah satu persyaratan sebelumnya tidak terpenuhi, Amazon Pinpoint tidak akan dapat memproses dan mengirim pesan ke satu atau beberapa titik akhir. Ini dapat menyebabkan kampanye atau aktivitas perjalanan gagal. 

Terakhir, kami menyarankan Anda memesan 256 eksekusi bersamaan untuk fungsi tersebut.

Secara keseluruhan, fungsi Lambda Anda harus memproses data peristiwa yang dikirim oleh Amazon Pinpoint dan mengembalikan definisi titik akhir yang dimodifikasi. Hal ini dapat dilakukan dengan iterasi melalui setiap titik akhir dalam `Endpoints` objek dan, untuk setiap titik akhir, membuat dan menetapkan nilai untuk atribut kustom direkomendasikan yang ingin Anda gunakan. Contoh handler berikut, ditulis dengan Python dan dilanjutkan dengan contoh data peristiwa masukan sebelumnya, menunjukkan ini:

```
import json
import string
 
def lambda_handler(event, context):
    print("Received event: " + json.dumps(event))
    print("Received context: " +  str(context))
    segment_endpoints = event["Endpoints"]
    new_segment = dict()
    for endpoint_id in segment_endpoints.keys():
        endpoint = segment_endpoints[endpoint_id]
        if supported_endpoint(endpoint):
            new_segment[endpoint_id] = add_recommendation(endpoint)
 
    print("Returning endpoints: " + json.dumps(new_segment))
    return new_segment
 
def supported_endpoint(endpoint):
    return True
 
def add_recommendation(endpoint):
    endpoint["Recommendations"] = dict()
 
    customTitleList = list()
    customGenreList = list()
    for i,item in enumerate(endpoint["RecommendationItems"]):
        item = int(item)
        if item == 1210:
            customTitleList.insert(i, "Hanna")
            customGenreList.insert(i, "Action")
        elif item == 1527:
            customTitleList.insert(i, "Catastrophe")
            customGenreList.insert(i, "Comedy")
        elif item == 1815:
            customTitleList.insert(i, "Fleabag")
            customGenreList.insert(i, "Comedy")
        elif item == 2009:
            customTitleList.insert(i, "Late Night")
            customGenreList.insert(i, "Drama")
        elif item == 4582:
            customTitleList.insert(i, "Agatha Christie\'s The ABC Murders")
            customGenreList.insert(i, "Crime")
        elif item == 6542:
            customTitleList.insert(i, "Hunters")
            customGenreList.insert(i, "Drama")
        
    endpoint["Recommendations"]["Title"] = customTitleList
    endpoint["Recommendations"]["Genre"] = customGenreList
    
    return endpoint
```

Dalam contoh sebelumnya, AWS Lambda meneruskan data peristiwa ke handler sebagai parameter. `event` Handler iterasi melalui setiap titik akhir dalam `Endpoints` objek dan menetapkan nilai untuk atribut yang direkomendasikan khusus bernama dan. `Recommendations.Title` `Recommendations.Genre` `return`Pernyataan tersebut mengembalikan setiap definisi titik akhir yang diperbarui ke Amazon Pinpoint.

Melanjutkan dengan contoh data peristiwa masukan sebelumnya, definisi titik akhir yang diperbarui adalah:

```
"Endpoints":{
    "endpointIDexample-1":{
        "ChannelType":"EMAIL",
        "Address":"sofiam@example.com",
        "EndpointStatus":"ACTIVE",
        "OptOut":"NONE",
        "EffectiveDate":"2020-02-26T18:56:24.875Z",
        "Attributes":{
            "AddressType":[
                "primary"
            ]
        },
        "User":{
            "UserId":"SofiaMartínez",
            "UserAttributes":{
                "LastName":[
                    "Martínez"
                ],
                "FirstName":[
                    "Sofia"
                ],
                "Neighborhood":[
                    "East Bay"
                ]
            }
        },
        "RecommendationItems":[
            "1815",
            "2009",
            "1527"
        ],
        "CreationDate":"2020-02-26T18:56:24.875Z",
        "Recommendations":{
            "Title":[
                "Fleabag",
                "Late Night",
                "Catastrophe"
            ],
            "Genre":[
                "Comedy",
                "Comedy",
                "Comedy"
            ]
        }
    },
    "endpointIDexample-2":{
        "ChannelType":"EMAIL",
        "Address":"alejandror@example.com",
        "EndpointStatus":"ACTIVE",
        "OptOut":"NONE",
        "EffectiveDate":"2020-02-26T18:56:24.897Z",
        "Attributes":{
            "AddressType":[
                "primary"
            ]
        },
        "User":{
            "UserId":"AlejandroRosalez",
            "UserAttributes":{
                "LastName ":[
                    "Rosalez"
                ],
                "FirstName":[
                    "Alejandro"
                ],
                "Neighborhood":[
                    "West Bay"
                ]
            }
        },
        "RecommendationItems":[
            "1210",
            "6542",
            "4582"
        ],
        "CreationDate":"2020-02-26T18:56:24.897Z",
        "Recommendations":{
            "Title":[
                "Hanna",
                "Hunters",
                "Agatha Christie\'s The ABC Murders"
            ],
            "Genre":[
                "Action",
                "Drama",
                "Crime"
            ]
        }
    }
}
```

Dalam contoh sebelumnya, fungsi memodifikasi `Endpoints` objek yang diterima dan mengembalikan hasilnya. `Endpoint`Objek untuk setiap endpoint sekarang berisi `Recommendations` objek baru, yang berisi `Title` dan `Genre` bidang. Masing-masing bidang ini menyimpan array berurutan dari tiga nilai (sebagai string), di mana setiap nilai menyediakan konten yang disempurnakan untuk item yang direkomendasikan yang sesuai di `RecommendationItems` bidang.

# Menetapkan kebijakan fungsi Lambda untuk mengotorisasi Amazon Pinpoint untuk memproses data rekomendasi
<a name="ml-models-rm-lambda-trust-policy"></a>

Sebelum Anda dapat menggunakan fungsi Lambda untuk memproses data rekomendasi, Anda harus mengotorisasi Amazon Pinpoint untuk menjalankan fungsi tersebut. Untuk memberikan izin pemanggilan, tetapkan kebijakan fungsi Lambda ke fungsi tersebut. *Kebijakan fungsi Lambda adalah kebijakan* izin berbasis sumber daya yang menetapkan entitas mana yang dapat menggunakan fungsi dan tindakan apa yang dapat dilakukan entitas tersebut. *Untuk informasi selengkapnya, lihat [Menggunakan Kebijakan Berbasis Sumber Daya untuk AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html) di Panduan Pengembang.AWS Lambda *

Kebijakan contoh berikut memungkinkan prinsipal layanan Amazon Pinpoint untuk menggunakan `lambda:InvokeFunction` tindakan untuk kampanye Amazon Pinpoint () tertentu dalam proyek Amazon Pinpoint *campaignId* () tertentu: *projectId*

```
{
  "Sid": "sid",
  "Effect": "Allow",
  "Principal": {
    "Service": "pinpoint.us-east-1.amazonaws.com"
  },
  "Action": "lambda:InvokeFunction",
  "Resource": "{arn:aws:lambda:us-east-1:accountId:function:function-name}",
  "Condition": {
    "ArnLike": {
      "AWS:SourceArn": "arn:aws:mobiletargeting:us-east-1:accountId:recommenders/*"
    }
  }
}
```

Kebijakan fungsi memerlukan `Condition` blok yang menyertakan `AWS:SourceArn` kunci. Kunci ini menentukan sumber daya mana yang diizinkan untuk memanggil fungsi. Dalam contoh sebelumnya, kebijakan memungkinkan satu kampanye tertentu untuk menjalankan fungsi tersebut.

Anda juga dapat menulis kebijakan yang memungkinkan prinsipal layanan Amazon Pinpoint menggunakan `lambda:InvokeFunction` tindakan untuk semua kampanye dan perjalanan dalam proyek Amazon Pinpoint () tertentu. *projectId* Contoh kebijakan berikut menunjukkan ini:

```
{
  "Sid": "sid",
  "Effect": "Allow",
  "Principal": {
    "Service": "pinpoint.us-east-1.amazonaws.com"
  },
  "Action": "lambda:InvokeFunction",
  "Resource": "{arn:aws:lambda:us-east-1:accountId:function:function-name}",
  "Condition": {
    "ArnLike": {
      "AWS:SourceArn": "arn:aws:mobiletargeting:us-east-1:accountId:recommenders/*"
    }
  }
}
```

Berbeda dengan contoh pertama, `AWS:SourceArn` kunci di `Condition` blok contoh ini memungkinkan satu proyek tertentu untuk memanggil fungsi. Izin ini berlaku untuk semua kampanye dan perjalanan dalam proyek.

Untuk menulis kebijakan yang lebih umum, Anda dapat menggunakan wildcard pencocokan multikarakter (\$1). Misalnya, Anda dapat menggunakan `Condition` blok berikut untuk mengizinkan proyek Amazon Pinpoint untuk menjalankan fungsi:

```
"Condition": {
  "ArnLike": {
    "AWS:SourceArn": "arn:aws:mobiletargeting:us-east-1:accountId:recommenders/*"
  }
}
```

Jika Anda ingin menggunakan fungsi Lambda dengan semua proyek untuk akun Amazon Pinpoint Anda, kami sarankan Anda mengonfigurasi `Condition` blok kebijakan dengan cara sebelumnya. Namun, sebagai praktik terbaik, Anda harus membuat kebijakan yang hanya menyertakan izin yang diperlukan untuk melakukan tindakan tertentu pada sumber daya tertentu.

## Otorisasi Amazon Pinpoint untuk menjalankan fungsi Lambda menggunakan AWS CLI perintah izin tambahan dan Lambda
<a name="ml-models-rm-lambda-trust-policy-assign"></a>

Setelah menetapkan kebijakan fungsi Lambda ke fungsi, Anda dapat menambahkan izin yang memungkinkan Amazon Pinpoint memanggil fungsi untuk proyek, kampanye, atau perjalanan tertentu. Anda dapat melakukan ini menggunakan perintah AWS Command Line Interface (AWS CLI) dan Lambda [https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html). Contoh berikut menunjukkan bagaimana melakukan ini untuk proyek tertentu (*projectId*):

```
$ aws lambda add-permission \
--function-name function-name \
--statement-id sid \
--action lambda:InvokeFunction \
--principal pinpoint.us-east-1.amazonaws.com \
--source-arn arn:aws:mobiletargeting:us-east-1:accountId:recommenders/*
```

Contoh sebelumnya diformat untuk Unix, Linux, dan macOS. Untuk Microsoft Windows, ganti karakter garis miring terbalik (\$1) dengan tanda sisipan (^).

Jika perintah berjalan dengan sukses, Anda melihat output yang mirip dengan berikut ini:

```
{
  "Statement": "{\"Sid\":\"sid\",
    \"Effect\":\"Allow\",
    \"Principal\":{\"Service\":\"pinpoint.us-east-1.amazonaws.com\"},
    \"Action\":\"lambda:InvokeFunction\",
    \"Resource\":\"arn:aws:lambda:us-east-1:111122223333:function:function-name\",
    \"Condition\":
      {\"ArnLike\":
        {\"AWS:SourceArn\":
         \"arn:aws:mobiletargeting:us-east-1:111122223333:recommenders/*\"}}}"
}
```

Nilai `Statement` adalah versi string JSON dari pernyataan yang ditambahkan ke kebijakan fungsi Lambda.

## Konfigurasikan Amazon Pinpoint untuk menjalankan fungsi Lambda untuk model pemberi rekomendasi
<a name="ml-models-rm-lambda-configure"></a>

Untuk mengonfigurasi Amazon Pinpoint agar menjalankan fungsi Lambda untuk model pemberi rekomendasi, tentukan setelan konfigurasi khusus Lambda berikut untuk model tersebut:
+ `RecommendationTransformerUri`— Properti ini menentukan nama atau Amazon Resource Name (ARN) dari fungsi Lambda.
+ `Attributes`— Objek ini adalah peta yang mendefinisikan atribut yang direkomendasikan khusus yang ditambahkan fungsi ke setiap definisi titik akhir. Masing-masing atribut ini dapat digunakan sebagai variabel pesan dalam template pesan.

Anda dapat menentukan setelan ini dengan menggunakan resource [Model Recommender](https://docs.aws.amazon.com/pinpoint/latest/apireference/recommenders.html) dari Amazon Pinpoint API (saat Anda membuat konfigurasi untuk model) atau resource Model [Recommender dari](https://docs.aws.amazon.com/pinpoint/latest/apireference/recommenders-recommender-id.html) Amazon Pinpoint API (jika Anda memperbarui konfigurasi untuk model). Anda juga dapat menentukan pengaturan ini dengan menggunakan konsol Amazon Pinpoint.

Untuk informasi selengkapnya tentang menggunakan model pemberi rekomendasi dengan Amazon Pinpoint, lihat Model [Machine Learning](https://docs.aws.amazon.com/pinpoint/latest/userguide/ml-models.html) di Panduan Pengguna *Amazon Pinpoint*.