同時接続によるリクエストの最適化
Things Cloud プラットフォームへのリクエストのパフォーマンスを向上させるために、ストリーミング分析は複数のクライアント接続を使用してリクエストを同時に実行します。これによりパフォーマンスが向上しますが、リクエストが実行されてレスポンスが返される順序も変更される可能性があります。デフォルトでは、Things Cloud トランスポートは複数の接続の使用を試み、EPL アプリケーションに影響を与える可能性のある競合を避けるために順序を制限します。
必要に応じて、順序が維持されるように努めます。例えば、単一のマネージドオブジェクトに対するすべての更新は、トランスポートに送信された順序でシリアルに実行されます。詳細については、Apama ドキュメントの 同時接続によるリクエストの最適化 を参照してください。
デフォルトのクライアント接続数は、streaminganalytics
カテゴリ内の client.numClients
テナントオプションで調整できます。
例:
{
"category": "streaminganalytics",
"key": "client.numClients",
"value": "5"
}
完全にシリアルなトランスポートが必要な場合は、client.numClients
の値を 1 に設定してください。
ストリーミング分析アプリケーションのアクセス制御
デフォルトでは、ストリーミング分析 アプリケーションを使用すると、分析ビルダー ページと EPL アプリ ページにアクセスできます。管理者は、テナントやユーザーごとに表示するカードを制御したり、ホーム画面のカードの文言を変更したりすることができます。ストリーミング分析アプリケーションのホーム画面のカスタマイズ を参照してください。
どのページが利用可能かは、実行されている Apama-ctrl マイクロサービスの種類によっても異なります。
- マイクロサービスが実行されていない場合は、マイクロサービスにアクセスできないことを示すエラーメッセージが表示されます。ホーム画面には、スマートルールに関する情報が記載されたカードのみが表示されます。
- Apama-ctrl-starter マイクロサービスが実行されている場合、EPL アプリ ページは表示されません(有効にすることもできません)。これは、EPL アプリ 機能が Apama-ctrl-starter では利用できないためです。
- Apama-ctrl-mt-4c-16g マイクロサービスが実行されている場合、サブスクライブしているすべてのテナントで 分析ビルダー ページが表示されます。EPL アプリ ページは、マイクロサービスを所有するテナントでのみ表示され、サブテナントでは表示されません(有効にすることもできません)。
- Apama-ctrl-smartrules または Apama-ctrl-smartrulesmt マイクロサービスが実行されている場合、分析ビルダー ページも EPL アプリ ページも表示されません(有効にすることもできません)。この場合、ホーム画面にはスマートルールに関する情報を含むカードのみが表示されます。
- Apama-ctrl マイクロサービスの他の種類では、分析ビルダー ページと EPL アプリ ページの両方がデフォルトで表示されます。
テナント全体において、feature-disable-analyticsbuilder
および/または feature-disable-eplapps
という名前の「機能アプリケーション」がテナント内で利用可能な場合、関連する部分は無効になります。これは エンタープライズテナント(親テナント) または マネジメントテナント によって実行でき(詳細は テナントの管理 参照)、サブテナントにサブスクライブすることができます(親テナントが機能へのアクセスを制限している場合、サブテナント管理者はこのアプリケーションをサブスクライブ解除することができません)。このような「機能アプリケーション」を作成するには、アプリケーションを作成する権限を持つ管理者として、/application/applications
に POST リクエストを送信します。例えば、分析ビルダーを無効にするには、次のようにします。
{
"name":"feature-disable-analyticsbuilder",
"contextPath": "feature-disable-analyticsbuilder",
"type":"HOSTED",
"resourcesUrl":"/",
"manifest": {
"noAppSwitcher": true
},
"key":"feature-disable-analyticsbuilder-key"
}
または、EPL アプリを無効にするには:
{
"name":"feature-disable-eplapps",
"contextPath": "feature-disable-eplapps",
"type":"HOSTED",
"resourcesUrl":"/",
"manifest": {
"noAppSwitcher": true
},
"key":"feature-disable-eplapps-key"
}
たとえば、分析ビルダーを無効にするために、curl コマンドを使用して POST リクエストを送信することもできます。
curl --user username -X POST -H 'Content-Type: application/json' -d '{"name":"feature-disable-analyticsbuilder", "contextPath": "feature-disable-analyticsbuilder", "type":"HOSTED", "resourcesUrl":"/","manifest": {"noAppSwitcher": true},"key":"feature-disable-analyticsbuilder-key"}' -k https://{{hostname}}/application/applications/
または、EPL アプリを無効にするには:
curl --user username -X POST -H 'Content-Type: application/json' -d '{"name":"feature-disable-eplapps", "contextPath": "feature-disable-eplapps", "type":"HOSTED", "resourcesUrl":"/", "manifest": {"noAppSwitcher": true},"key":"feature-disable-eplapps-key"}' -k https://{{hostname}}/application/applications/
デフォルトでは、すべてのユーザーは同じページセットを見ることができます(上記の制限に従って)。ページの表示を、ROLE_ANALYTICSBUILDER_READ または ROLE_EPLAPPS_READ の権限を持つユーザーのみに制限することもできます。これらの権限は、ユーザーに直接またはグループを介して割り当てることができます。権限の管理 を参照してください。この機能を有効にするには、テナントオプションのカテゴリを streaminganalytics
に設定し、applicationAccess
キーを値「role」に設定します。Things Cloud OpenAPI仕様 の Tenant API を参照するか、次の例のように curl コマンドを使用します。
curl --user username -X POST -H 'Content-Type: application/json' -d '{"category": "streaminganalytics", "key": "applicationAccess", "value": "role"}' -k https://mytenant/tenant/options
ユーザー名は、「オプション管理」の管理者権限を持つユーザー名に置き換えてください。
これは、ストリーミング分析アプリケーションのカードとページの表示設定にのみ影響することに注意してください。サポートされている REST サービスには、「CEP管理」の読み取りおよび管理者権限のみが必要です。
ストリーミング分析アプリケーションのホーム画面のカスタマイズ
ストリーミング分析アプリケーションのホーム画面に表示されるカードには、テキストとリンクが含まれています これは、テナントごと、言語ごとにカスタマイズできます。これを行うには、documentation.json ファイルをダウンロードします。 URL /service/cep/apamacorrelator/EN/documentation.json からカスタマイズしたい言語を選択します(これは、Things Cloud テナントのユーザーに対して認証される必要があります)。URL 内の「EN」を、ダウンロードするファイルの言語コードに置き換えてください。
documentation.json ファイルには、ストリーミング分析アプリケーション全体のドキュメント リンクの URL が含まれています ホーム画面に表示されるテキスト。 これを要件に合わせて変更できます。
必要な変更をすべて行った後、変更したコピーを次のファイルを含む zipファイルにパッケージ化します。
- files/support/cumulocity/EN/documentation.json
- cumulocity.json
ここで、cumulocity.json ファイルには以下が含まれます。
{
"contextPath": "streaminganalytics-customization",
"availability": "MARKET",
"type": "HOSTED",
"name": "streaminganalytics-customization",
"key": "streaminganalytics-customization-key",
"noAppSwitcher": true
}
次に、管理アプリケーションを使用して zip ファイルをアップロードします。エコシステム > アプリケーション に移動し、アプリケーションを追加 をクリックし、Web アプリケーションをアップロード を選択します。詳細については、アプリケーションの管理 を参照してください。
変更を有効にするには、ブラウザのキャッシュをクリアする必要がある場合があります。
必要に応じて、単一の zip ファイルに複数の言語を含めることができます。必要に応じて、これをエンタープライズテナント(親テナント)からサブテナントにサブスクライブできます。
プラットフォームの新しいリリースでは、ソースの documentation.json ファイルに変更がないか確認することをお勧めします。このファイル内の新しいエントリは、デフォルト値で選択されます。
マイクロサービスの権限とリソース使用量の変更
Apama-ctrl マイクロサービスが使用するリソースの使用状況と権限は、Apama-ctrl マイクロサービスのマニフェスト ファイルに定義されています。詳細については、マイクロサービス マニフェスト を参照してください。
マイクロサービス イメージにアクセスできる場合(通常はオペレーションのみが利用可能)、マイクロサービス イメージを抽出し、マニフェストを変更してマイクロサービスを再構築し、管理アプリケーションでマイクロサービスをアプリケーションとして Things Cloud に再アップロードすることができます。
マニフェストは、CPU とメモリのリソース使用量を指定します。状況によっては、これらの設定を変更する必要があります(マイクロサービス イメージのサイズが異なると、異なる構成で提供される場合など)。
マニフェストは、マイクロサービスの実行に必要な権限も指定します。これは、EPL(または Apama-ctrl マイクロサービス内で実行されるその他のコード)からのすべてのリクエストに適用される権限セットです。Apama-ctrl マイクロサービス自体には、次の権限が必要です。
- ROLE_APPLICATION_MANAGEMENT_READ
- ROLE_INVENTORY_READ
- ROLE_INVENTORY_ADMIN
- ROLE_INVENTORY_CREATE
- ROLE_MEASUREMENT_READ
- ROLE_MEASUREMENT_ADMIN
- ROLE_EVENT_READ
- ROLE_EVENT_ADMIN
- ROLE_ALARM_READ
- ROLE_ALARM_ADMIN
- ROLE_DEVICE_CONTROL_READ
- ROLE_DEVICE_CONTROL_ADMIN
- ROLE_IDENTITY_READ
- ROLE_IDENTITY_ADMIN
- ROLE_CEP_MANAGEMENT_READ
- ROLE_CEP_MANAGEMENT_ADMIN
- ROLE_OPTION_MANAGEMENT_READ
- ROLE_SMS_ADMIN
- ROLE_AUDIT_ADMIN
- ROLE_AUDIT_READ
- ROLE_USER_MANAGEMENT_READ
- ROLE_USER_MANAGEMENT_OWN_READ
- ROLE_TENANT_MANAGEMENT_READ
- ROLE_BULK_OPERATION_ADMIN
- ROLE_BULK_OPERATION_READ
このリストに他のロールを追加(または削除)して、EPL コードへの権限を付与(または削除)できます。