Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAnypoint Platform には、DataGraph 用のコマンドラインインターフェース (CLI) が用意されています。CLI は、対話型シェルと標準 CLI モードの両方をサポートしています。
DataGraph CLI を使用して、以下を管理します。
CLI を使用して API ソースを DataGraph に追加する前に、「DataGraph CLI および API 拡張機能の使用」を確認してください。
Anypoint CLI の前提条件、インストール、認証の手順を確認してください。
コマンド | 説明 |
---|---|
API ソースを追加する |
|
API ソースを昇格する |
|
API ソースを更新する |
|
統合スキーマに対する API コールをスケーリングする |
|
統合スキーマをダウンロードする |
|
API ソースを削除する |
|
API ソースを取得する |
|
すべての API ソースをリストする |
|
DataGraph に関する情報を返す |
|
統合スキーマの API ソースを検証する |
> datagraph sources add <g/a/v>
DataGraph では、 |
このコマンドは、<g/a/v>
で指定された API ソースを追加します。ここで、g
はグループ ID、a
はアセット ID、v
は API ソースのバージョン ID です。グループ ID は省略可能です。グループ ID を指定しない場合、このコマンドは現在の組織 ID を使用します。
このコマンドでは、デフォルトの --help
、-f/--fields
、-o/--output
、--verbose
オプション以外に次のオプションも使用できます。
オプション | 説明 |
---|---|
|
API が公開の場合に使用します。 |
|
基本認証ヘッダー、またはユーザー名とパスワードを渡して、API に対する認証を行う場合に使用します。
|
|
OAuth 2.0 の
|
|
認証ヘッダーを渡して API に対する認証を行う場合に使用します。
|
|
カスタムヘッダーパラメーターと値を渡して API に対する認証を行う場合に使用します。
|
|
クエリパラメーターと値を渡して API に対する認証を行う場合に使用します。
|
|
バックエンド API の URL を設定します。 |
|
現在の環境で実行されているインスタンスに基づいて、バックエンド API の URL を自動的に検出します。複数の API が実行されている場合、DataGraph は最初の URL を使用します。 |
|
API のトラストストアに追加する認証機関 (CA) ファイルのカンマ区切りリストを指定します ( |
|
相互トランスポートレイヤーセキュリティ (mTLS) に使用するクライアント証明書のファイル名を指定します ( |
|
mTLS に使用する非公開キーのファイル名を指定します ( |
|
暗号化された非公開キーを復号化するパスワードを指定します。 |
|
API 仕様の拡張機能で行われた有効な編集を適用し、無効な編集を無視するために使用します。 |
コマンドラインで定義されたすべてのヘッダーとクエリパラメーター、およびすべてのヘッダーとクエリパラメーターファイルが追加されます。反復キーがある場合、コマンドラインで指定された値が優先されます。 |
datagraph sources add 18dc11ee-4a09-4aae-9c6c-4371a87eafa8/product-api/1.0.0/ --url http://test.com
{ "apiVersion": "v1", "assetId": "product-api", "createDate": "2022-05-20T18:05:41", "endpoint": "http://test.com", "environmentId": "<envID>", "groupId": "<groupID>", "name": "Product API", "organizationId": "<orgID>", "securityScheme": "NO_AUTH", "sourceId": "deca7be1-c299-4441-bc7b-dba733e3a11f", "updateDate": "2022-05-20T18:05:41", "version": "1.0.0", "origin": "CLI" }
> datagraph sources promote <sourceId> <target-EnvID>
このコマンドは、API ソース <sourceId>
を対象環境 <targetEnv>
に昇格します。
このコマンドでは、デフォルトの --help
、-f/--fields
、-o/--output
、--verbose
オプション以外に次のオプションも使用できます。
オプション | 説明 |
---|---|
|
API が公開の場合に使用します。 |
|
基本認証ヘッダー、またはユーザー名とパスワードを使用して、API に対する認証を行う場合に使用します。
|
|
OAuth 2.0 の
|
|
認証ヘッダーを渡して API に対する認証を行う場合に使用します。
|
|
カスタムヘッダーパラメーターと値を渡して API に対する認証を行う場合に使用します。
|
|
クエリパラメーターと値を渡して API に対する認証を行う場合に使用します。
|
|
バックエンド API の URL を設定します。 |
|
現在の環境で実行されているインスタンスに基づいて、バックエンド API の URL を自動的に検出します。複数の API が実行されている場合、DataGraph は最初の URL を使用します。 |
|
API のトラストストアに追加する CA ファイルのリストを指定します。 |
|
mTLS に使用するクライアント証明書を指定します。 |
|
mTLS に使用する非公開キーを指定します。 |
|
暗号化された非公開キーを復号化するパスワードを指定します。 |
|
すべての CA 証明書を削除します。 |
|
クライアント証明書、非公開キー、非公開キーパスワード情報を削除します。 |
コマンドラインで定義されたすべてのヘッダーとクエリパラメーター、およびすべてのヘッダーとクエリパラメーターファイルが追加されます。反復キーがある場合、コマンドラインで指定された値が優先されます。 |
この例では、promote
コマンドの実行後に environmentId
が変更されます。
datagraph sources promote d1d27987-939a-4b41-b3ef-411568ee5bdd e7e8da65-9cf1-569e-c9d2-brd2r0rc7rd6 --auth-none
{ "apiVersion": "1.0", "assetId": "order-e2e", "createDate": "2022-05-27T18:56:03", "endpoint": "http://test.com", "environmentId": "e7e8da65-9cf1-569e-c9d2-brd2r0rc7rd6", "groupId": "<groupID>", "name": "Order E2E", "organizationId": "<orgID>", "securityScheme": "NO_AUTH", "sourceId": "1ff021b3-9296-43fd-9d64-2f9027c25740", "updateDate": "2022-05-27T18:56:03", "version": "1.0.0", "origin": "CLI" }
> datagraph sources update <sourceId>
DataGraph では、 |
このコマンドは、API ソース <sourceId>
のバージョンを更新します。
このコマンドでは、デフォルトの --help
、-f/--fields
、-o/--output
、--verbose
オプション以外に次のオプションも使用できます。
オプション | 説明 |
---|---|
|
API が公開の場合に使用します。 |
|
基本認証ヘッダー、またはユーザー名とパスワードの両方を渡して、API に対する認証を行う場合に使用します。
|
|
OAuth 2.0 の
|
|
認証ヘッダーを渡して API に対する認証を行う場合に使用します。
|
|
カスタムヘッダーパラメーターと値を渡して API に対する認証を行う場合に使用します。
|
|
クエリパラメーターと値を渡して API に対する認証を行う場合に使用します。
|
|
バックエンド API の URL を設定します。 |
|
現在の環境で実行されているインスタンスに基づいて、バックエンド API の URL を自動的に検出します。複数の API が実行されている場合、DataGraph は最初の URL を使用します。 |
|
API のトラストストアに追加する CA ファイルのリストを指定します。 |
|
mTLS に使用するクライアント証明書を指定します。 |
|
mTLS に使用する非公開キーを指定します。 |
|
暗号化された非公開キーを復号化するパスワードを指定します。 |
|
すべての CA 証明書を削除します。 |
|
クライアント証明書、非公開キー、非公開キーパスワード情報を削除します。 |
|
API ソースの現在のバージョンに存在する編集を、API 仕様から抽出する代わりに保持します。 |
|
API ソースの取得元を CLI に変更します。API ソースの取得元が DataGraph UI である場合、このオプションを使用して、UI の編集を API 仕様の編集で上書きします。 |
|
API 仕様の拡張機能で行われた有効な編集を適用し、無効な編集を無視するために使用します。 |
コマンドラインで定義されたすべてのヘッダーとクエリパラメーター、およびすべてのヘッダーとクエリパラメーターファイルが追加されます。反復キーがある場合、コマンドラインで指定された値が優先されます。 |
次のコマンドは、ソース API の URL を更新し、その認証を auth-none
から auth-basic
に変更して、クライアント ID とシークレットを追加します。
> datagraph sources update b6cb82a6-51dc-4968-861a-aa04447c3442 --url http://test2.com --version 1.0.0 --auth-basic --credentials client-test:client-secret
{ "apiVersion": "v1", "assetId": "product-api", "createDate": "2022-05-20T18:56:57Z", "endpoint": "http://test2.com", "environmentId": "<envID>", "groupId": "<groupID>", "name": "Product API", "organizationId": "<orgID>", "securityScheme": "BASIC", "sourceId": "b6cb82a6-51dc-4968-861a-aa04447c3442", "updateDate": "2022-05-27T18:31:39", "version": "1.0.0", "origin": "CLI" }
> datagraph scale <concurrent-api-calls>
このコマンドでは、統合スキーマで許可される同時 API コール数を設定できます。API コール数を増減することで、必要に応じて処理するワークロードを増やし、コンシュームを最適化できます。
このコマンドはデフォルトのオプション --help
、-f/--fields
、-o/--output
、--verbose
を受け入れます。
> datagraph schema-download
このコマンドは、現在の環境の統合スキーマをダウンロードします。
このコマンドはデフォルトのオプション --help
、-f/--fields
、-o/--output
、--verbose
を受け入れます。
directive @key(fields: String) on OBJECT "An Item" type Item { itemId: Int! "A Product" product: OrderProduct! quantity: Int! } "An Order" type Order { items: [Item!]! orderId: String! customerId: String! } "A Product" type OrderProduct { productId: String! name: String! } type Query { orders(ordersCount: Int): [Order!] ordersByOrderId(orderId: String!): Order ordersProductsByOrderId(productsCounts: Int, orderId: String!): [OrderProduct!] }
> datagraph sources delete <sourceId>
このコマンドは、指定された API ソースを削除します。
このコマンドはデフォルトのオプション --help
、-f/--fields
、-o/--output
、--verbose
を受け入れます。
> datagraph sources get <sourceId>
このコマンドは、指定された API ソースを取得します。
このコマンドはデフォルトのオプション --help
、-f/--fields
、-o/--output
、--verbose
を受け入れます。
{ "apiVersion": "1.0", "assetId": "order-e2e", "createDate": "2022-05-20T16:49:00Z", "hasKeystore": false, "endpoint": "http://test.com", "environmentId": "<envID>", "groupId": "<groupID>", "name": "Order E2E", "organizationId": "<orgID>", "hasTruststore": false, "securityScheme": "NO_AUTH", "sourceId": "d1d27987-939a-4b41-b3ef-411568ee5bdd", "updateDate": "2022-05-20T16:49:00Z", "version": "1.0.0", "origin": "CLI" }
> datagraph sources list
このコマンドは、現在の環境のすべての API ソースをリストします。
このコマンドはデフォルトのオプション --help
、-f/--fields
、-o/--output
、--verbose
を受け入れます。
{ "apiVersion": "1.0", "assetId": "order-e2e", "createDate": "2022-05-20T16:49:00.000Z", "endpoint": "http://test.com", "environmentId": "<envID>", "groupId": "<groupID>", "name": "Order E2E", "organizationId": "<orgID>", "securityScheme": "NO_AUTH", "sourceId": "d1d27987-939a-4b41-b3ef-411568ee5bdd", "updateDate": "2022-05-20T16:49:00.000Z", "version": "1.0.0", "origin": "CLI" }, { "apiVersion": "v1", "assetId": "product-api", "createDate": "2022-05-20T18:05:41.000Z", "endpoint": "http://test.com", "environmentId": "<envID>", "groupId": "<groupID>", "name": "Product API", "organizationId": "<orgID>", "securityScheme": "NO_AUTH", "sourceId": "deca7be1-c299-4441-bc7b-dba733e3a11f", "updateDate": "2022-05-20T18:05:41.000Z", "version": "1.0.0", "origin": "CLI" }
> datagraph describe
このコマンドは、DataGraph に関する次の情報を返します。
endpoint
: 要求を受け入れる GraphQL エンドポイントを表示します。
deploymentError
: DataGraph のデプロイメントが失敗した場合、この項目にエラーの情報が表示されます。それ以外の場合は空です。
deploymentStatus
: DataGraph はデプロイ中、実行中、またはエラーがあるかどうかを示します。
logLevels
: 設定されたログレベルのリストを表示します。
envStatus
: 現在の環境の状況を表示します。
dlbEndpoint
: ロードバランサーエンドポイントを表示します。
このコマンドはデフォルトのオプション --help
、-f/--fields
、-o/--output
、--verbose
を受け入れます。
> datagraph validate asset <g/a/v>
このコマンドは、API ソースを統合スキーマに追加できるかどうかを検証します。そのために、このコマンドは次の処理を行います。
API ソースを GraphQL スキーマに変換する。
API 仕様に適用されている API 拡張機能を検証する。
統合スキーマに対して競合チェックを実行する。
これらのステップのいずれかで競合またはエラーが発生した場合、コマンドは結果を返します。競合やエラーが見つからない場合は、成功メッセージを返します。
検証する API ソースは、<g/a/v>
で指定されます。ここで、g
はグループ ID、a
はアセット ID、v
は API ソースのバージョン ID です。グループ ID は省略可能です。グループ ID を指定しない場合、このコマンドは現在の組織 ID を使用します。
このコマンドはデフォルトのオプション --help
、-f/--fields
、-o/--output
、--verbose
を受け入れます。
コマンド | 説明 |
---|---|
専用ロードバランサー設定を Anypoint DataGraph に追加する |
|
Anypoint DataGraph の専用ロードバランサー設定を表示する |
|
専用ロードバランサー設定を Anypoint DataGraph から削除する |
> datagraph load-balancer-config add <dlbUrl>
このコマンドでは、<dlbUrl>
で指定された専用ロードバランサー設定を Anypoint DataGraph に追加します。
dlbUrl
は、DLB ドメインとマッピングルール inputUri
を含む有効な URL です。
このコマンドはデフォルトのオプション --help
、-f
/--fields
、-o
/--output
のみを受け入れます。
コマンドの定義が正しくないと、DataGraph によって次のエラーが返されます。これらのエラーの原因として、オプションのパラメータが正しくない、ID が見つからない、 必須のオプションが欠落している、などが考えられます。
Output (出力):
{ "error": { "errorMessage": "Options are required" } }
原因:
このエラーは、コマンドを実行するには 1 つ以上のオプションが必須であることを示しています。
datagraph sources add
: このコマンドでは --url
オプションまたは --discover-url
オプションが必須です。
datagraph sources update/promote
: 使用可能な任意のオプションが必須です。対象ソースで更新またはプロモートする要素を定義してください。
Output (出力):
{ "errorCode": "dg-xapi-proxy", "errorMessage": "Not Found" }
原因:
このエラーは、DataGraph でアセットが見つからなかったことを示しています。
datagraph sources add
: グループ ID、アセット ID、バージョン ID が有効なアセットに対応していないか、アセットにアクセスできないため、アセットに到達できません。
datagraph sources update/promote
: 指定した UUID が現在の環境、またはアセットをプロモートする対象環境に存在しません。
Output (出力):
{ "error": { "code": "400", "message": "Bad Request" } }
原因:
このエラーは、コマンドの必須のパラメータの一部で形式に誤りがあることを示しています。
datagraph sources update
: 指定されたソース ID が有効な UUID ではありません。
datagraph sources promote
: ソース ID または対象環境 ID が有効な UUID 形式ではありません。
Output (出力):
{ "errorCode": "dg-federation-source-exists", "errorMessage": "API already exists" }
原因:
このエラーは、追加しようとしている API がすでに統合スキーマに存在していることを示しています。
datagraph sources add
: アセット ID と API ソースのメジャーバージョンがすでに統合スキーマに存在しています。ソースに変更を加えるには、datagraph sources update
コマンドを使用します。
Output (出力):
{ "errorCode": "dg-xapi-no-api-instances", "errorMessage": "No API instances found" }
原因:
このエラーは、API インスタンスについて取得する URL が欠落していることを示しています。
datagraph sources add/update/promote
: このエラーは、--discover-url
オプションを使用しているときに表示されます。アセットに、モッキングサービスからのものではない URL を取得できる有効なインスタンスがない場合に発生します。このような場合は、代わりに --url
オプションを使用します。
Output (出力):
{ "error": { "errorMessage": "Must define url or set --discover-url" } }
原因:
このエラーは、--url
または --discover-url
を使用して URL を設定する必要があることを示しています。
datagraph sources add
: URL は add
コマンドの必須項目であるため、--url
または --discover-url
の 2 つのオプションのうちいずれかを設定する必要があります。
Output (出力):
{ "errorCode": "dg-xapi-invalid-api-calls", "errorMessage": "Invalid Api Calls: 1500" }
原因:
このエラーは、無効な数の API コールを要求したことを示しています。
datagraph scale
: 同時コール数は 1 ~ 1200 の間である必要があります。
Output (出力):
{ "error": { "code": "401", "message": "Unauthorized" } }
原因:
このエラーは、対話型モードで使用しているときに CLI でセッションを失ったことを示しています。CLI を終了して再起動し、もう一度ログインしてください。
Output (出力):
{ "errorCode": "dg-federation-source-not-in-env", "errorMessage": "API not found in current environment" }
原因:
このエラーは、編集、削除、または更新しようとしている API ソースが存在はしているが、作業環境にないことを示しています。
datagraph sources update/promote
: 送信された UUID が作業環境にありません。または、--version
オプションを使用している場合は、メジャーバージョンが現在のバージョンに対応していません。
統合スキーマに対して API ソースを追加または更新する前に datagraph validate asset
コマンドを使用すると、DataGraph によって次のエラーが返されます。
編集エラーが生成されるのは、特定の API ソースでの編集にセマンティックの問題が含まれる場合です。これらのエラーではコードプロパティ dg-federation-customization-conflict
を使用しており、次のような構造になります。
{ "code": "dg-federation-customization-conflict", "detail": [ { "code": "element-not-found-in-spec", "editType": "set-primary-key", "reason": "field addId was not found in the specification", "element": "Address" } ], "message": "Customization conflict found adding Customer API" }
message
項目には人間が読み取り可能な検証の応答が含まれており、エラーの概要が提供されます。
detail
項目には現在のアセットで見つかったすべての競合のリストが含まれています。
code
項目ではエラーの種類を特定します。
editType
項目では競合があるカスタマイズを特定します。
reason
項目には人間が読み取り可能な問題の説明が含まれています。
element
項目には問題が含まれています。
競合エラーが発生するのは、統合スキーマに API スキーマを追加しようとしたときです。これらのエラーではコードプロパティ dg-federation-udg-conflict
を使用しており、次のような構造になります。
{ "code": "dg-federation-udg-conflict", "detail": [ { "element": "Customer", "violations": [ { "code": "incompatible-primary-key-set", "keys": [ "customerId" ], "expectedKeys": [ "name" ], "message": "Primary key set have edges with different names" } ] } ], "message": "Merge conflict found adding CLI - Customer OAS API" }
message
項目には人間が読み取り可能な検証の応答が含まれており、エラーの概要が提供されます。
detail
項目には、API スキーマを統合スキーマにマージしようとしたときに見つかったすべての競合のリストが含まれています。
element
項目には競合の場所が含まれています。
violations
項目では修正する必要がある競合がリストされます。
code
項目ではエラーの種類を特定します。
message
項目には人間が読み取り可能な問題の説明が含まれており、エラーの種類に応じて、詳細のための追加のプロパティが含まれる場合があります。