Pythonを使用してVPSまたは専用サーバーでのルーチンタスクを自動化する

概観

ここでは、Pythonの基本的な知識を使用して、Webアプリケーションインターフェイス(API)の並外れた能力を活用してプログラムの能力を拡張する方法を説明します。ほとんどのWebホスティングサービスは、ほとんどのWebアプリケーションとともに、これらのサードパーティアプリケーションの機能をプログラムに組み込むことができるAPIを提供します。 WebホスティングAPIを使用してこれを行う方法を学習しますが、1つのAPIを使用すると、任意のWeb APIを使用して作業する方が簡単です。この記事から離れて、想像できるあらゆるサービスのAPIを学習して使用する必要があります。.


APIを使用して、手動で行っていた面倒なタスクを自動化したり、APIを使用して目的を達成したり、想像するだけでなく、想像したアプリケーションを作成したりすることもできます。あなたが言うなら, "x、y、zを実行するアプリがあればいいのに" APIの使用方法を学ぶことで、アプリが存在するのではなく、アプリの作成に一歩近づく可能性がかなりあります。.

Pythonをインストールして仮想環境をセットアップする

まだ行っていない場合は、Pythonのインストールと設定に関するこの記事を参照してください。仮想環境を設定して、各プロジェクトを他のプロジェクトやオペレーティングシステムの残りの部分に影響を与えないようにすることをお勧めします。意図しない結果をもたらす可能性のある仮想環境の変更を行っている可能性があります.

Pythonの基本を学ぶ

この記事では、経験豊富な開発者である必要はありませんが、Pythonの基本的な知識があることを前提としています。この <"Pythonの概要"> 始めるには十分ですが、簡単なスクリプトの作成を練習するための他のチュートリアルや機会を探すこともできます.<

Webアプリケーションプログラミングインターフェイス(API)

APIは基本的に、プログラムの範囲を拡張するために使用できる他のサービスやプログラムが提供するビルディングブロックのセットです。 Webopediaはこの定義でより詳細に行きます:

アプリケーションプログラムインターフェイス(API)は、ソフトウェアアプリケーションを構築するための一連のルーチン、プロトコル、およびツールです。 APIは、ソフトウェアコンポーネントの相互作用方法を指定します。さらに、グラフィカルユーザーインターフェイス(GUI)コンポーネントをプログラミングするときにAPIが使用されます。優れたAPIは、すべてのビルディングブロックを提供することにより、プログラムの開発を容易にします。次に、プログラマーがブロックをまとめます.

セクション1-WebホスティングAPIの使用

多くのウェブホスティングサービスは、プログラムによるアカウントの操作、仮想サーバーの作成と削除など、プログラムで自動化したいと考えるあらゆるものに役立つウェブAPIを提供します.

この記事では、例示的な例としてDigital OceanのAPIを使用して、APIと、APIを使用して達成できることのいくつかを紹介します。.

基本的なAPIメソッド

一見するとAPIは複雑なように見えますが、主にサーバーにHTTPリクエストを送信しています。.

  • GET-サーバーに何かを要求します
  • POST-サーバーに何かを作成するように要求します
  • PUT-サーバーに何かを追加するように要求します
  • DELETE-サーバーに何かを削除するように要求します

APIリクエストのコンポーネント

Webブラウザーを使用してサーバーに直接要求を送信するか、プログラムで送信するかに関係なく、API要求には次のコンポーネントを含める必要があります。

    • URL
  • ヘッダー-ヘッダーには、サーバーがリクエストを処理するために必要なメタデータが含まれています(たとえば、モバイルデバイスからのリクエストですか?)
  • リクエストの本文には、実際のデータが含まれます(たとえば、起動する仮想サーバーの詳細)

呼び出しと応答

リクエストを送信し、http経由で送信されたコマンドを介してアクションを開始します。つまり、Webブラウザーまたはhttpリクエストを送信できる他のアプリケーション(curlなど)を使用して、URL経由でコマンドを送信できます。次に、APIはリクエストを処理するかアクションを実行し、レスポンスを返します.

HTTP応答

サーバーにリクエストを送信すると、サーバーはリクエストを受信したことの確認から、リクエストされたタスクを実行していることの確認から、リクエストされた情報を返すまで、またはサーバーに実行をリクエストしたタスクを完了するまで、レスポンスを返します。何かがうまくいかない場合、サーバーはあなたに通知しますので、あなたは是正措置を取ることができます.

ステータスコード

ステータスコードは、アクセスしようとしているWebサイトが機能しないときに返されるのと同じ種類のコードであるため、ほとんどの人が認識します。たとえば、おそらく次のようなコードを見たことがあります "404-ページが見つかりません" そして "500内部サーバーエラー."d、これは成功を意味します。すべてが機能しているときは、問題なくWebサーフィンをしているときにエラーメッセージを表示する必要がないからです。 200のコードは特に便利ではないため、Webブラウザーは200のコードを抽象化します。.

プログラムでサーバーと通信しているときは、サーバーへの要求が成功したか失敗したか(およびステータスコードで示される失敗の理由)をプログラムに認識させる必要があります。.

APIを使用してサービスとの相互作用を理解することは他にもたくさんありますが、基本的な呼び出しと応答のパターンを理解することで、APIの使用を開始し、知識とスキルを身に付けることができます。.

APIを使用して仮想サーバーを作成する

APIの使用を開始するために、Digital OceanのAPIとPythonを使用して仮想サーバーを起動します(DOはそれらを呼び出します) "液滴)を仕様に適合させます。ここで学ぶことにより、他のWebホスティングプロバイダーのAPIや、あらゆる種類のサービスのAPIの使い方をより簡単に学ぶことができます。 1か所でAPIの使用を開始すると、すぐに、使用するあらゆる種類のサービスやWebサイトに関連するタスクを自動化する方法を探し始めます。最終的にはテクニカルゲームの向上に役立つだけでなく、すべてを手動で行うために費やしていた多くの時間も解決します.

一意のAPIトークンを生成する.

APIを使用する場合、通常はAPIのサービスにアクセスするために使用できる一意のプライベートAPIトークンを生成する必要があります。実際には、APIトークンは一種のパスワードと考えることができます。アプリケーションごとに異なるトークンを使用することをお勧めするため、複数のトークンを生成できます。.

Digital Oceanのプロセス(他のプロセスとよく似ています)

  1. Digital Oceanアカウントにログインしてから、 コントロールパネル.
  2. 上部のナビゲーションメニューで、 API

次にクリック 新しいトークンを生成

Digital OceanのAPI用のPythonラッパーをインストールする

多くの場合、人々は成長します "ラッパー" さまざまなプログラミング言語が詳細の一部を抽象化して、スクリプトを簡単に記述できるようにします。この例では、良いレビューがあり、GitHubおよびDigital Oceanリンクから始まるpython-digital oceanというPythonラッパーを使用します。これにより、ラッパーの信頼性がさらに高まります。.

以下は、pipパッケージマネージャーのインストール手順を含むPythonインストールガイドの手順を完了し、各プロジェクトのベストプラクティスである仮想環境を開始していることを前提としています(詳細については、インストールに関する記事を参照してください) ).

これは、python-digitaloceanを作成してPythonコードを使用してAPIとのやり取りを少しでも簡単にしてくれた開発者が保守しているGithubプロジェクトです。.

ラッパーをインストールする.

$ pip install -U python-digitalocean

次のコードでcreated.pyというプログラムを作成します。

#!/ usr / bin / env python3

digitaloceanをインポートする
インポート時間

Droplet = ‘Your_Secret_API_Token’、#APIトークンに置き換えます
name = ‘Example1’、#仮想サーバー(ドロップレット)に名前を付けます
region = ‘sfo2’、#地域を選択(検索) "飛沫" Digital Oceanのナビゲーションバー)
image = ‘ubuntu-14-04-x64’、#Ubuntu 14.04 x64#OSの詳細を選択
size_slug = ‘1GB’、#サイズを選択
backups = True)
#バックアップ属性の例です。あなたができることはもっとたくさんあります.

Droplet.create()#スクリプトは、droplet create関数を実行します!

created = False#初期化 "作成した" 偽る
#サーバーが戻るまで、次のwhileおよびforループを実行します "完成した,"
作成されていない間:#whileループ
print( ‘Creating Droplet’)
time.sleep(10)#これは、液滴が完了するまで10秒ごとにコンソールに出力されます
アクション= droplet.get_actions()
for action in actions:#whileループに埋め込まれたforループ
action.load()
if action.status == ‘completed’:#液滴の準備ができている場合、completedはtrueです
created = True#CompletedはTrueであり、ループは終了します.

#ループが終了すると、プログラムはループの後の処理に移ります

プリント("液滴が完成しました!")

プログラムを実行してみましょう.

$ python created.py
液滴を作成する
液滴を作成する
完了しました

>プログラムは、ステータスを待つために数回繰り返しました(間に10秒の遅延を挿入しました)。 "完成した" サーバーから戻ってくると、それは戻ります "液滴が完成しました" あなたへ.

このスクリプトはシンプルなものでしたが、ファイアウォールを設定したり、sshを構成したりするなど、より多くのプロセスを自動化するためにスクリプトを追加できます。一度に複数の仮想サーバーを作成する必要がある場合は、スクリプトを次のように変更できます。そのプロセスを自動化する.

結論

少しPythonを学習する方法と、APIの作業がビットワークを自動化し、Webホスティングをより効率的に管理するための手作業を大幅に削減する方法について少し理解できます。 PythonとAPIの仕組みを学ぶと同時に、ウェブの仕組みに関する知識を大幅に増やし、技術的なスキルと知識をレベルアップするのに役立ちます.

プログラミングを使用して問題を解決し、より効率的に作業するための最初のステップを完了しました。本、チュートリアル、そしてより有用なスクリプトを作成する機会を探して、続けてください。学習演習から有益なスクリプトを作成するまでの時間に驚くでしょう.

上位3つのVPSサービスを確認してください。

A2ホスティング

開始価格:
$ 5.00


信頼性
9.3


価格
9.0


使いやすい
9.3


サポート
9.3


特徴
9.3

レビューを読む

A2 Hostingにアクセス

ScalaHosting

開始価格:
$ 12.00


信頼性
9.4


価格
9.5


使いやすい
9.5


サポート
9.5


特徴
9.4

レビューを読む

ScalaHostingにアクセス

Hostinger

開始価格:
3.95ドル


信頼性
9.3


価格
9.3


使いやすい
9.4


サポート
9.4


特徴
9.2

レビューを読む

Hostingerにアクセス

関連するハウツー記事

  • CentOS 7 VPSまたは専用サーバーにDjangoをインストールする方法
    中間
  • Ubuntu 18.04 VPSまたは専用サーバーにApache Cassandraをインストールする方法
    中間
  • 同じUbuntu VPSまたは専用サーバーでNginxとApacheを一緒に構成する方法
    中間
  • Apache、MySQLのインストール方法 & Ubuntu 18.04 VPSまたは専用サーバー上のPHP
    中間
  • Ubuntu 18.04 VPSまたは専用サーバー用にSSHを設定する方法
    中間
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me