日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

Cloud Volumes APIs

寄稿者 netapp-tonacki netapp-juliec

Web UI から使用できる Cloud Volume 機能は、 RESTful API からも使用できます。この API を使用して、 Cloud Volume の作成と管理、およびプロビジョニングスクリプトとツールの開発を行うことができます。

API の URL 、 API キー、およびシークレットキーの確認

API 呼び出しを実行するには、 Cloud Volume API の URL 、 API キー、およびシークレットキーを取得する必要があります。

手順
  1. ストレージページまたはユーザ名の下のドロップダウンメニューで、 * API access * をクリックします。

  2. Cloud Volume API の URL 、 API キー、およびシークレットキーを記録します。

使用可能な API の一覧を表示します

ストレージページには、使用可能な API が表示されます。

手順
  1. ストレージページで * API ドキュメント * をクリックします。

    ページには使用可能な API がリストされます。

  2. ページをスクロールして使用可能な API を確認します。

    API は、次のような関数別に一覧表示されます。

    • 「ボリューム」

    • 「目標」

    • 「ストレージ」

    • 「ナプショット」

  3. API 呼び出しの使用方法の詳細と例を取得するには、関数を選択し、次のいずれかのアクションをクリックします。

    • 'get': 読み取り

    • 'POST': 作成します

    • 「 PUT 」:更新または変更

    • 「削除」 : 破棄

Cloud Volume API を使用する

このセクションでは、 Cloud Volume API の使用方法について説明します。この例では、 Linux bash シェルから curl を使用しています。'<api_url>'`<api_key>'`<secret_key>` を ' から記録した値に置き換える必要があります API の URL 、 API キー、およびシークレットキーの確認

構文

curl -s -H accept: application/json -H "Content-type: application/json" -H api-key: <api_key> -H secret-key: <secret_key> -X [get 、 POST 、 PUT 、 delete] <api_url>/v2/<command>`

ボリュームをリストします

次の例は、すべてのボリュームに関する情報を表示します。

注記 「 jq 」を使用してコマンドをパイピングすると、「 json 出力のフォーマットが改善されます。システムに「 jq 」をインストールする必要があります。
curl -s -H accept:application/json -H "Content-type: application/json" -H api-key:<api_key> -H secret-key:<secret_key> -X GET <api_url>/v2/Volumes | jq

特定のボリュームの詳細のリスト

各ボリュームには、「 volumeID 」という ID があります。たとえば、「 07c9ab6c-b655-a9fe-f904-b9b97ef9baa'.API 呼び出しで ID を指定すると、特定のボリュームの詳細が表示されます。

curl -s -H accept:application/json -H "Content-type: application/json" -H api-key:<api_key> -H secret-key:<secret_key> -X GET <api_url>/v2/Volumes/<volumeId> | jq

ボリュームを作成します

次の例では 'POST' コールを使用して 'Test' という名前のボリュームを作成しますこのボリュームは 'us-west-1 領域では '100 GB の割り当て済み容量 'nfsv3 を使用してエクスポートされます

curl -s -H accept:application/json -H "Content-type: application/json" -H api-key:<api_key> -H secret-key:<secret_key> -X POST <api_url>/v2/Volumes -d '
{
	"name": "Test",
	"creationToken": "grahams-test-volume3",
	"region": "us-west-1",
	"serviceLevel": "standard",
	"quotaInBytes": 100000000000,
	"exportPolicy": {"rules": [{"ruleIndex": 1,"allowedClients": "0.0.0.0/0","unixReadOnly": false,"unixReadWrite": true,"cifs": false,"nfsv3": true,"nfsv4": false}]},
	"protocolTypes": ["NFSv3"],
	"labels": ["test"]
}'

ボリュームを更新しています

次の例では 'put' 呼び出しを使用して 'Test' というボリュームを更新し ' サービス・レベルをエクストリームに変更し ' 割り当て容量を 600 GB に変更します

curl -s -H accept:application/json -H "Content-type: application/json" -H api-key:<api_key> -H secret-key:<secret_key> -X PUT <api_url>/v2/Volumes/<volumeId> -d '
{
	"serviceLevel": "extreme",
	"quotaInBytes": 600000000000
}'

ボリュームを削除する

次に、「 volumeID 」で指定されたボリュームを削除するために「削除」コールを使用する例を示します。

curl -s -H accept:application/json -H "Content-type: application/json" -H api-key:<api_key> -H secret-key:<secret_key> -X DELETE <api_url>/v2/Volumes/<volumeId>
重要 注意して使用してください。この API 呼び出しは、ボリュームとそのすべてのデータを削除します。

Snapshot を作成しています

次の例では 'POST' 呼び出しを使用して ' 特定のボリューム用の 'nappy' というスナップショットを作成します

curl -s -H accept:application/json -H "Content-type: application/json" -H api-key:<api_key> -H secret-key:<secret_key> -X POST <api_url>/v2/Volumes/<volumeId>/Snapshots -d '
{
	"name": "<snapshot-name>"
}'

Snapshot ポリシーを作成しています

次の例では 'put' 呼び出しを使用して ' 特定のボリュームのスナップショット・ポリシーを作成します

curl -s -H accept:application/json -H "Content-type: application/json" -H api-key:<api_key> -H secret-key:<secret_key> -X PUT <api_url>/v2/Volumes/<volumeId> -d '
{
	"snapshotPolicy": {
        "dailySchedule": {},
        "enabled": true,
        "hourlySchedule": {
            "minute": 33,
            "snapshotsToKeep": 24
        },
        "monthlySchedule": {},
        "weeklySchedule": {}
    }
}'

特定のボリュームの Snapshot をリストします

次の例では 'get' 呼び出しを使用して ' 特定のボリュームのスナップショットを一覧表示します

curl -s -H accept:application/json -H "Content-type: application/json" -H api-key:<api_key> -H secret-key:<secret_key> -X GET <api_url>/v2/Volumes/<volumeId>/Snapshots

Snapshot をリバートします

次の例では 'POST' 呼び出しを使用して 'napshotId' および 'volumeID で指定されたスナップショットからボリュームを復元します

curl -s -H accept:application/json -H "Content-type: application/json" -H api-key:<api_key> -H secret-key:<secret_key> -X POST <api_url>/v2/Volumes/<volumeId>/Revert -d '
{
	"snapshotId": "<snapshotId>"
}'
重要 注意して使用してください。この API 呼び出しは、その Snapshot の日付よりあとに書き込まれたデータをすべて失われます。

Snapshot から新しいボリュームを作成します

次の例では 'POST' 呼び出しを使用して 'SnapshotId' で指定された既存のボリュームのスナップショットに基づいて新しいボリュームを作成します

curl -s -H accept:application/json -H "Content-type: application/json" -H api-key:<api_key> -H secret-key:<secret_key> -X POST <api_url>/v2/Volumes -d '
{
	"snapshotId": "<snapshotId>",
	"name": "Copy",
	"creationToken": "perfectly-copied-volume",
	"region": "us-west-1",
	"serviceLevel": "extreme",
	"protocolTypes": ["NFSv3"]
}'

Snapshot を削除しています

次の例では、「 Delete 」呼び出しを使用して「 napshotId 」で指定されたスナップショットを削除します。

curl -s -H accept:application/json -H "Content-type: application/json" -H api-key:<api_key> -H secret-key:<secret_key> -X DELETE <api_url>/v2/Volumes/<volumeId>/Snapshots/<snapshotId>
重要 注意して使用してください。この API 呼び出しは、 Snapshot とそのすべてのデータを削除します。

ディレクトリサービスに参加する

次の例では 'POST' コールを使用してディレクトリ・サービスに参加し 'DNS IP アドレス ' ドメイン 'SMB サーバの NetBIOS 名 ' ディレクトリ・サービス管理者のユーザ名とパスワード ' および組織単位(オプションでデフォルトは CN=Computers )を提供します

curl -s -H accept:application/json -H "Content-type: application/json" -H api-key:<api_key> -H secret-key:<secret_key> -X POST <api_url>/v2/Storage/ActiveDirectory -d '
{
	"DNS": "<ip-address>",
	"domain": "<domain>",
	"netBIOS": "<netbios-name>",
	"organizationalUnit": "OU=Cloud Servers,DC=nas-cloud,DC=local",
	"password": "secret",
	"region": "us-west-1",
	"username": "Administrator"
}'

ディレクトリサービスの統合を表示しています

次の例では 'get' 呼び出しを使用して ' ディレクトリサービス統合の構成を表示します

curl -s -H accept:application/json -H "Content-type: application/json" -H api-key:<api_key> -H secret-key:<secret_key> -X GET <api_url>/v2/Storage/ActiveDirectory

ディレクトリサービスを削除します

次の例では、「削除」コールを使用して、ディレクトリサービス統合を解除します。これには、上記の「 GET 」コールを使用して検索できる、現在の参加の UUID が必要です。

注記 使用中のディレクトリサービスは削除できません。ステータスは「使用中」です。
curl -s -H accept:application/json -H "Content-type: application/json" -H api-key:<api_key> -H secret-key:<secret_key> -X DELETE <api_url>/v2/Storage/ActiveDirectory/<UUID>

パフォーマンス統計を取得します

次の例では 'get' コールを使用して 'volumeID で指定されたボリュームの特定の期間における読み取りと書き込みの IOPS ' スループット ' および遅延の統計情報を一覧表示します

curl -s -H accept:application/json -H "Content-type: application/json" -H api-key:<api_key> -H secret-key:<secret_key> -X GET '<api_url>/v2/Volumes/<volumeId>/PerformanceMetrics?startDate=2021-02-05T09:00&endDate=2021-02-05T09:05&type=READ_IOPS,WRITE_IOPS,TOTAL_THROUGHPUT,AVERAGE_OTHER_LATENCY'