既知の制限事項
このページでは、 API Connect Enterprise as a Serviceの既知の制限について説明します。
分析
- Amazon SNSとの統合はサポートされていません
- EngagementにAmazon Simple Notification Service(SNS)を使用することはできません。
- Instana AutoTrace と Dynatrace インジェクションは、特定のサブシステムではサポートされていません
Instana AutoTrace は、管理、分析、 開発者ポータル、およびゲートウェイのサブシステムではサポートされていません。 これらのサブシステムで Instana AutoTrace を使用すると、破損する可能性があります。さらに、Dynatrace インジェクションは Developer Portal サブシステムではサポートされていないため、破損する可能性があります。 詳しくは、 Instana AutoTrace をご覧ください。
注:- OpenTelemetry DataPower® API Gateway からのトレースはサポートされており、推奨される方法である。 詳しくは、 OpenTelemetry コンフィギュレーションの有効化を参照。
- この問題はInstanaとの統合に起因するもので、 API Connect とは関係ありません。
- Analytics コマンドの制約事項
- 以下の
--mode analyticsコマンドは、フラグ--return_formatがjsonまたはyamlのいずれかに設定されている場合にのみ機能します。clustermgmt:catAllocationclustermgmt:catIndicesclustermgmt:catNodesclustermgmt:catRecoveryclustermgmt:catShardsclustermgmt:catAliases
text/plainのみを返すため、現在 Toolkit CLI では機能しません。clustermgmt:getNodesHotThreadsclustermgmt:getNodesHotThreadsById
- コンシューマー・レート制限の通知は、バージョン 10 では使用できません。
- API の使用量がレート制限に近づいている場合に API コンシューマーにアラートが出されるように、アプリケーションの通知を構成する機能。
API ガバナンス
- ルール・セット内からの検証ですべてのルールが表示される
- ガバナンス ・サービスでは、ルール・セット内から 「検証」 をクリックすると、表示されるルールのリストに、選択したルール・セットの一部ではないルールが含まれます。 これを回避するには、検証に使用するルールを手動で選択します。
APIの管理
- 参照しているリソースがカタログで有効になっていない場合に OAuth プロバイダーが失敗する
- OAuthプロバイダーをカタログで有効にする場合、それが参照するリソース(APIユーザー登録やTLSクライアント・プロファイルなど)も同じカタログで有効にする必要があります。そうでない場合、OAuthプロバイダーは正常に発行されるかもしれませんが、実行時に失敗します。 カタログでリソースを有効にする方法については、 カタログの作成と構成を参照してください。
- 新しい API バージョンを作成する前に API の変更が保存されていない場合の UI の動作が正しくない
- API 定義に変更を加えてから、最初に変更を保存せずに新しい API バージョンを作成しようとすると、新しいバージョンの作成操作が完了するまで、変更を保存するように求めるプロンプトは表示されません。 プロンプトで「OK」をクリックすると、新規バージョンが作成されますが、元の変更は失われます。新規バージョンを作成し、元の変更を保持するには、プロンプトで「キャンセル」をクリックし、「保存」をクリックして元の変更を保存します。
- 複数のユーザーが同一 API を同時に編集すると、変更が上書きされることがある
- あるユーザーが OpenAPI 3.0 API に対する変更を保存した場合、API エディターで同じ API を開いている別のユーザーの変更が上書きされる可能性があります。
- 既存のユーザーをスペースに追加できない
- 既存のユーザーをスペースに追加しようとしても、 「作成」 ボタンが有効になっていないため、操作を完了できません。 代わりに招待メカニズムを使用してください。 詳しくは、 スペース・メンバーシップの管理を参照してください。注: 招待されたユーザーは、登録の詳細を入力して 「サインアップ」を使用するのではなく、アクティベーション・フォームの 「サインイン」 オプションを使用する必要があります。
- アセンブリーに無効なポリシーを持つ catch ブロックが含まれている公開済み API は、再公開に正しく失敗するようになりました。
- 以前は、アセンブリー・キャッチ・ブロック内のポリシーは検証されなかったため、API の OpenAPI ソースでアセンブリー・キャッチ・ブロック内に誤ったポリシー構成がコーディングされていた場合でも、API は正常に公開されていました。 アセンブリー catch ブロック内のポリシーが検証されるようになったため、そのような API は再公開に失敗するため、最初に修正する必要があります。
- Cloudflareによるバニティホスト名の設定
CloudflareをDNSプロバイダとして使用している場合、カスタムバニティホスト名を作成することはできません。 他のDNSプロバイダーや、 API Connect が提供する標準的なホスト名設定を使用する。
クラウド・マネージャー
- API Connect Enterprise as a ServiceはAPIのプライベートエンドポイントをサポートしていません
- API Connect Enterprise as a Serviceでは、APIはパブリックネットワークを通じてのみ呼び出すことができます。 プライベート・エンドポイントはサポートされていません。
ゲートウェイ
- WebSocket サポート
API Connect は、 ポリシーを通じて基本的な 機能を提供する。
websocket-upgradeWebSocket しかし、 WebSocket 通信を使用するAPIを設計する際に考慮すべき重要な制限がある。- 一般的な制限
- 信頼できるメッセージの最大ペイロードは1KB未満である。
- 複数のメッセージを連続して送信すると、累積制限を超える可能性があります。 例えば、500バイトのメッセージが3つ続くと失敗することがある。
- 100バイトまでのメッセージは、少なくとも10ミリ秒の遅延を挟んで送信すれば、確実に伝送できる。
- コネクションの切断やゲートウェイの問題を防ぐため、10ミリ秒以上の間隔でデータを送信する。
- WebSocket 圧縮モードとストリーミングモードはサポートされていません。
- エラー処理の制限
- サーバーがステータスコード1000、1006、または1008を使用して接続を閉じた場合、実際の原因に関係なく、クライアントはコード1006を受け取る。
- サーバーがクラッシュした場合、クライアントは DataPower Gateway からcloseイベントやエラーメッセージを受け取らない。
- エラーはキャッチできる:
websocket-upgradeポリシーが実行される前のメインアセンブリで。- サブアセンブリのアクションに起因するアップグレード後のメッセージ処理中のサブアセンブリで。
- WebSocket 接続中や切断後のエラーは、アップグレードが完了すると検出できなくなります。
- オペコードとデータ型のサポート
- テキストフレームのみ対応。
- バイナリフレームには対応していない。
- アップグレード後のポリシー制限
- WebSocket アップグレード後、サブアセンブリでは以下のアクションとプロパティがサポートされません:
- クライアント・セキュリティー
- JWT の生成
- ユーザー・セキュリティー
- JWT の検証
- クライアント ID
- 活動記録
- HTML ページ
- WebSocket アップグレード
- パースする:
- コンテンツ・タイプを使用
- 空の入力の場合に警告
- アップグレード後のメインアセンブリでは、いかなる行為も許されない。
- サポートされているプロパティを使用するサブアセンブリのみが、アップグレード後にメッセージを処理できます。
- WebSocket アップグレード後、サブアセンブリでは以下のアクションとプロパティがサポートされません:
- 一般的な制限
- に変換した後、無効なXPathに対するリダクトに失敗する。 DataPower API Gateway
- 無効なXPathの
Redactは、'DataPower API Gatewayに変換した後に失敗する。 Application Management Unit (AMU) バージョン 10.0.8.0-R0 は、Redact ポリシーの変換をサポートしていますが、Redact バージョン 1.5.0 にのみ対応しており、 2.0.0 には対応していません
switch、operation-switch、またはifポリシー内の編集条件が、 DataPower API Gateway への変換後に実行されないことがある- API Connect v5-compatible
redactポリシーがswitch,operation-switch,ifポリシーの中で見つかった場合、移行ユーティリティはredactポリシーをアセンブリの先頭または末尾に移動しません。 API Connect v5とDataPower API Gatewayのレスポンスの違いは、DataPower API Gateway でデータが再編集されるのを防ぐかもしれません。例えば、アセンブリーに、4 つの redact 条件を含む
switchポリシーが含まれ、invokeポリシーが後に続く場合、各 redact 条件が応答データを編集します。 API ゲートウェイへの移植後、redact 条件はswitchポリシー内に残り、編集のためにmessage.bodyプロパティーをターゲットとします。message.bodyプロパティーがinvokeポリシーによってまだ取得されていないため、これらの編集の実行は失敗します。 この問題を修正するには、アセンブリー内のswitchポリシーの前にinvokeポリシーを移動する必要があります。
開発者向けポータル
- 「strict」 SameSite Cookie が原因で消費者組織への招待が正しくない
- 「strict」 SameSite Cookie を使用すると、E メールからの招待リンクによってユーザーが登録ページに送信されることがあります。このページでは、招待された組織に参加するのではなく、新しいコンシューマー組織を作成するように求められます。
回避策は、「Lax」 SameSite Cookie 属性を使用することです。
ツールキット
- API Designer with Local Test Environment (LTE) が https://localhost を使用してログインに失敗し、エラーメッセージ
Incorrect username, password, or credentials
が表示される - ローカル Test Environment で API Designer を使用し、localhost を使用してログインしようとすると、ログインは失敗します。 この問題を回避するには、ローカル・ホストに対して API Designer 資格情報を構成します。 以下のステップを実行します。
- API Designer をダウンロードして解凍し、 API Connect ツールキットのセットアップのステップ 1、2、および 7の説明に従って資格情報ファイルをインストールします。
- designer_credentials.json ファイルを編集して、以下の設定を構成します。
"endpoint": "https://localhost""manager_endpoint": "https://localhost/manager""client_id": Client IdLTE platform-apic-lteを開始すると、コンソールにクライアント ID が表示されます。 詳しくは、 ローカル Test Environmentを参照してください。
"client_secret": Client SecretLTE platform-apic-lteを開始すると、クライアント秘密鍵がコンソールに表示されます。 詳しくは、 ローカル Test Environmentを参照してください。
- API Designerを起動し、 ホスト URL (管理エンドポイント)として https://localhost 、LTEでログインします。
- 大規模なインポート済み API のアクティブ化中に API Designer がハングすることがある
- API Designer を使用して大規模な API をインポートし、インポート・ウィザードでその API をアクティブ化しようとすると、プロセスがハングすることがあります。 この問題が発生した場合は、以下の手順を実行して問題を回避できます。
- ローカル・ファイル・システムで、 API-NAME-auto-product_API-VERSION.yamlという名前の自動バックアップ・ファイルを見つけます。
- ファイルを削除します。
- API Designer で、新しくインポートした API を編集し、「オンライン」トグルをクリックしてアクティブにします。
一般に、 「オンライン」 トグルを使用するか、 「公開」 オプションを指定して API を公開することで、API をアクティブ化するのがベスト・プラクティスです。
- Windows 上の API Designer: WSDL を使用する API でエラーが発生したり、アクティブ化、公開、または更新が失敗したりする可能性があります。
- WSDL ファイルを使用する REST API または SOAP API をアクティブ化、公開、または更新すると、操作が失敗して完了しない可能性があります。 この問題を回避するには、API エディターで自動発行 API 機能を使用します。
- API Designer UI での権限の制限
- API Designer UI には、現在、以下のアクセス権の制限があります。
- 「表示」 権限のみが付与されている開発者には、API エディターの 「テスト」 タブは表示されません。 開発者が 「テスト」 タブを表示できるようにするには、別の権限レベルが付与されている必要があります。 使用可能なデフォルトの権限レベルについては、 API Connect のユーザー役割を参照してください。
- API-Drafts 権限を持つが、サンドボックス・カタログ権限を持たないユーザーは、サンドボックス・カタログに 「テスト設定」 を表示できません。 これらのユーザーが 「テスト設定」を表示できるようにするには、サンドボックス・カタログで 開発者 または 管理者 の役割が付与されている必要があります。
- 削除されたセキュリティー要件が API ソースに残る可能性がある
- API Designer および API Manager UI で API から削除されたセキュリティー要件は、まだソースに残っている可能性があります。 この問題を回避するには、APIエディタでソースアイコン (
)をクリックし、セキュリティ要件を手動で削除します。
- API Designer および API Manager UI の「ソース」ビューを使用して API にコメントを追加できない
- API Designer および API Manager UI では、 ソースアイコン
をクリックし、ハッシュタグ記号を使用して API にコメントを追加することはできません。
- 製品の可視性を 「カスタム」 から 「パブリック」 に変更しても、コンシューマー組織およびグループは自動的に削除されません。
- API Designer および API Manager UI で、製品の可視性を 「カスタム」 から 「パブリック」 に変更しても、コンシューマー組織およびコンシューマー・グループは自動的に削除されないため、製品の公開は失敗します。 この問題を回避するには、すべてのコンシューマー組織およびグループを手動で削除してください。
- OpenAPI 3.0 サポートに対する制限
- IBM® API Connect は OpenAPI 3.0 仕様をサポートしていますが、いくつかの制限があります。 サポート対象については、 OpenAPI 3.0 サポートを参照してください。
graphql-input-type-costレート制限を含む GraphQL API が公開に失敗する- IBM
API Connect バージョン 10.0.3.0 より前のリリースで作成された GraphQL API には、サポートされなくなった
graphql-input-type-costレート制限が含まれている可能性があります。 自動アクティブ化メカニズムを使用して API を公開しようとするか、手動で API を製品に追加してその製品を公開しようとすると、公開操作は失敗します。 この問題は以下のいずれかの方法で解決できます。- API の OpenAPI ソースからレート制限定義を削除します。 例えば、ソースが YAML 形式の場合は、以下の行を削除します。
- name: graphql-input-type-cost operation: consume - 製品のソースを編集し、API を含むすべてのプランで
graphql-input-type-costレート制限を定義します。注: 編集できるのは、手動で作成された製品のみです。自動アクティブ化メカニズムによって生成された製品は編集できません。
- API の OpenAPI ソースからレート制限定義を削除します。 例えば、ソースが YAML 形式の場合は、以下の行を削除します。
- セキュリティー定義項目が重複している API は公開できません
- API Designer および API Manager のユーザー・インターフェースを使用すると、重複するセキュリティー定義を API に追加できます。 ただし、その API を公開しようとすると、OpenAPI 妥当性検査エラーが発生して失敗します。 API のセキュリティー定義が固有であることを確認してください。
- API や製品を一括削除するオプションがない
- API Designer および API Managerのユーザーインターフェイスでは、現在、複数のAPIまたは製品を単一の操作で削除するオプションはありません。 ただし、REST API インターフェースか CLI インターフェースを使用すると API や製品を一括削除できます。
- クライアント・セキュリティー・ポリシーのフィールド検証が正しくありません
- API Designer または API Manager のユーザー・インターフェースで API アセンブリーのクライアント・セキュリティー・ポリシーを構成すると、以下の誤った検証動作が発生します。
- 「ID 名」フィールドは必須ですが、このフィールドに値を入力しなくても API 定義を保存できます。
- 「秘密名」フィールドが必須なのは、「秘密鍵が必須」オプションが選択されているときのみですが、ユーザー・インターフェースには、それに関係なく「秘密名」フィールドが必須であると示されます。 さらに、フィールドが必須のときに、値を入力しなくても API 定義を保存できます。
- 「クライアント認証方式」が「サード・パーティー」に設定されている場合、「ユーザー・レジストリー名」フィールドは必須ですが、このフィールドに値を入力せずに API 定義を保存できます。
- 正規表現構文を含む OpenAPI 定義が検証に失敗する
- IBM
API Connect はGO正規表現構文をサポートしている。 OpenAPI 定義を API Designer または API Manager のユーザー・インターフェースにインポートしたり、
apic validateで検証したりするときに、 OpenAPI ソースにサポートされていない正規表現構文が含まれていて、Does not match format 'regex'などのエラーがある場合、検証は失敗します。以下に例を示します。- Must validate at least one schema (anyOf) (context: (root).paths./example/types.post.parameters.0.schema.properties.items, line: 0, col: 0) - Must validate one and only one schema (oneOf) (context: (root).paths./example/types.post.parameters.0, line: 46164, col: 21) - paths./example/types.post.parameters.0.schema.properties.items.properties.pattern Does not match format 'regex' (context: (root).paths./example/types.post.parameters.0.schema.properties.items.properties.pattern, line: 0, col: 0)
- GraphQL 応答に GraphQL サーバー・エラーが含まれている場合の検証ポリシーの制限
- GraphQL 応答に GraphQL サーバー・エラーが含まれ、データが含まれていない場合、アセンブリー Validate ポリシーは欠落データに関するエラーを生成し、ペイロードを上書きします。 応答にデータの一部とエラーが含まれている場合、アセンブリー検証アクションによりデータが検証され、ペイロードが上書きされます。 この制限を回避するには、アセンブリー・スイッチ条件で条件
$not($exists(message.body.errors))を使用し、応答にエラーが含まれている場合にアセンブリー検証ポリシーをスキップするようにします。
- 保護された GraphQL API の場合、ユーザー・インターフェースの「テスト」タブを使用して GraphQL サブスクリプションをテストすることはできません。
- クライアント ID で保護されている GraphQL API の場合、 API Designer または API Manager のユーザー・インターフェースの 「テスト」 タブを使用して GraphQL サブスクリプションをテストすることはできません。 API は引き続き公開され、実稼働環境で使用できます。GraphQL サブスクリプションは、以下のいずれかの代替方法でテストできます。
- テスト目的で API からクライアント ID セキュリティーを削除してから、 「テスト」 タブを使用します。
- 外部テスト・ツールを使用します。
- パブリックネットワーク経由のバックエンド接続は、API Connect Enterprise as a Serviceの場合のみ
- API Connect Enterprise as a Service では、呼び出しのためのバックエンド接続はパブリックネットワーク経由でのみサポートされます。
ユーザー・インターフェース
- 失効したキャッシュが原因で、 API Manager UI で予期しない動作が発生することがある
- ブラウザーに失効したキャッシュがあると、フェッチ・エラー、正しくないデータの表示、ブランク・ページなど、 API Manager UI で予期しない動作が発生する可能性があります。 この問題を回避するには、以下のアクションを実行します。
- ブラウザー・ウィンドウを再ロードします。
- 問題が解決しない場合は、ブラウザー・キャッシュをクリアしてから、UI に再度ログインします。
- プライベート・ブラウザー・ウィンドウを使用してみてください。
- 可能な場合は、別のブラウザー・タイプを試してください。
- API 定義の更新されたスキーマ・エディターに対する制限
- API Manager および API Designer UI の API エディターの 「定義」 セクションが API Connectで更新されました。 ただし、
OneOf、AllOf、およびEnumスキーマ構造は、UI によって適切に処理されません。 この問題を回避するには、API 文書のソース YAML を編集します。
- カタログ内のオプション・メニューが非表示になっている可能性がある
- カタログの「 消費者 」や「 購読 」などのタブで、オプションアイコン(
)をクリックすると、メニュー項目が非表示になることがあります。 この問題を回避するには、ページを再ロードすると、メニュー項目が表示されます。
- プランのレート制限のオーバーライドが 「エンドポイント」 タブに表示されない
- 個々の操作のために API に追加されたオーバーライド・プランのレート制限は、UI の API の 「エンドポイント」 タブに表示されません。 プランのレート制限のみが表示されます。
- コンシューマー組織グループを可視性の設定から削除した後に、「サブスクリプションを保持」オプションを指定した製品の再公開が失敗する
- 製品のカスタム可視性設定からコンシューマー組織グループを削除し、そのグループに、製品にサブスクライブしているアプリケーションを持つコンシューマー組織が含まれている場合、「サブスクリプションを保持」オプションを指定して製品を再公開しようとすると、そのコンシューマー組織がカスタム可視性設定に個別に追加されても失敗します。
- ページネーションの設定は、API Connectユーザーインターフェイス全体でグローバルに行われます
- API Manager ユーザー・インターフェースのいずれかのページで 「ページ当たりの項目数」 の値を設定した場合、その設定は、同じブラウザー・セッションで両方のユーザー・インターフェースのすべてのページに適用されます。 特定のページに対して値を個別に設定する場合は、そのページをプライベート・ブラウザー・ウィンドウで開きます。 プライベート・ブラウザー・ウィンドウでのこのような設定は、そのウィンドウに固有のものであり、ウィンドウを閉じると失われます。
- Safari Web ブラウザーを使用しているときに API Connect ユーザー・インターフェースへのログインが失敗する
- Safari Web ブラウザーを使用していて、 API Connect が実行されているのと同じ DNS ドメインに基本許可ヘッダーが存在する場合、 API Connect ユーザー・インターフェースにログインしようとするか、アクティブ化リンクを使用してサインアップしようとすると失敗します。 この問題を回避するには、代わりの Web ブラウザーを使用してください。
- ブラウザに大量のクッキーがある場合、 API Manager ユーザーインターフェイスへのログインがエラー431で失敗することがあります
- HTTP ヘッダーまたはクッキーのサイズが 32 KB より大きい場合、 API Manager ユーザーインターフェイスへのログインに失敗することがあります。 この問題を解決するには、ブラウザーのキャッシュと Cookie をクリアするか、プライベート・ウィンドウを開いてから再試行します。
- APIマネージャUIにおけるYAML設定の数値処理と精度制約
- API ManagerUIのYAMLコンフィギュレーションでは、指数表記の数値(例えば1e20)は指数値に基づいて異なる処理が行われます。 20以下の指数を持つ数値は、表示と処理のために完全な整数形に変換される(例えば1e20は100,000,000,000,000,000,000になる)。 20を超える指数を持つ数値は指数表記(例えば1e21)のままである。 DataPowerJSONスキーマ検証でサポートされる整数の範囲(-9,007,199,254,740,992~9,007,199,254,740,992)を超える数値は、検証エラーまたは予期しない動作を引き起こします。
- JavaScript's固有の精度制限により、浮動小数点数は有効数字約17桁で切り捨てられる。 例:
- 入力0.123456789012345678901234567890
- 処理値:0.12345678901234568
- Microsoft Edge ではユーザー・インターフェースがサポートされない
- API Manager および Cloud Manager のユーザー・インターフェースは、 Microsoft Edge Web ブラウザーではサポートされません。 これらのユーザー・インターフェースで作業するには、別のブラウザーを使用してください。
インストール
- API Connect Enterprise as a Serviceでは、インスタンス名を25文字以下にする必要があります
- API Connect Enterprise as a Serviceの新しいインスタンスを作成するときは、インスタンス名を25文字以内に制限してください。
- API Connect Enterprise as a Service では、IBMid がプライマリ E メール アドレスと一致する必要があります
- IBMid がプライマリ電子メールアドレスと一致しない場合、サービス インスタンスにサインインしようとすると、サインイン ページがループにはまり、API Connect にサインインできないという問題が発生します。
- API Connect Enterprise as a Service をプロビジョニングまたは使用する場合は、まず、IBMid を更新して (または新しいものを作成して)、プライマリメールアドレスと一致させる必要があります。
- サポートされていない IBMid を使用して、API Connect Enterprise as a Service のインスタンスをすでにプロビジョニングしている場合は、次のいずれかを実行します:
- IBMid を更新して新規インスタンスをプロビジョニングする前に、インスタンスを削除するように IBM サポートに依頼してください。
- プライマリー E メール・アドレスに一致する E メール・アドレスを使用して新規 IBMid を作成し、新規インスタンスをプロビジョンします。
- API Connect Enterprise as a Serviceでは、最大127秒間のエンドポイントへの接続が可能です。
- API がキープアライブ・イベントの送信を続行しても、接続は 127 秒後に閉じられます。