著者はCOVID-19救済基金を選択し、 Write forDOnationsプログラムの一環として寄付を受け取りました。

序章

Wget は、ファイルをダウンロードしてRESTAPIを操作できるネットワークコマンドラインツールです。 それはサポートします HTTP,HTTPS, FTP、 と FTPS インターネットプロトコル。 Wgetは不安定で遅いネットワーク接続を処理できます。 ダウンロードが失敗した場合、Wgetはファイル全体が取得されるまで試行を続けます。 Wgetでは、中断されたファイルのダウンロードを最初からやり直すことなく再開することもできます。

Wgetを使用して、追加の外部プログラムをインストールせずにRESTAPIと対話することもできます。 あなたが作ることができます GET, POST, PUT、 と DELETE HTTP ターミナルに単一および複数のヘッダーがあるリクエスト。

このチュートリアルでは、Wgetを使用してファイルをダウンロードし、REST APIエンドポイントを操作し、DigitalOceanアカウントでドロップレットを作成および管理します。

You can use your local system or a remote server to open a terminal and run the commands there.

前提条件

このチュートリアルを完了するには、次のものが必要です。

  • Wgetがインストールされています。 ほとんどのLinuxディストリビューションには、デフォルトでWgetがインストールされています。 確認するには、次のように入力します wget ターミナルでを押して ENTER. インストールされていない場合は、次のように表示されます。 command not found. 次のコマンドを実行してインストールできます。 sudo apt-get install wget.

  • DigitalOceanアカウント。 アカウントをお持ちでない場合は、新しいアカウントにサインアップしてください。

  • DigitalOceanパーソナルアクセストークン。DigitalOceanコントロールパネルから作成できます。 そのための手順は、パーソナルアクセストークンの生成方法にあります。

ファイルのダウンロード

このセクションでは、Wgetを使用してダウンロードエクスペリエンスをカスタマイズします。 たとえば、単一のファイルと複数のファイルをダウンロードし、不安定なネットワーク状態でファイルのダウンロードを処理し、ダウンロードが中断した場合にダウンロードを再開する方法を学習します。

まず、このチュートリアル全体でダウンロードするファイルを保存するディレクトリを作成します。

  1. mkdir -p DigitalOcean-Wget-Tutorial/Downloads

上記のコマンドを使用して、という名前のディレクトリを作成しました DigitalOcean-Wget-Tutorial、その中に、という名前のサブディレクトリを作成しました Downloads. このディレクトリとそのサブディレクトリは、ダウンロードしたファイルを保存する場所になります。

に移動します DigitalOcean-Wget-Tutorial ディレクトリ:

  1. cd DigitalOcean-Wget-Tutorial

ダウンロードしたファイルを保存するディレクトリが正常に作成されました。

ファイルのダウンロード

Wgetを使用してファイルをダウンロードするには、次のように入力します wget ダウンロードしたいファイルのURLが続きます。 Wgetは指定されたURLのファイルをダウンロードし、現在のディレクトリに保存します。

次のコマンドを使用して、jQueryの縮小バージョンをダウンロードしてみましょう。

  1. wget https://code.jquery.com/jquery-3.6.0.min.js

jQueryが何であるかわからなくても心配しないでください。インターネット上で利用可能な任意のファイルをダウンロードできたはずです。 知っておく必要があるのは、Wgetを使用してインターネットからファイルを正常にダウンロードしたことだけです。

出力は次のようになります。

Output
--2021-07-21 16:25:11-- https://code.jquery.com/jquery-3.6.0.min.js Resolving code.jquery.com (code.jquery.com)... 69.16.175.10, 69.16.175.42, 2001:4de0:ac18::1:a:1a, ... Connecting to code.jquery.com (code.jquery.com)|69.16.175.10|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 89501 (87K) [application/javascript] Saving to: ‘jquery-3.6.0.min.js’ jquery-3.6.0.min.js 100%[===================>] 87.40K 114KB/s in 0.8s 2021-07-21 16:25:13 (114 KB/s) - ‘jquery-3.6.0.min.js’ saved [89501/89501]

上記の出力によると、という名前のファイルが正常にダウンロードおよび保存されました。 jquery-3.6.0.min.js 現在のディレクトリに移動します。

次のコマンドを使用して、現在のディレクトリの内容を確認できます。

  1. ls

出力は次のようになります。

Output
Downloads jquery-3.6.0.min.js

ダウンロードしたファイルのファイル名を指定する

ファイルをダウンロードするとき、Wgetはデフォルトでファイルがサーバー上に持っている名前を使用してファイルを保存します。 あなたはそれを使用して変更することができます -O 新しい名前を指定するオプション。

以前にダウンロードしたjQueryファイルをダウンロードしますが、今回は別の名前で保存します。

  1. wget -O jquery.min.js https://code.jquery.com/jquery-3.6.0.min.js

上記のコマンドを使用して、jQueryファイルを次のように保存するように設定します jquery.min.js それ以外の jquery-3.6.0.min.js

出力は次のようになります。

Output
--2021-07-21 16:27:01-- https://code.jquery.com/jquery-3.6.0.min.js Resolving code.jquery.com (code.jquery.com)... 69.16.175.10, 69.16.175.42, 2001:4de0:ac18::1:a:2b, ... Connecting to code.jquery.com (code.jquery.com)|69.16.175.10|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 89501 (87K) [application/javascript] Saving to: ‘jquery.min.js’ jquery.min.js 100%[==================================>] 87.40K 194KB/s in 0.4s 2021-07-21 16:27:03 (194 KB/s) - ‘jquery.min.js’ saved [89501/89501]

上記の出力によると、jQueryファイルが正常にダウンロードされ、次のように保存されています。 jquery.min.js.

あなたは使用することができます ls 現在のディレクトリの内容を一覧表示するコマンドを実行すると、 jquery.min.js そこにファイル:

  1. ls

出力は次のようになります。

Output
Downloads jquery-3.6.0.min.js jquery.min.js

これまでに使用しました wget 現在のディレクトリにファイルをダウンロードします。 次に、特定のディレクトリにダウンロードします。

特定のディレクトリにファイルをダウンロードする

ファイルをダウンロードするとき、Wgetはデフォルトでそれを現在のディレクトリに保存します。 あなたはそれを使用して変更することができます -P ファイルを保存するディレクトリの名前を指定するオプション。

以前にダウンロードしたjQueryファイルをダウンロードしますが、今回はそれを Downloads サブディレクトリ。

  1. wget -P Downloads/ https://code.jquery.com/jquery-3.6.0.min.js

出力は次のようになります。

Output
--2021-07-21 16:28:50-- https://code.jquery.com/jquery-3.6.0.min.js Resolving code.jquery.com (code.jquery.com)... 69.16.175.42, 69.16.175.10, 2001:4de0:ac18::1:a:2b, ... Connecting to code.jquery.com (code.jquery.com)|69.16.175.42|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 89501 (87K) [application/javascript] Saving to: ‘Downloads/jquery-3.6.0.min.js’ jquery-3.6.0.min.js 100%[==================================>] 87.40K 43.6KB/s in 2.0s 2021-07-21 16:28:53 (43.6 KB/s) - ‘Downloads/jquery-3.6.0.min.js’ saved [89501/89501]

最後の行に注意してください jquery-3.6.0.min.js ファイルはに保存されました Downloads ディレクトリ。

を使用する場合 ls Downloads の内容を一覧表示するコマンド Downloads ディレクトリには、jQueryファイルが表示されます。

を実行します ls 指図:

  1. ls Downloads

出力は次のようになります。

Output
jquery-3.6.0.min.js

Wgetの出力をオフにする

デフォルトでは、ファイルをダウンロードすると、Wgetは多くの情報を端末に出力します。 あなたは使用することができます -q すべての出力をオフにするオプション。

jQueryファイルをダウンロードしますが、今回は出力を表示しません。

  1. wget -q https://code.jquery.com/jquery-3.6.0.min.js

出力は表示されませんが、 ls 現在のディレクトリの内容を一覧表示するコマンドを使用すると、 jquery-3.6.0.min.js.1:

  1. ls

出力は次のようになります。

Output
Downloads jquery-3.6.0.min.js jquery-3.6.0.min.js.1 jquery.min.js

ファイルを保存する前に、Wgetはファイルが目的のディレクトリに存在するかどうかを確認します。 含まれている場合、Wgetはファイルの最後に数字を追加します。 上記のコマンドをもう一度実行すると、Wgetは次の名前のファイルを作成します jquery-3.6.0.min.js.2. この数は、同じ名前のファイルが既にあるディレクトリにファイルをダウンロードするたびに増加します。

Wgetの出力を正常にオフにしましたが、ダウンロードの進行状況を監視できなくなりました。 ダウンロードの進行状況バーを表示する方法を見てみましょう。

ダウンロードの進行状況バーを表示する

Wgetを使用すると、ダウンロードの進行状況バーを表示できますが、 -q オプションと一緒に --show-progress オプション。

jQueryファイルをダウンロードしますが、今回はダウンロードの進行状況バーのみを表示します。

  1. wget -q --show-progress https://code.jquery.com/jquery-3.6.0.min.js

出力は次のようになります。

Output
jquery-3.6.0.min.js.2 100%[================================================>] 87.40K 207KB/s in 0.4s

使用 ls 現在のディレクトリの内容を確認するコマンドを実行すると、ダウンロードしたばかりのファイルが次の名前で見つかります。 jquery-3.6.0.min.js.2

この時点から、 -q--show-progress 後続のほとんどのWgetコマンドのオプション。

これまでのところ、ダウンロードしたファイルは1つだけです。 次に、複数のファイルをダウンロードします。

複数のファイルをダウンロードする

Wgetを使用して複数のファイルをダウンロードするには、 .txt ファイルを作成し、ダウンロードするファイルのURLを挿入します。 ファイル内にURLを挿入した後、 wget とのコマンド -i オプションの後に名前が続く .txt URLを含むファイル。

名前の付いたファイルを作成します images.txt:

  1. nano images.txt

images.txt、次のURLを追加します。

images.txt
https://cdn.pixabay.com/photo/2016/12/13/05/15/puppy-1903313__340.jpg
https://cdn.pixabay.com/photo/2016/01/05/17/51/maltese-1123016__340.jpg
https://cdn.pixabay.com/photo/2020/06/30/22/34/dog-5357794__340.jpg

URLは、Pixabayで見つかった犬の3つのランダムな画像にリンクしています。 URLを追加したら、ファイルを保存して閉じます。

今、あなたは使用します -i オプションと一緒に -P,-q--show-progress 3つの画像すべてをにダウンロードするために以前に学習したオプション Downloads ディレクトリ:

  1. wget -i images.txt -P Downloads/ -q --show-progress

出力は次のようになります。

Output
puppy-1903313__340.jp 100%[=========================>] 26.44K 93.0KB/s in 0.3s maltese-1123016__340. 100%[=========================>] 50.81K --.-KB/s in 0.06s dog-5357794__340.jpg 100%[=========================>] 30.59K --.-KB/s in 0.07s

を使用する場合 ls Downloads の内容を一覧表示するコマンド Downloads ディレクトリには、ダウンロードしたばかりの3つの画像の名前が表示されます。

  1. ls Downloads

出力は次のようになります。

Output
dog-5357794__340.jpg jquery-3.6.0.min.js maltese-1123016__340.jpg puppy-1903313__340.jpg

ダウンロード速度の制限

これまでのところ、利用可能な最大のダウンロード速度でファイルをダウンロードしています。 ただし、他のタスクのリソースを保持するために、ダウンロード速度を制限することをお勧めします。 を使用してダウンロード速度を制限できます --limit-rate オプションの後に許可される最大速度が続く kiloBits per second と手紙 k.

の最初の画像をダウンロードします images.txt の速度でファイル 15 kB/SDownloads ディレクトリ:

  1. wget --limit-rate 15k -P Downloads/ -q --show-progress https://cdn.pixabay.com/photo/2016/12/13/05/15/puppy-1903313__340.jpg

出力は次のようになります。

Output
puppy-1903313__340.jpg.1 100%[====================================================>] 26.44K 16.1KB/s in 1.6s

を使用する場合 ls Downloads 内容を確認するコマンド Downloads ディレクトリには、ダウンロードしたばかりのファイルが名前で表示されます puppy-1903313__340.jpg.1.

すでに存在するファイルをダウンロードする場合、Wgetは既存のファイルを上書きする代わりに新しいファイルを作成します。 次に、ダウンロードしたファイルを上書きします。

ダウンロードしたファイルを上書きする

ダウンロードしたファイルは、 -O ファイル名の横にあるオプション。 以下のコードでは、最初に、にリストされている2番目の画像をダウンロードします。 images.txt ファイルを現在のディレクトリに移動してから、上書きします。

まず、2番目のイメージを現在のディレクトリにダウンロードし、名前を次のように設定します。 image2.jpg:

  1. wget -O image2.jpg -q --show-progress https://cdn.pixabay.com/photo/2016/12/13/05/15/puppy-1903313__340.jpg

出力は次のようになります::

Output
image2.jpg 100%[====================================================>] 26.44K --.-KB/s in 0.04s

を使用する場合 ls 現在のディレクトリの内容を確認するコマンドを実行すると、ダウンロードしたばかりのファイルが次の名前で表示されます。 image2.jpg.

これを上書きしたい場合 image2.jpg ファイルの場合、以前に実行したのと同じコマンドを実行できます。

  1. wget -O image2.jpg -q --show-progress https://cdn.pixabay.com/photo/2016/12/13/05/15/puppy-1903313__340.jpg

上記のコマンドは何度でも実行でき、Wgetはファイルをダウンロードして既存のファイルを上書きします。 上記のコマンドを実行せずに -O オプションの場合、Wgetは実行するたびに新しいファイルを作成します。

ダウンロードを再開する

これまでのところ、中断することなく複数のファイルを正常にダウンロードできました。 ただし、ダウンロードが中断された場合は、 -c オプション。

次のコマンドを実行して、Pixabayで見つかった犬のランダムな画像をダウンロードします。 コマンドでは、最大速度をに設定していることに注意してください 1 KB/S. 画像のダウンロードが完了する前に、を押します Ctrl+C ダウンロードをキャンセルするには:

  1. wget --limit-rate 1k -q --show-progress https://cdn.pixabay.com/photo/2018/03/07/19/51/grass-3206938__340.jpg

ダウンロードを再開するには、 -c オプション。 これは、不完全なファイルと同じディレクトリで次のコマンドを実行した場合にのみ機能することに注意してください。

  1. wget -c --limit-rate 1k -q --show-progress https://cdn.pixabay.com/photo/2018/03/07/19/51/grass-3206938__340.jpg

これまでは、フォアグラウンドでファイルをダウンロードしただけです。 次に、バックグラウンドでファイルをダウンロードします。

バックグラウンドでのダウンロード

を使用してバックグラウンドでファイルをダウンロードできます -b オプション。

以下のコマンドを実行して、バックグラウンドでPixabayから犬のランダムな画像をダウンロードします。

  1. wget -b https://cdn.pixabay.com/photo/2018/03/07/19/51/grass-3206938__340.jpg

バックグラウンドでファイルをダウンロードすると、Wgetはという名前のファイルを作成します wget-log 現在のディレクトリにあり、すべての出力をこのファイルにリダイレクトします。 ダウンロードのステータスを確認したい場合は、次のコマンドを使用できます。

  1. tail -f wget-log

出力は次のようになります。

Output
Resolving cdn.pixabay.com (cdn.pixabay.com)... 104.18.20.183, 104.18.21.183, 2606:4700::6812:14b7, ... Connecting to cdn.pixabay.com (cdn.pixabay.com)|104.18.20.183|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 33520 (33K) [image/jpeg] Saving to: ‘grass-3206938__340.jpg’ 0K .......... .......... .......... .. 100% 338K=0.1s 2021-07-20 23:49:52 (338 KB/s) - ‘grass-3206938__340.jpg’ saved [33520/33520]

タイムアウトの設定

この時点まで、ファイルをダウンロードしようとしているサーバーは正常に機能していると想定していました。 ただし、サーバーが正しく機能していないと仮定しましょう。 Wgetを使用して、最初にサーバーが応答するのを待つ時間を制限し、次にWgetがサーバーに到達しようとする回数を制限することができます。

ファイルをダウンロードしたいが、サーバーが正しく機能しているかどうかわからない場合は、を使用してタイムアウトを設定できます。 -T オプションの後に秒単位の時間が続きます。

次のコマンドでは、タイムアウトを次のように設定しています。 5 秒:

  1. wget -T 5 -q --show-progress https://cdn.pixabay.com/photo/2016/12/13/05/15/puppy-1903313__340.jpg

最大試行回数の設定

また、Wgetが中断された後、ファイルのダウンロードを試行する回数を設定することもできます。 --tries オプションの後に試行回数が続きます。

以下のコマンドを実行することにより、試行回数を制限します。 3:

  1. wget --tries=3 -q --show-progress https://cdn.pixabay.com/photo/2018/03/07/19/51/grass-3206938__340.jpg

無期限に試してみたい場合は合格することができます inf と一緒に --tries オプション:

  1. wget --tries=inf -q --show-progress https://cdn.pixabay.com/photo/2018/03/07/19/51/grass-3206938__340.jpg

このセクションでは、Wgetを使用して、単一のファイルと複数のファイルをダウンロードし、ダウンロードを再開し、ネットワークの問題を処理しました。 次のセクションでは、RESTAPIエンドポイントとの対話について学習します。

RESTAPIとの対話

このセクションでは、Wgetを使用して、外部プログラムをインストールせずにRESTAPIを操作します。 最も一般的に使用されるものを送信するための構文を学習します HTTP メソッド: GET, POST, PUT、 と DELETE.

模擬RESTAPIとしてJSONPlaceholderを使用します。 JSONPlaceholderは、偽のデータに使用できる無料のオンラインRESTAPIです。 (送信するリクエストはデータベースに影響を与えず、データは保存されません。)

GETリクエストの送信

Wgetでは送信できます GET 次のようなコマンドを実行してリクエストします。

  1. wget -O- [ URL ]

上記のコマンドでは、 - 後に -O オプションは標準出力を意味するため、WgetはURLの出力を、前のセクションで行ったようにファイルに送信するのではなく、端末に送信します。 GET デフォルトです HTTP Wgetが使用するメソッド。

ターミナルウィンドウで次のコマンドを実行します。

  1. wget -O- https://jsonplaceholder.typicode.com/posts?_limit=2

上記のコマンドでは、 wget 送信するには GET から2つの投稿を取得するには、JSONプレースホルダーにリクエストしてください REST API.

出力は次のようになります。

Output
--2021-07-21 16:52:51-- https://jsonplaceholder.typicode.com/posts?_limit=2 Resolving jsonplaceholder.typicode.com (jsonplaceholder.typicode.com)... 104.21.10.8, 172.67.189.217, 2606:4700:3032::6815:a08, ... Connecting to jsonplaceholder.typicode.com (jsonplaceholder.typicode.com)|104.21.10.8|:443... connected. HTTP request sent, awaiting response... 200 OK' Length: 600 [application/json] Saving to: ‘STDOUT’ - 0%[ ] 0 --.-KB/s [ { "userId": 1, "id": 1, "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto" }, { "userId": 1, "id": 2, "title": "qui est esse", "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla" } - 100%[==================================>] 600 --.-KB/s in 0s 2021-07-21 16:52:53 (4.12 MB/s) - written to stdout [600/600]

それが言う行に注意してください HTTP request sent, awaiting response... 200 OK、これは、送信に成功したことを意味します GET JSONPlaceholderへのリクエスト。

出力が多すぎる場合は、 -q 前のセクションで学習したオプションで、出力を結果に制限します。 GET リクエスト:

  1. wget -O- -q https://jsonplaceholder.typicode.com/posts?_limit=2

出力は次のようになります。

Output
[ { "userId": 1, "id": 1, "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto" }, { "userId": 1, "id": 2, "title": "qui est esse", "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla" } ]

POSTリクエストの送信

Wgetでは送信できます POST 次のようなコマンドを実行してリクエストします。

  1. wget --method==[post] -O- --body-data=[ body in json format ] --header=[ String ] [ URL ]

次のコマンドを実行します。

  1. wget --method=post -O- -q --body-data='{"title": "Wget POST","body": "Wget POST example body","userId":1}' --header=Content-Type:application/json https://jsonplaceholder.typicode.com/posts

上記のコマンドでは、 wget 送信するには POST JSONプレースホルダーにリクエストして新しい投稿を作成します。 あなたは methodpostHeaderContent-Type:application/json そして、以下を送信しました request body それに:{"title": "Wget POST","body": "Wget POST example body","userId":1}.

出力は次のようになります。

Output
{ "title": "Wget POST", "body": "Wget POST example body", "userId": 1, "id": 101 }

PUTリクエストの送信

Wgetでは送信できます PUT 次のようなコマンドを実行してリクエストします。

  1. wget --method==[put] -O- --body-data=[ body in json format ] --header=[ String ] [ URL ]

次のコマンドを実行します。

  1. wget --method=put -O- -q --body-data='{"title": "Wget PUT", "body": "Wget PUT example body", "userId": 1, "id":1}' --header=Content-Type:application/json https://jsonplaceholder.typicode.com/posts/1

上記のコマンドで使用した wget 送信するには PUT このRESTAPIの最初の投稿を編集するには、JSONプレースホルダーにリクエストしてください。 あなたは methodputHeaderContent-Type:application/json そして、以下を送信しました request body それに:{"title": "Wget PUT", "body": "Wget PUT example body", "userId": 1, "id":1} .

出力は次のようになります。

Output
{ "body": "Wget PUT example body", "title": "Wget PUT", "userId": 1, "id": 1 }

DELETEリクエストの送信

Wgetでは送信できます DELETE 次のようなコマンドを実行してリクエストします。

  1. wget --method==[delete] -O- [ URL ]

次のコマンドを実行します。

  1. wget --method=delete -O- -q --header=Content-Type:application/json https://jsonplaceholder.typicode.com/posts/1

上記のコマンドで使用した wget 送信するには DELETE このRESTAPIの最初の投稿を削除するには、JSONプレースホルダーにリクエストしてください。 あなたは methoddelete、削除する投稿をに設定します 1 URLで。

出力は次のようになります。

Output
{}

このセクションでは、Wgetを使用して送信する方法を学びました GET, POST, PUTDELETE ヘッダーフィールドが1つしかないリクエスト。 次のセクションでは、DigitalOceanアカウントでドロップレットを作成および管理するために、複数のヘッダーフィールドを送信する方法を学習します。

DigitalOceanドロップレットの作成と管理

このセクションでは、前のセクションで学んだことを適用し、Wgetを使用してDigitalOceanアカウントでドロップレットを作成および管理します。 しかし、それを行う前に、複数を送信する方法を学びます headers HTTPメソッドのフィールド。

複数のヘッダーを送信するコマンドの構文は次のようになります。

  1. wget --header=[ first header ] --header=[ second header] --header=[ N header] [ URL ]

あなたは多くを持つことができます headers 繰り返して好きなフィールド --header 必要な回数だけオプションを選択できます。

ドロップレットを作成したり、DigitalOcean APIで他のリソースとやり取りしたりするには、2つのリクエストヘッダーを送信する必要があります。

Content-Type: application/json
Authorization: Bearer your_personal_access_token

前のセクションで最初のヘッダーをすでに見ました。 2番目のヘッダーは、アカウントを認証できるようにするものです。 それはという名前の文字列を持っています Bearer 続いて、DigitalOceanアカウントのパーソナルアクセストークン。

次のコマンドを実行して、置き換えます your_personal_access_token DigitalOceanパーソナルアクセストークンを使用して:

  1. wget --method=post -O- -q --header="Content-Type: application/json" --header="Authorization: Bearer your_personal_access_token" --body-data='{"name":"Wget-example","region":"nyc1","size":"s-1vcpu-1gb","image":"ubuntu-20-04-x64","tags": ["Wget-tutorial"]}' https://api.digitalocean.com/v2/droplets

上記のコマンドを使用して、 ubuntu-20-04-x64 の液滴 nyc1 名前の付いた地域 Wget-example1vcpu1gb メモリの、そしてあなたはタグをに設定しました Wget-tutorial. の属性の詳細については、 body-data フィールドについては、DigitalOceanAPIドキュメントを参照してください。

出力は次のようになります。

Output
{"droplet":{"id":237171073,"name":"Wget-example","memory":1024,"vcpus":1,"disk":25,"locked":false,"status":"new","kernel":null,"created_at":"2021-03-16T12:38:59Z","features":[],"backup_ids":[],"next_backup_window":null,"snapshot_ids":[],"image":{"id":72067660,"name":"20.04 (LTS) x64","distribution":"Ubuntu","slug":"ubuntu-20-04-x64","public":true,"regions":["nyc3","nyc1","sfo1","nyc2","ams2","sgp1","lon1","ams3","fra1","tor1","sfo2","blr1","sfo3"],"created_at":"2020-10-20T16:34:30Z","min_disk_size":15,"type":"base","size_gigabytes":0.52,"description":"Ubuntu 20.04 x86","tags":[],"status":"available"},"volume_ids":[],"size":{"slug":"s-1vcpu-1gb","memory":1024,"vcpus":1,"disk":25,"transfer":1.0,"price_monthly":5.0,"price_hourly":0.00744,"regions":["ams2","ams3","blr1","fra1","lon1","nyc1","nyc2","nyc3","sfo1","sfo3","sgp1","tor1"],"available":true,"description":"Basic"},"size_slug":"s-1vcpu-1gb","networks":{"v4":[],"v6":[]},"region":{"name":"New York 1","slug":"nyc1","features":["backups","ipv6","metadata","install_agent","storage","image_transfer"],"available":true,"sizes":["s-1vcpu-1gb","s-1vcpu-1gb-intel","s-1vcpu-2gb","s-1vcpu-2gb-intel","s-2vcpu-2gb","s-2vcpu-2gb-intel","s-2vcpu-4gb","s-2vcpu-4gb-intel","s-4vcpu-8gb","c-2","c2-2vcpu-4gb","s-4vcpu-8gb-intel","g-2vcpu-8gb","gd-2vcpu-8gb","s-8vcpu-16gb","m-2vcpu-16gb","c-4","c2-4vcpu-8gb","s-8vcpu-16gb-intel","m3-2vcpu-16gb","g-4vcpu-16gb","so-2vcpu-16gb","m6-2vcpu-16gb","gd-4vcpu-16gb","so1_5-2vcpu-16gb","m-4vcpu-32gb","c-8","c2-8vcpu-16gb","m3-4vcpu-32gb","g-8vcpu-32gb","so-4vcpu-32gb","m6-4vcpu-32gb","gd-8vcpu-32gb","so1_5-4vcpu-32gb","m-8vcpu-64gb","c-16","c2-16vcpu-32gb","m3-8vcpu-64gb","g-16vcpu-64gb","so-8vcpu-64gb","m6-8vcpu-64gb","gd-16vcpu-64gb","so1_5-8vcpu-64gb","m-16vcpu-128gb","c-32","c2-32vcpu-64gb","m3-16vcpu-128gb","m-24vcpu-192gb","g-32vcpu-128gb","so-16vcpu-128gb","m6-16vcpu-128gb","gd-32vcpu-128gb","m3-24vcpu-192gb","g-40vcpu-160gb","so1_5-16vcpu-128gb","m-32vcpu-256gb","gd-40vcpu-160gb","so-24vcpu-192gb","m6-24vcpu-192gb","m3-32vcpu-256gb","so1_5-24vcpu-192gb"]},"tags":["Wget-tutorial"]},"links":{"actions":[{"id":1164336542,"rel":"create","href":"https://api.digitalocean.com/v2/actions/1164336542"}]}}

上記のような出力が表示された場合は、ドロップレットが正常に作成されたことを意味します。

次に、タグが付いているアカウント内のすべてのドロップレットのリストを取得しましょう Wget-tutorial. 次のコマンドを実行して、置き換えます your_personal_access_token DigitalOceanパーソナルアクセストークンを使用して:

  1. wget -O- -q --header="Content-Type: application/json" --header="Authorization: Bearer your_personal_access_token" https://api.digitalocean.com/v2/droplets?tag_name=Wget-tutorial

作成したばかりのドロップレットの名前が出力に表示されます。

Output
{"droplets":[{"id":237171073,"name":"Wget-example","memory":1024,"vcpus":1,"disk":25,"locked":false,"status":"active","kernel":null,"created_at":"2021-03-16T12:38:59Z","features":["private_networking"],"backup_ids":[],"next_backup_window":null,"snapshot_ids":[],"image":{"id":72067660,"name":"20.04 (LTS) x64","distribution":"Ubuntu","slug":"ubuntu-20-04-x64","public":true,"regions":["nyc3","nyc1","sfo1","nyc2","ams2","sgp1","lon1","ams3","fra1","tor1","sfo2","blr1","sfo3"],"created_at":"2020-10-20T16:34:30Z","min_disk_size":15,"type":"base","size_gigabytes":0.52,"description":"Ubuntu 20.04 x86","tags":[],"status":"available"},"volume_ids":[],"size":{"slug":"s-1vcpu-1gb","memory":1024,"vcpus":1,"disk":25,"transfer":1.0,"price_monthly":5.0,"price_hourly":0.00744,"regions":["ams2","ams3","blr1","fra1","lon1","nyc1","nyc2","nyc3","sfo1","sfo3","sgp1","tor1"],"available":true,"description":"Basic"},"size_slug":"s-1vcpu-1gb","networks":{"v4":[{"ip_address":"10.116.0.2","netmask":"255.255.240.0","gateway":"","type":"private"},{"ip_address":"204.48.20.197","netmask":"255.255.240.0","gateway":"204.48.16.1","type":"public"}],"v6":[]},"region":{"name":"New York 1","slug":"nyc1","features":["backups","ipv6","metadata","install_agent","storage","image_transfer"],"available":true,"sizes":["s-1vcpu-1gb","s-1vcpu-1gb-intel","s-1vcpu-2gb","s-1vcpu-2gb-intel","s-2vcpu-2gb","s-2vcpu-2gb-intel","s-2vcpu-4gb","s-2vcpu-4gb-intel","s-4vcpu-8gb","c-2","c2-2vcpu-4gb","s-4vcpu-8gb-intel","g-2vcpu-8gb","gd-2vcpu-8gb","s-8vcpu-16gb","m-2vcpu-16gb","c-4","c2-4vcpu-8gb","s-8vcpu-16gb-intel","m3-2vcpu-16gb","g-4vcpu-16gb","so-2vcpu-16gb","m6-2vcpu-16gb","gd-4vcpu-16gb","so1_5-2vcpu-16gb","m-4vcpu-32gb","c-8","c2-8vcpu-16gb","m3-4vcpu-32gb","g-8vcpu-32gb","so-4vcpu-32gb","m6-4vcpu-32gb","gd-8vcpu-32gb","so1_5-4vcpu-32gb","m-8vcpu-64gb","c-16","c2-16vcpu-32gb","m3-8vcpu-64gb","g-16vcpu-64gb","so-8vcpu-64gb","m6-8vcpu-64gb","gd-16vcpu-64gb","so1_5-8vcpu-64gb","m-16vcpu-128gb","c-32","c2-32vcpu-64gb","m3-16vcpu-128gb","m-24vcpu-192gb","g-32vcpu-128gb","so-16vcpu-128gb","m6-16vcpu-128gb","gd-32vcpu-128gb","m3-24vcpu-192gb","g-40vcpu-160gb","so1_5-16vcpu-128gb","m-32vcpu-256gb","gd-40vcpu-160gb","so-24vcpu-192gb","m6-24vcpu-192gb","m3-32vcpu-256gb","so1_5-24vcpu-192gb"]},"tags":["Wget-tutorial"],"vpc_uuid":"5ee0a168-39d1-4c60-a89c-0b47390f3f7e"}],"links":{},"meta":{"total":1}}

さあ、 id 作成したドロップレットのを使用して、ドロップレットを削除します。 次のコマンドを実行して、置き換えます your_personal_access_token DigitalOceanパーソナルアクセストークンと your_droplet_id ドロップレットで id:

  1. wget --method=delete -O- --header="Content-Type: application/json" --header="Authorization: Bearer your_personal_access_token" https://api.digitalocean.com/v2/droplets/your_droplet_id

上記のコマンドで、ドロップレットを追加しました id URLに移動して削除します。 あなたが見ているなら 204 No Content 出力では、ドロップレットの削除に成功したことを意味します。

このセクションでは、Wgetを使用して複数のヘッダーを送信しました。 次に、DigitalOceanアカウントでドロップレットを作成して管理しました。

結論

このチュートリアルでは、Wgetを使用して、安定したネットワーク状態と不安定なネットワーク状態でファイルをダウンロードし、RESTAPIエンドポイントと対話しました。 次に、この知識を使用して、DigitalOceanアカウントでドロップレットを作成および管理しました。 Wgetの詳細については、このツールのマニュアルページにアクセスしてください。 その他のLinuxコマンドラインチュートリアルについては、DigitalOceanコミュニティチュートリアルをご覧ください。