このトピックでは、Quick BI が提供するソフトウェア開発キット (SDK) のバージョンについて説明し、最新バージョンを入手する方法を解説します。
SDK の概要
はじめに
Quick BI のビジュアル分析用 SDK は、カプセル化された API 操作のスイートを提供します。ID 検証に AccessKey ペアを使用し、リソースの作成と管理を簡素化するための自動署名などの機能を提供します。
Quick BI のビジュアル分析用ソフトウェア開発キット (SDK) は、API 操作をカプセル化します。AccessKey ペアを使用して呼び出し元を識別し、リソースの作成と管理を支援する自動署名などの機能を提供します。Quick BI のビジュアル分析機能を使用するには、Quick BI SDK と Alibaba Cloud コアライブラリの両方をインストールする必要があります。たとえば、Java SDK を使用する場合、aliyun-java-sdk-core と aliyun-java-sdk-quickbi-public をダウンロードする必要があります。
注意
Alibaba Cloud SDK ページに移動して、SDK をダウンロードし、その使用方法の説明を表示します。
利用可能な API 操作のリストについては、「API リファレンス」をご参照ください。
Alibaba Cloud アカウントの AccessKey ID と AccessKey Secret を取得します。
詳細については、「AccessKey ペアの作成」をご参照ください。
SDK を使用して API 操作を呼び出すには、次の 2 つの条件を満たす必要があります。
Alibaba Cloud アカウントで Quick BI に少なくとも 1 回ログインしたことがある。
お使いの Alibaba Cloud アカウントに、Quick BI の組織管理者ロールが付与されている。管理者は、オープン プラットフォーム ページですべての API 操作を呼び出す権限を管理者以外のユーザーに付与することもできます。詳細については、「概要 > アクセス制御」をご参照ください。
サポートされているプログラミング言語
Quick BI は、Java、Python、C# などの言語でのソフトウェア開発キット (SDK) を使用した開発をサポートしています。SDK の詳細については、Alibaba Cloud Open Platform をご覧ください。
バージョンガイド
公開バージョン | リリース時間 | 変更内容の説明 |
2.0.0 | 2022-03-04 | API V2 はリージョン固有のエンドポイントでリリースされます。公開された操作は、元の API リストのすべての操作をカバーしています。 説明 元の API リストは API V2 のリリース後にメンテナンスされなくなりました。すべての新しい API 操作は V2 に追加されます。 |
関連リンク
Alibaba Cloud Developer Center は、頻繁に使用されるプログラミング言語用の SDK を提供しています。また、クイックスタートチュートリアルやオープンソースプロジェクトのリストなどの情報も提供しています。詳細については、「Alibaba Cloud Developer Center」をご参照ください。
SDK の呼び出しメソッド
SDK を呼び出すときは、次の点に注意してください。
Alibaba Cloud アカウントに対応する AccessKey ID と AccessKey Secret を使用して、DefaultAcsClient インスタンスを作成および初期化します。そうしないと、次のエラーが報告されます:
code: 404, Specified access key is not found. request id: AA7FE476-F206-5C52-95B3-DF35CD30D468。AccessKey ペアは、Quick BI で組織管理者ロールが付与され、Quick BI に少なくとも 1 回ログインしたことがある Alibaba Cloud アカウントに属している必要があります。必要に応じて AccessKey ペアを指定してください。
SDK の呼び出し方法の詳細については、「SDK ドキュメント」をご参照ください。
API 操作のスロットリング
以下の API 操作のバージョンは [2022-01-01] です。
パブリッククラウドおよび金融クラウドにデプロイされている Quick BI のユーザーは、次の API 操作を呼び出すことができます。
Quick BI Professional 以上のエディションのみが API 呼び出しをサポートします。
カテゴリ | API 名 | 説明 | QPS (呼び出し/秒) | タイムアウト (秒) |
組織とユーザーの管理 | 組織にメンバーを追加します。 | 50 | 10 | |
組織内の指定されたメンバーに関する情報を更新します。 | 50 | 10 | ||
組織内のメンバーのリストをクエリします。 | 30 | 10 | ||
組織から指定されたユーザーを削除します。 | 50 | 10 | ||
ユーザー ID で組織内のメンバーの情報をクエリします。 | 30 | 10 | ||
Alibaba Cloud アカウント ID または名前で組織内のメンバーの情報をクエリします。 | 30 | 10 | ||
ユーザータグ管理 | 組織内のメンバーのタグのメタデータを追加します。 | 50 | 10 | |
組織内のメンバーのタグのメタデータを削除します。 | 50 | 10 | ||
組織内のメンバーのタグのメタデータのリストをクエリします。 | 30 | 10 | ||
組織内のメンバーのタグ値を変更します。 | 50 | 10 | ||
指定されたユーザーのタグ値のリストをクエリします。 | 30 | 10 | ||
組織内のメンバーのタグのメタデータを更新します。 | 50 | 10 | ||
組織とユーザーグループの管理 | 組織のメンバーを指定されたユーザーグループに追加します。 | 50 | 10 | |
複数のユーザーをバッチで指定されたユーザーグループに追加します。 | 50 | 10 | ||
指定されたユーザーグループから指定されたメンバーを削除します。 | 50 | 10 | ||
指定された組織にユーザーグループを作成します。 | 50 | 10 | ||
指定された組織からユーザーグループを削除します。 | 50 | 10 | ||
組織内の指定されたユーザーグループに関する情報を更新します。 | 50 | 10 | ||
ユーザーグループ内のメンバーのリストをクエリします。 | 30 | 10 | ||
指定された親ユーザーグループの子ユーザーグループに関する情報をクエリします。 | 30 | 10 | ||
ユーザーグループ名のキーワードでユーザーグループを検索します。 | 30 | 10 | ||
ユーザーが所属するユーザーグループのリストをクエリします。 | 30 | 10 | ||
すべてのユーザーグループからユーザーを削除します。 | 50 | 10 | ||
バッチでユーザーグループから複数のユーザーを削除します。 | 50 | 10 | ||
ユーザーグループ ID で一度に複数のユーザーグループの情報をクエリします。 | 50 | 10 | ||
レポートの共有と権限付与 | 権限付与のリストをクエリします。 | 30 | 10 | |
レポートに権限付与ポリシーを追加します。 | 50 | 10 | ||
ユーザーに権限が付与されている作業のリストをクエリします。 | 30 | 10 | ||
レポートの権限付与ポリシーを削除します。 | 50 | 10 | ||
BI ポータルメニューの権限付与 | BI ポータルメニューのリストをクエリします。 | 30 | 10 | |
BI ポータルメニューの権限付与リストをクエリします。 | 30 | 10 | ||
BI ポータルメニューにバッチで権限付与を追加します。 | 50 | 10 | ||
BI ポータルメニューの権限付与をバッチでキャンセルします。 | 50 | 10 | ||
BI ポータルメニューの表示設定を変更します。メニューを権限のあるユーザーにのみ表示するように設定できます。 | 50 | 10 | ||
行レベルの権限管理 | データセットの行レベルの権限スイッチのステータスをクエリします。 | 30 | 10 | |
データセットの行レベルおよび列レベルの権限を有効または無効にします。 | 50 | 10 | ||
データセットの行レベルおよび列レベルの権限の構成をクエリします。 | 30 | 10 | ||
データセットの行レベルおよび列レベルの権限のルールを構成します。 | 50 | 10 | ||
データセットの行レベルおよび列レベルの権限のルールを削除します。 | 50 | 10 | ||
ルールに基づいて行レベルの権限が付与されているユーザーを増分的に追加します。 | 50 | 10 | ||
ルールに基づいて行レベルの権限が付与されているユーザーを削除します。 | 50 | 10 | ||
行レベルまたは列レベルの権限の追加構成を指定します。 | 50 | 10 | ||
データセットの行レベルおよび列レベルの権限のホワイトリストをクエリします。 | 30 | 10 | ||
行レベルおよび列レベルの権限のホワイトリストを構成します。 | 50 | 10 | ||
行レベルおよび列レベルの権限のホワイトリストを増分的に構成します。 | 50 | 10 | ||
ワークスペース管理 | ワークスペース内のメンバーのロールを変更します。 | 50 | 10 | |
指定されたワークスペース内のメンバーのリストをクエリします。 | 30 | 10 | ||
指定されたワークスペースからメンバーを削除します。 | 50 | 10 | ||
現在の組織内のワークスペースのリストをクエリします。 | 30 | 10 | ||
指定されたワークスペースにメンバーを追加します。 | 50 | 10 | ||
バッチで指定されたワークスペースに複数のメンバーを追加します。 | 50 | 10 | ||
指定されたワークスペース内のメンバーのロール情報をクエリします。 | 30 | 10 | ||
ワークスペース内のメンバーのロール情報をバッチで更新します。 | 50 | 10 | ||
レポートリソース管理 | 組織内のレポートのリストをクエリします。 | 30 | 10 | |
組織の指定されたワークスペース内のレポートのリストをクエリします。 | 30 | 10 | ||
ユーザーが表示権限を持つレポートのリストをクエリします。 | 30 | 10 | ||
ユーザーがレポートを表示する権限を持っているかどうかを確認します。 | 50 | 10 | ||
組織内のレポートに関する埋め込み情報をクエリします。 | 30 | 10 | ||
レポートの埋め込みステータスを変更します。 | 50 | 10 | ||
レポートに関する情報をクエリします。 | 30 | 10 | ||
指定されたレポートのデータリネージをクエリします。 | 30 | 10 | ||
データセットリソース管理 | 指定されたワークスペース内のデータセットのリストをクエリします。 | 30 | 10 | |
指定されたデータセットの詳細をクエリします。 | 30 | 10 | ||
データセットの詳細をクエリします。 | 30 | 10 | ||
お気に入りの管理 | お気に入りのリストをクエリします。 | 30 | 10 | |
作業をお気に入りに追加します。 | 50 | 10 | ||
作業をお気に入りから削除します。 | 50 | 10 | ||
ホームページ管理 | 指定されたユーザーの [マイダッシュボード] ページで、権限が付与された作業のリストをクエリします。 | 30 | 10 | |
指定されたユーザーの [マイダッシュボード] ページで、お気に入りの作業のリストをクエリします。 | 30 | 10 | ||
指定されたユーザーの [マイダッシュボード] ページで、最近または頻繁に表示された作業のリストをクエリします。 | 30 | 10 | ||
DataService Studio | DataService Studio で作成された API 操作を呼び出します。 | 10 | 60 | |
埋め込み分析 | サードパーティの埋め込み用のチケットを生成します。 | 50 | 10 | |
レポートを埋め込むために使用されるチケットの詳細をクエリします。 | 30 | 10 | ||
レポートを埋め込むために使用されるチケットを削除します。 | 50 | 10 | ||
レポートを埋め込むために使用されるチケットの有効期限を更新します。 | 50 | 10 | ||
レポートを埋め込むために使用できるチケットの数を更新します。 | 50 | 10 | ||
オープン承認 | カスタム承認ワークフローのコールバック API 操作。この操作を使用して、Quick BI の承認ワークフローを処理できます。 | 30 | 10 |
SDK バージョンの表示
pom.xml ファイルで、version の値が SDK のダウンロードアドレスで利用可能な最新バージョンであることを確認してください。
SDK のバージョンは https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-quickbi-public で表示できます。
1 秒あたりの同時リクエスト数がスロットリングのしきい値を超えないようにする方法
問題の説明: パフォーマンスとセキュリティ上の理由から、パブリッククラウドにデプロイされている Quick BI の API 操作は、デフォルトでスロットリングされます。同時実行スレッドを使用して API 操作を呼び出し、実際の 1 秒あたりのクエリ数 (QPS) がスロットリングのしきい値を超えると、リクエストは失敗します。
解決策: Google Guava コンポーネントの RateLimiter クラスを使用して、API リクエストの QPS を制限できます。
Maven を使用して Java プロジェクトを管理する場合は、Maven の依存関係を pom.xml ファイルに追加します。
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${google.guava.version}</version> </dependency>説明pom.xml ファイルで、version の値がダウンロードアドレスで利用可能な最新バージョンであることを確認してください。最新バージョンについては、「Guava: Google Core Libraries For Java」をご参照ください。
RateLimiter を作成して使用します。
create()ファクトリメソッドを使用して RateLimiter インスタンスを作成できます。詳細については、「https://www.baeldung.com/guava-rate-limiter」をご参照ください。// 30 QPS の制限でスロットリングするための RateLimiter を作成します。 RateLimiter rateLimiter = RateLimiter.create(30); // 許可を取得します。QPS が 30 を超えると、リクエストはブロックされ、待機する必要があります。 rateLimiter.acquire(); // 許可が取得された後にのみ API リクエストを送信できます。 doSomeAPIRequest();
1 秒あたりのクエリ数 (QPS) は、1 秒あたりに処理されるリクエストまたはタスクの数です。
同時実行数は、システムが同時に処理するリクエストまたはタスクの数です。
QPS = 同時実行数/平均応答時間。