

 AWS SDK untuk JavaScript V2 telah mencapai end-of-support. Kami menyarankan Anda bermigrasi ke [AWS SDK untuk JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat [pengumuman](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/) ini.

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

# Menggunakan Filter Berlangganan di CloudWatch Log Amazon
<a name="cloudwatch-examples-subscriptions"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/id_id/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Contoh kode Node.js ini menunjukkan:**
+ Cara membuat dan menghapus filter untuk peristiwa log di CloudWatch Log.

## Skenario
<a name="cloudwatch-examples-subscriptions-scenario"></a>

Langganan menyediakan akses ke umpan real-time peristiwa CloudWatch log dari Log dan mengirimkan umpan tersebut ke layanan lain, seperti aliran Amazon Kinesis AWS Lambda atau, untuk pemrosesan, analisis, atau pemuatan kustom ke sistem lain. Filter langganan menentukan pola yang akan digunakan untuk memfilter peristiwa log mana yang dikirimkan ke sumber daya Anda AWS .

Dalam contoh ini, serangkaian modul Node.js digunakan untuk membuat daftar, membuat, dan menghapus filter langganan di CloudWatch Log. Tujuan untuk peristiwa log adalah fungsi Lambda. Modul Node.js menggunakan SDK JavaScript untuk mengelola filter langganan menggunakan metode kelas `CloudWatchLogs` klien berikut:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatchLogs.html#putSubscriptionFilters-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatchLogs.html#putSubscriptionFilters-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatchLogs.html#describeSubscriptionFilters-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatchLogs.html#describeSubscriptionFilters-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatchLogs.html#deleteSubscriptionFilter-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatchLogs.html#deleteSubscriptionFilter-property)

Untuk informasi selengkapnya tentang langganan CloudWatch Log, lihat [Pemrosesan Data Log secara real-time dengan Langganan](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Subscriptions.html) di *Panduan Pengguna CloudWatch Log Amazon*.

## Tugas Prasyarat
<a name="cloudwatch-examples-subscriptions-prerequisites"></a>

Untuk mengatur dan menjalankan contoh ini, Anda harus terlebih dahulu menyelesaikan tugas-tugas ini:
+ Instal Node.js. Untuk informasi selengkapnya tentang menginstal Node.js, lihat [situs web Node.js](https://nodejs.org).
+ Buat file konfigurasi bersama dengan kredensi pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file kredensial bersama, lihat. [Memuat Kredensial di Node.js dari File Kredensial Bersama](loading-node-credentials-shared.md)
+ Buat fungsi Lambda sebagai tujuan untuk peristiwa log. Anda harus menggunakan ARN dari fungsi ini. Untuk informasi selengkapnya tentang menyiapkan fungsi Lambda, lihat [Filter Langganan dengan AWS Lambda](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SubscriptionFilters.html#LambdaFunctionExample) di *Panduan Pengguna CloudWatch Log Amazon*.
+ Buat peran IAM yang kebijakannya memberikan izin untuk menjalankan fungsi Lambda yang Anda buat dan memberikan akses penuh ke CloudWatch Log atau menerapkan kebijakan berikut ke peran eksekusi yang Anda buat untuk fungsi Lambda. Untuk informasi selengkapnya tentang membuat peran IAM, lihat [Membuat Peran untuk Mendelegasikan Izin ke AWS Layanan di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) *IAM*.

Gunakan kebijakan peran berikut saat membuat peran IAM.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "logs:CreateLogGroup",
            "logs:CreateLogStream",
            "logs:PutLogEvents"
         ],
         "Resource": "arn:aws:logs:*:*:*"
      },
      {
         "Effect": "Allow",
         "Action": [
            "lambda:InvokeFunction"
         ],
         "Resource": [
            "*"
         ]
      }
   ]
}
```

------

## Menjelaskan Filter Langganan yang Ada
<a name="cloudwatch-examples-subscriptions-describing"></a>

Buat modul Node.js dengan nama file`cwl_describesubscriptionfilters.js`. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses CloudWatch Log, buat objek `AWS.CloudWatchLogs` layanan. Buat objek JSON yang berisi parameter yang diperlukan untuk mendeskripsikan filter yang ada, termasuk nama grup log dan jumlah maksimum filter yang ingin Anda jelaskan. Panggil metode `describeSubscriptionFilters`.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the CloudWatchLogs service object
var cwl = new AWS.CloudWatchLogs({ apiVersion: "2014-03-28" });

var params = {
  logGroupName: "GROUP_NAME",
  limit: 5,
};

cwl.describeSubscriptionFilters(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data.subscriptionFilters);
  }
});
```

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

```
node cwl_describesubscriptionfilters.js
```

Kode contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascript/example_code/cloudwatch-logs/cwl_describesubscriptionfilters.js).

## Membuat Filter Langganan
<a name="cloudwatch-examples-subscriptions-creating"></a>

Buat modul Node.js dengan nama file`cwl_putsubscriptionfilter.js`. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses CloudWatch Log, buat objek `AWS.CloudWatchLogs` layanan. Buat objek JSON yang berisi parameter yang diperlukan untuk membuat filter, termasuk ARN dari fungsi Lambda tujuan, nama filter, pola string untuk pemfilteran, dan nama grup log. Panggil metode `putSubscriptionFilters`.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the CloudWatchLogs service object
var cwl = new AWS.CloudWatchLogs({ apiVersion: "2014-03-28" });

var params = {
  destinationArn: "LAMBDA_FUNCTION_ARN",
  filterName: "FILTER_NAME",
  filterPattern: "ERROR",
  logGroupName: "LOG_GROUP",
};

cwl.putSubscriptionFilter(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

```
node cwl_putsubscriptionfilter.js
```

Kode contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascript/example_code/cloudwatch-logs/cwl_putsubscriptionfilter.js).

## Menghapus Filter Langganan
<a name="cloudwatch-examples-subscriptions-deleting"></a>

Buat modul Node.js dengan nama file`cwl_deletesubscriptionfilters.js`. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses CloudWatch Log, buat objek `AWS.CloudWatchLogs` layanan. Buat objek JSON yang berisi parameter yang diperlukan untuk menghapus filter, termasuk nama filter dan grup log. Panggil metode `deleteSubscriptionFilters`.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the CloudWatchLogs service object
var cwl = new AWS.CloudWatchLogs({ apiVersion: "2014-03-28" });

var params = {
  filterName: "FILTER",
  logGroupName: "LOG_GROUP",
};

cwl.deleteSubscriptionFilter(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

```
node cwl_deletesubscriptionfilter.js
```

Kode contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascript/example_code/cloudwatch-logs/cwl_deletesubscriptionfilter.js).