方法:APIがホスティングプロバイダーインフラストラクチャを改善する方法

画像

最後のトピックでは、APIトピック触れましたが 、むしろ、このテクノロジーがビジネスにどのように役立つかについて触れました 。 1cloudホスティングプロバイダーの開発中に、クライアントアプリケーションとクラウドとの統合の品質を改善し、顧客とパートナーのインフラストラクチャとの相互作用を促進する必要性に直面しました。

これらの問題を解決するために、このインターフェイスがどのように機能するか、そして今日のトピックを解決するためにどのタスクを使用できるかについてのAPIを開発しました。

仕組み


クライアントがサードパーティのアプリケーションからサーバーを管理できるようにするために、 REST APIが実装されました。

プロジェクトインフラストラクチャに関する以前のトピックの1つで、ユーザーがグラフィカルインターフェイスでアクションを実行しても処理が行われない場合、システムはプロセッサが必要なアクションを実行するタスクのみを生成するという事実について説明しました。

APIを実装するために、同じメカニズムを使用しました。 クライアントがAPIにリクエストを送信すると、タスクが形成され、ハンドラーが「それをピックアップ」します。その後、実行が既に行われています。 「サーバー上のアクション」 メソッドに連絡することにより、特定のタスクのステータスを追跡できます。

curl -X GET -H 'Content-Type: application/json' -H 'Authorization: Bearer 75bb9805c018b1267b2cf599a38b95a3a811e2ef7ad9ca5ed838ea4c6bafaf50' https://api.1cloud.ru/Server/777/Action/999 

JSON形式のメッセージヘッダーの例:

 Content-Type: application/json Authorization: Bearer 75bb9805c018b1267b2cf599a38b95a3a811e2ef7ad9ca5ed838ea4c6bafaf50 

応答として、システムはジョブID、タスクのタイプ(この場合はサーバーの作成)、およびそのステータスを含むJSONオブジェクトを返します。

 { "ID":999, "Type":"Create", "State":"Completed" } 

将来的には、新しい機能を試運転する際に、Web(コントロールパネル)とプログラムインターフェイス(API)の2つのインターフェイスをサポートします。

それは何を与える


ホスティングの場合、APIは、複雑なテクノロジーに対処したくない個人ユーザーと、プロバイダーのインフラストラクチャに基づいて独自のサービスを作成する予定の大規模なクライアントとパートナーの両方に役立つ可能性があります。

画像

Infrastructure 1cloud(クリック可能な画像)

APIメソッドを使用すると、1回のリクエストでサーバーをデプロイできますが、インターフェースで手でアクションを実行することなく、すべてのホスティング管理タスクを完全に自動化することができます(または、たとえば、インフラストラクチャをスケーリングする)
私たちのAPIは、多くの個人および企業のクライアントで使用できます。 それらの中には:


さらに、APIは継続的な統合プロセスの一部として使用できます。完成したコードの検証中に、すべてのテストスクリプトが「実行」される参照テスト環境(1つまたはサーバーのグループ)を作成できます。

C#でのAPI 1cloudのクライアントアプリケーションの実装例は、 ここにあります (Sergey partyz0ne Vycheganzhanへの実装に感謝します)。

今日は以上です。 ご清聴ありがとうございました。コメント欄で質問にお答えします。

PS私たちのAPIを使用したいHabrユーザーのために、発見された問題や困難を排除するための延長されたテスト期間を提供します(有効化するには、 support@1cloud.ruのサポートサービスに連絡してください )。

API 1のクライアントパーツを他のプログラミング言語で最適に実装したPPS作成者は、システムでボーナスを受け取ります。 GitHubにプロジェクトを投稿すると、著者の名前とそれらへのリンクがWebサイトに表示されます。

Source: https://habr.com/ru/post/J250427/


All Articles