

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

# Contoh widget kustom untuk dashboard CloudWatch
<a name="add_custom_widget_samples"></a>

AWS menyediakan contoh widget kustom di keduanya JavaScript dan Python. Anda dapat membuat sampel widget ini dengan menggunakan tautan untuk masing-masing widget dalam daftar ini. Atau, Anda dapat membuat dan menyesuaikan widget dengan menggunakan CloudWatch konsol. Tautan dalam daftar ini membuka AWS CloudFormation konsol dan menggunakan tautan CloudFormation buat cepat untuk membuat widget khusus.

Anda juga dapat mengakses sampel widget kustom pada [GitHub](https://github.com/aws-samples/cloudwatch-custom-widgets-samples).

Mengikuti daftar ini, contoh lengkap widget Echo ditunjukkan untuk masing-masing bahasa.

------
#### [ JavaScript ]

**Contoh widget kustom di JavaScript**
+ [ Echo](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetEcho-js&template=customWidgets/customWidgetEcho-js.yaml&param_DoCreateExampleDashboard=Yes) — Echo dasar yang dapat Anda gunakan untuk menguji bagaimana HTML ditampilkan di sebuah widget kustom, tanpa harus menulis sebuah widget baru.
+ [ Hello world](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetHelloWorld-js&template=customWidgets/customWidgetHelloWorld-js.yaml&param_DoCreateExampleDashboard=Yes) — Widget pemula yang sangat mendasar.
+ [ Debugger widget kustom](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetDebugger-js&template=customWidgets/customWidgetDebugger-js.yaml&param_DoCreateExampleDashboard=Yes) — Sebuah debugger widget yang menampilkan informasi yang berguna tentang lingkungan runtime Lambda.
+ [Wawasan CloudWatch Log Kueri](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetLogsInsightsQuery-js&template=customWidgets/customWidgetLogsInsightsQuery-js.yaml&param_DoCreateExampleDashboard=Yes) — Jalankan dan edit kueri Wawasan CloudWatch Log.
+ [ Jalankan kueri Amazon Athena](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetAthenaQuery-js&template=customWidgets/customWidgetAthenaQuery-js.yaml&param_DoCreateExampleDashboard=Yes) — Menjalankan dan menyunting kueri Athena.
+ [Panggil AWS API](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetAwsCall-js&template=customWidgets/customWidgetAwsCall-js.yaml&param_DoCreateExampleDashboard=Yes) - Panggil AWS API hanya-baca apa pun dan tampilkan hasilnya dalam format JSON.
+ [Grafik CloudWatch bitmap cepat](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetCloudWatchBitmapGraph-js&template=customWidgets/customWidgetCloudWatchBitmapGraph-js.yaml&param_DoCreateExampleDashboard=Yes) - Render CloudWatch grafik menggunakan di sisi server, untuk tampilan cepat.
+ [Widget teks dari CloudWatch dasbor](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetIncludeTextWidget-js&template=customWidgets/customWidgetIncludeTextWidget-js.yaml&param_DoCreateExampleDashboard=Yes) - Menampilkan widget teks pertama dari CloudWatch dasbor yang ditentukan.
+ [ CloudWatch data metrik sebagai tabel](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetCloudWatchMetricDataTable-js&template=customWidgets/customWidgetCloudWatchMetricDataTable-js.yaml&param_DoCreateExampleDashboard=Yes) - Menampilkan data CloudWatch metrik mentah dalam tabel.
+ [ Tabel Amazon EC2](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetEc2Table-js&template=customWidgets/customWidgetEc2Table-js.yaml&param_DoCreateExampleDashboard=Yes) — Menampilkan instans EC2 teratas berdasarkan pemanfaatan CPU. Widget ini juga menyertakan sebuah tombol Reboot, yang dinonaktifkan secara default.
+ [AWS CodeDeploy penerapan - Menampilkan CodeDeploy penerapan](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetCodeDeploy-js&template=customWidgets/customWidgetCodeDeploy-js.yaml&param_DoCreateExampleDashboard=Yes).
+ [AWS Cost Explorer laporan](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetCostExplorerReport-js&template=customWidgets/customWidgetCostExplorerReport-js.yaml&param_DoCreateExampleDashboard=Yes) - Menampilkan laporan tentang biaya setiap AWS layanan untuk rentang waktu yang dipilih.
+ [ Menampilkan konten URL eksternal](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetFetchURL-js&template=customWidgets/customWidgetFetchURL-js.yaml&param_DoCreateExampleDashboard=Yes) — Menampilkan sebuah konten URL yang dapat diakses secara eksternal.
+ [ Menampilkan objek Amazon S3](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetS3GetObject-js&template=customWidgets/customWidgetS3GetObject-js.yaml&param_DoCreateExampleDashboard=Yes) — Menampilkan sebuah objek dalam sebuah bucket Amazon S3 di akun Anda.
+ [ Bagan lingkaran SVG sederhana](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetSimplePie-js&template=customWidgets/customWidgetSimplePie-js.yaml&param_DoCreateExampleDashboard=Yes) — Contoh widget berbasis SVG grafis.

------
#### [ Python ]

**Widget kustom sampel di Python**
+ [ Echo](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetEcho-py&template=customWidgets/customWidgetEcho-py.yaml&param_DoCreateExampleDashboard=Yes) — Echo dasar yang dapat digunakan untuk menguji bagaimana HTML ditampilkan di sebuah widget kustom, tanpa harus menulis sebuah widget baru.
+ [ Hello world](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetHelloWorld-py&template=customWidgets/customWidgetHelloWorld-py.yaml&param_DoCreateExampleDashboard=Yes) — Widget pemula yang sangat mendasar.
+ [ Debugger widget kustom](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetDebugger-py&template=customWidgets/customWidgetDebugger-py.yaml&param_DoCreateExampleDashboard=Yes) — Sebuah debugger widget yang menampilkan informasi yang berguna tentang lingkungan runtime Lambda.
+ [Panggil AWS API](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetAwsCall-py&template=customWidgets/customWidgetAwsCall-py.yaml&param_DoCreateExampleDashboard=Yes) - Panggil AWS API hanya-baca apa pun dan tampilkan hasilnya dalam format JSON.
+  [Grafik CloudWatch bitmap cepat](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetCloudWatchBitmapGraph-py&template=customWidgets/customWidgetCloudWatchBitmapGraph-py.yaml&param_DoCreateExampleDashboard=Yes) - Render CloudWatch grafik menggunakan di sisi server, untuk tampilan cepat.
+  [ Kirim snapshot dasbor melalui email](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetEmailDashboardSnapshot-py&template=customWidgets/customWidgetEmailDashboardSnapshot-py.yaml&param_DoCreateExampleDashboard=Yes) — Mengambil snapshot dari dasbor saat ini dan dikirimkan ke penerima email.
+  [ Kirim snapshot dasbor ke Amazon S3](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetSnapshotDashboardToS3-py&template=customWidgets/customWidgetSnapshotDashboardToS3-py.yaml&param_DoCreateExampleDashboard=Yes) Mengambil snapshot dari dasbor saat ini dan kemudian disimpan di Amazon S3.
+ [Widget teks dari CloudWatch dasbor](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetIncludeTextWidget-py&template=customWidgets/customWidgetIncludeTextWidget-py.yaml&param_DoCreateExampleDashboard=Yes) - Menampilkan widget teks pertama dari CloudWatch dasbor yang ditentukan.
+ [ Menampilkan konten URL eksternal](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetFetchURL-py&template=customWidgets/customWidgetFetchURL-py.yaml&param_DoCreateExampleDashboard=Yes) — Menampilkan sebuah konten URL yang dapat diakses secara eksternal.
+ [ Pembaca RSS](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetRssReader-py&template=customWidgets/customWidgetRssReader-py.yaml&param_DoCreateExampleDashboard=Yes) — Menampilkan umpan RSS.
+ [ Menampilkan objek Amazon S3](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetS3GetObject-py&template=customWidgets/customWidgetS3GetObject-py.yaml&param_DoCreateExampleDashboard=Yes) — Menampilkan sebuah objek dalam sebuah bucket Amazon S3 di akun Anda.
+ [ Bagan lingkaran SVG sederhana](https://console.aws.amazon.com/cloudwatch/cfn.js?region=us-east-1&action=create&stackName=customWidgetSimplePie-py&template=customWidgets/customWidgetSimplePie-py.yaml&param_DoCreateExampleDashboard=Yes) — Contoh widget berbasis SVG grafis.

------

**Widget gema di JavaScript**

Berikut ini adalah contoh widget Echo di JavaScript.

```
const DOCS = `
## Echo
A basic echo script. Anything passed in the \`\`\`echo\`\`\` parameter is returned as the content of the custom widget.
### Widget parameters
Param | Description
---|---
**echo** | The content to echo back
 
### Example parameters
\`\`\` yaml
echo: <h1>Hello world</h1>
\`\`\`
`;
 
exports.handler = async (event) => {
    if (event.describe) {
        return DOCS;   
    }
    
    let widgetContext = JSON.stringify(event.widgetContext, null, 4);
    widgetContext = widgetContext.replace(/</g, '&lt;');
    widgetContext = widgetContext.replace(/>/g, '&gt;');
    
    return `${event.echo || ''}<pre>${widgetContext}</pre>`;
};
```

** Widget Echo dengan Python**

Berikut ini adalah sampel widget Echo dalam Python.

```
import json
     
DOCS = """
## Echo
A basic echo script. Anything passed in the ```echo``` parameter is returned as the content of the custom widget.
### Widget parameters
Param | Description
---|---
**echo** | The content to echo back
     
### Example parameters
``` yaml
echo: <h1>Hello world</h1>
```"""
 
def lambda_handler(event, context):
    if 'describe' in event:
        return DOCS
        
    echo = event.get('echo', '')
    widgetContext = event.get('widgetContext')
    widgetContext = json.dumps(widgetContext, indent=4)
    widgetContext = widgetContext.replace('<', '&lt;')
    widgetContext = widgetContext.replace('>', '&gt;')
        
    return f'{echo}<pre>{widgetContext}</pre>'
```

** Widget Echo dalam Java**

Berikut ini adalah sampel widget Echo dalam Java.

```
package example;
 
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
 
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
 
public class Handler implements RequestHandler<Event, String>{
 
  static String DOCS = ""
    + "## Echo\n"
    + "A basic echo script. Anything passed in the ```echo``` parameter is returned as the content of the custom widget.\n"
    + "### Widget parameters\n"
    + "Param | Description\n"
    + "---|---\n"
    + "**echo** | The content to echo back\n\n"
    + "### Example parameters\n"
    + "```yaml\n"
    + "echo: <h1>Hello world</h1>\n"
    + "```\n";
 
  Gson gson = new GsonBuilder().setPrettyPrinting().create();
 
  @Override
  public String handleRequest(Event event, Context context) {
 
    if (event.describe) {
      return DOCS;
    }
     
    return (event.echo != null ? event.echo : "") + "<pre>" + gson.toJson(event.widgetContext) + "</pre>";
  }
}
     
class Event {
 
    public boolean describe;
    public String echo;
    public Object widgetContext;
 
    public Event() {}
 
    public Event(String echo, boolean describe, Object widgetContext) {
        this.describe = describe;
        this.echo = echo;
        this.widgetContext = widgetContext;
    }
}
```