

# カスタムデータソースの使用
<a name="CloudWatch_MultiDataSources-Custom-Use"></a>

 データソースを作成したら、そのデータソースのデータをクエリして可視化し、アラームを設定できます。テンプレートを使用してカスタムデータソースコネクタを作成した場合や、「[ステップ 3: シークレットリソースを Lambda 関数にアタッチする](CloudWatch_MultiDataSources-Connect-Custom.md#MultiDataSources-Connect-Custom-Lambda-tags)」にリストされているタグを追加した場合は、「[別のデータソースにあるメトリクスのグラフ化](graph_a_metric.md#create-metric-graph-multidatasource)」の手順に従ってデータをクエリできます。また、この後のセクションで説明しているように、メトリクス数学関数 `LAMBDA` を使用してデータをクエリすることもできます。データソースのメトリクスに対してアラームを作成する方法については、「[接続されたデータソースに基づいてアラームを作成する](Create_MultiSource_Alarm.md)」を参照してください。このトピックでは、カスタムデータソースへの Lambda 関数に引数を渡す方法について説明します。

## Lambda 関数に引数を渡す方法
<a name="MultiDataSources-Connect-Custom-Lambda-arguments"></a>

カスタムデータソースに引数を渡す場合は、データソースをクエリするときに CloudWatch コンソールのクエリビルダーを使用するという方法をお勧めします。

また、CloudWatch メトリクス数式の新しい `LAMBDA` 式を使用することで、Lambda 関数を使用してデータソースからデータを取得することもできます。

```
LAMBDA("LambdaFunctionName" [, optional-arg]*)
```

`optional-arg` は、最大 20 個の文字列、数値、またはブール値です。例えば、`param`、`3.14`、または `true` です。

**注記**  
CloudWatch データソースコネクタでは、複数行にわたる文字列はサポートされていません。そうしたクエリを実行するか、そうしたクエリでアラームやダッシュボードウィジェットを作成すると、すべてのラインフィードがスペースに置き換えられます。場合によっては、クエリが無効になることもあります。

`LAMBDA` メトリクス数学関数を使用する場合は、関数名 (`"MyFunction"`) を指定できます。リソースポリシーで許可されている場合は、関数の特定のバージョン (`"MyFunction:22"`) や Lambda 関数のエイリアス (`"MyFunction:MyAlias"`) を使用することもできます。`*` を使用することはできません。

次に、`LAMBDA` 関数の呼び出し例をいくつか示します。

```
LAMBDA("AmazonOpenSearchDataSource", "MyDomain", "some-query")
```

```
LAMBDA("MyCustomDataSource", true, "fuzzy", 99.9)
```

`LAMBDA` メトリクス数学関数は時系列のリストを返します。そのリストをリクエスタに返したり、他のメトリクス数学関数と組み合わせて使用したりできます。次に、`LAMBDA` を他のメトリクス数学関数と組み合わせた場合の例を示します。

```
FILL(LAMBDA("AmazonOpenSearchDataSource", "MyDomain", "some-query"), 0)
```