Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerInvoke Rest API 操作は、リクエストボディとして Mule メッセージペイロードを送信します。
リクエストボディに加えて、DataWeave スクリプトまたは式を使用して以下を設定できます。
Anypoint Studio で、[General (一般)] > [Request (要求)] > [Query Parameters (クエリパラメーター)] に移動します。
プラスアイコン (+) をクリックしてヘッダーを要求に追加します。
たとえば、DataWeave 式を使用して、ヘッダー名 HeaderName1
および HeaderName2
とヘッダー値 HeaderValue1
および HeaderValue2
を追加します。
#[{'HeaderName1' : 'HeaderValue1', 'HeaderName2' : 'HeaderValue2'}].
要求のパスにプレースホルダー (/objects/documents/{doc_id}
など) を使用する場合は、URI パラメーターを設定します。
Anypoint Studio で、[Path (パス)] 項目にプレースホルダーを中括弧で囲んで入力します。
[URI Parameters (URI パラメーター)] を選択します。
プラス記号 (+) をクリックして、名前と値を入力します。
Anypoint Studio で、[General (一般)] > [Request (要求)] > [Query Parameters (クエリパラメーター)] に移動します。
プラスアイコン (+) をクリックして、パラメーターを要求に追加します。パラメーターの名前と値を入力するか、DataWeave 式を使用して名前と値を定義します。
POST 要求でパラメーターを送信する方法:
[General (一般)] > [Request (要求)] で、POST メソッドを選択します。
[Body (本文)] に、Mule メッセージのペイロードを入力します。
application/x-www-form-urlencoded などで送信するパラメーターの名前と値を入力します。
#[output application/x-www-form-urlencoded --- {'key1':'value1', 'key2':'value2'}]
multipart/form-data で、Content-Type 値に DataWeave 出力と同じ境界属性値が含まれていることを確認してください。例: multipart/form-data; boundary=abcdefg
。
%dw 2.0 output multipart/form-data boundary='abcdefg' --- { parts: { file: { headers: { "Content-Disposition": { "name": "file", "filename": attributes.fileName }, "Content-Type": payload.^mimeType }, content : payload }, name__v: { headers: { }, content: 'Test Document' }, type__v: { headers: { }, content: 'Trial Management' }, subtype__v: { headers: { }, content: 'Meetings' }, classification__v: { headers: { }, content: 'Kick-off Meeting Material' }, lifecycle__v: { headers: { }, content: 'Base Doc Lifecycle' }, study__v: { headers: { }, content: '0ST000000000301' }, comments__c: { headers: { }, content: 'Test Document' } } }
Veeva Vault Connector 操作の応答は、Veeva Vault API の成功または失敗応答とエラーに基づきます。
コネクタは SUCCESS
応答を HIGH LEVEL
で返し、SUCCESS
または FAILURE
を LOW LEVEL
で返します。つまり、コネクタ操作が正常に終了しても、要求に渡された関連のない一部のデータのために一部のドキュメントまたはオブジェクトレコードの作成または更新が失敗していることがあります。
SUCCESS を含む SUCCESS 応答:
{ "responseStatus": "SUCCESS", "data": [{ "id": 239026, "name__v": "E22611234--38483", "responseStatus": "SUCCESS" }, { "id": 239025, "name__v": "Kick-off Meeting Material Updated12341234--81032", "responseStatus": "SUCCESS" } ] }
FAILURE を含む SUCCESS 応答:
{ "data": [ { "external_id__v": "TEST-238924", "rendition_type__v": "imported_rendition__c", "id": 238924, "responseStatus": "FAILURE", "minor_version_number__v": 1, "errors": [ { "type": "INVALID_DATA", "message": "Document not found [238924/0/1]." } ], "major_version_number__v": 0 }, { "external_id__v": "TEST-238925", "rendition_type__v": "imported_rendition__c", "id": 238925, "responseStatus": "FAILURE", "minor_version_number__v": 1, "errors": [ { "type": "INVALID_DATA", "message": "Document not found [238925/0/1]." } ], "major_version_number__v": 0 } ], "responseStatus": "SUCCESS" }
Veeva Vault API で FAILURE
応答が返されると、Veeva Vault Connector 操作で例外がスローされます。次に例を示します。
ERROR を含む FAILURE 応答
{ "responseStatus": "FAILURE", "errors": [ { "type": "INVALID_DATA", "message": "Unknown relationship [reviewer__v]" } ] }
Veeva Vault API から FAILURE
応答を受信すると、コネクタ操作で例外がスローされ、Mule フロー内の Error Handling コンポーネントでキャッチされます。
********************************************************************************** Message : An error occurred from the Veeva Vault API. Error Code: INVALID_DATA. Original Error Message: Unknown relationship [reviewer__v]. Error type : VEEVAVAULT:INVALID_DATA **********************************************************************************
Error Handling コンポーネントでキャッチされるエラーコードを次に示します。
VEEVAVAULT:API_LIMIT_EXCEEDED
VEEVAVAULT:ATTRIBUTE_NOT_SUPPORTED
VEEVAVAULT:INACTIVE_USER
VEEVAVAULT:INVALID_DATA
VEEVAVAULT:INVALID_DOCUMENT
VEEVAVAULT:INSUFFICIENT_ACCESS
VEEVAVAULT:MALFORMED_URL
VEEVAVAULT:METHOD_NOT_SUPPORTED
VEEVAVAULT:NO_PERMISSION
VEEVAVAULT:OPERATION_NOT_ALLOWED
VEEVAVAULT:PARAMETER_REQUIRED
Download Document を除くすべてのコネクタ操作で、操作の出力に基づく各結果を含むペイロードとして入力ストリームが返されます。このため、デフォルトでは、Mule ではストリーミング戦略が適用されます。詳細は、Mule ストリーミング戦略を参照してください。ストリーミング戦略の設定項目は、コネクタ操作の [Advanced (詳細)] タブにあります。
コネクタ内の次の操作では、Mule 標準ページネーションに基づくページネーションメカニズムが提供されます。
Get Documents
Get Object Records
Query
Get Audit Details
ページ分割操作を使用していますが、各オブジェクトを取得するには必ず For-Each/Splitter
要素を含めてください。ページネーション操作には、[Fetch Size (フェッチサイズ)] 項目と [Batch Size (バッチサイズ)] 項目があります。
Fetch Size (フェッチサイズ)
1 つのページで取得できるレコードの制限数。操作は、フェッチサイズの数の JSON オブジェクトレコードを含むページを返します。
場合によって、Veeva API でレコードサイズに基づいてフェッチサイズ (各ページのレコード数) が自動計算され、その計算で標準レコードサイズを超えることがあります。操作は、各ページで計算されたレコード数を返します。
Batch Size (バッチサイズ)
各バッチで返されるページの数。各ページには、フェッチサイズの数のレコードが含まれます。操作はバッチごとに多数のレコード (JSON 形式のメタデータ) を返し、計算は次の例のように行われます。
Fetch Size set as *1000* Batch Size set as *10* If the total records in the vault are *100,000*, then: Number of pages = Total records/Fetch Size = 100000/1000 = 100 pages. Number of pages per batch = Number of pages/Batch Size = 100/10 = 10 pages per batch. Number of Records per batch = Number of pages per batch * Fetch Size = 10 * 1000 = 10,000 records. Therefore, the number of records returned per batch would be 10,000 records.
反復可能ストリームはバッファサイズをバイト単位で測定します。オブジェクトを処理するときに、ランタイムはインスタンス数を使用してバッファサイズを測定します。
反復不可能ストリームの、コネクタ操作では、ストリームはバッチごとのレコード数として返されます。反復可能ストリームでは、すべてのレコードが一度に返されるため、反復可能自動ページングでメモリ内のバッファサイズを計算する場合は、メモリ不足にならないように、各インスタンスが使用するメモリ量を見積もる必要があります。
コネクタの設定が完了したら、例を試すことができます。