2017-06-01 10 views
1

私たちは、Exact Onlineにビジネス機能を追加するInvantive Data Access Point上でカスタムアプリケーションを実行しています。請求のために、使用されているメモリ、CPU、実行されたSQL文などの代わりに、ビジネス用語で定義されたソフトウェアの実際の使用方法を何らかの形で登録したいと考えています。請求対象のカスタム監査イベントを登録する

カスタムテーブルはまだありません。そのように、状態全体がメモリと完全オンラインでのみ保持されます。ですから、 "insert into mytable @ sqlserver ..."はオプションではありません。 Exact OnlineはSalesforceのようにカスタムテーブルを作成することもできません。

この条件で、「8銀行取引のアップロードを実行しました」などの請求可能なイベントを登録するにはどうすればよいですか?

答えて

1

請求のために、顧客サービスインフラストラクチャを持ち上げることができます。これは、AWSまたはAppleがエコシステムでこの目的のために提供する機能に似ています。 PBXのコール詳細レコードのような課金イベントを格納する「テーブル」は、カスタマーサービスインフラストラクチャによって管理されます。

は、2つのオプションがあります。

  • あなたのアプリは、特定のメッセージコードなどでなど、それぞれを、「ユーザーがログオンし、」「パーティション#xyzの最初の使用」などのデフォルトの監査およびライセンスイベント登録を使用します'itgenlic125'。
  • あなたのアプリは、メッセージコード「mybillingmessagecode123」とナンバー「8」のナチュラルキーで、「銀行取引のアップロードを実行しました」のような独自のイベントタイプを定義します。

最初のオプションは自動的かつ常に行われます。これらのデータは、リソースの消費を管理し、逃走を検出するためにも使用されます。

2番目のオプションは、データディクショナリテーブル "auditevents"とともにInvantive SQLを使用するのが最適です。 auditeventsに挿入されたすべてのレコードは、自動的に顧客サービスに非同期に転送されます。アプリケーションの開始以来、現在のレジスタの監査イベントを表示するには:

select * 
from [email protected] 

  • occurrence_date:それは起こりました。
  • logging_level:常に「監査」です。
  • message_code:イベントの種類を識別するコード。
  • data_container_d:分散SQLトランザクションで使用されるデータコンテナのID。
  • パーティション:1つの顧客/インスタンスに複数のデータベースを格納するExact OnlineやMicrosoft SQL Serverなどのプラットフォーム用のデータコンテナ内のパーティション。
  • session_id:セッションのID。
  • user_message:実際のテキスト。
  • last_nk:最後に使用されたナチュラルキー
  • application_name:アプリケーションの名前。
  • application_user:アプリケーションに知られているユーザー。
  • gui_action:GUI内のアクション。
  • 監査およびライセンス情報のフィールドがあります。

は、カスタムイベント登録するには:

insert into [email protected] select * from [email protected] 

のみいくつかのフィールドを提供することができます。残りは自動的に決定されます。

  • message_codeに
  • USER_MESSAGE
  • last_natural_key
  • APPLICATION_NAME
  • application_user
  • gui_action
  • gui_module
  • パーティション
  • PROVIDER_NAME
  • reference_key
  • reference_table_code
  • は、インフラから自分を課金イベントを受け取るには

をセッション_、あなたは顧客サービスAPIにアクセスする必要がありますまたはそれらは自動的にメール、スラック、RocketChatに転送していますまたはMattermostチャンネル。

サンプルSQL:

insert into [email protected] 
(message_code 
, user_message 
, last_natural_key 
, application_name 
, gui_action 
, gui_module 
, reference_key 
, reference_table_code 
, partition 
) 
select 'xxmycode001' message_code 
,  'Processed PayPal payments in Exact Online for ' || divisionlabel user_message 
,  'today' last_natural_key 
,  'PayPalProcessor' application_name 
,  'xx-my-paypal-processor-step-2' gui_action 
,  'xx-my-payal-processor' gui_module 
,  clr_id reference_key 
,  'clr' reference_table_code 
,  division partition 
from [email protected] 
関連する問題