0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

高火力 DOKをJavaScriptから操作するためのSDKでタスクを作成・キャンセル・削除する

Last updated at Posted at 2025-05-12

高火力 DOKはさくらインターネットの提供するGPUコンテナサービスです。DockerイメージをGPUを使って実行します。

高火力 DOKではAPIが公開されているので、操作しやすくするためのSDKを「野良」で作成し始めました。Pythonでも良いのですが、せっかくなら別言語ということで、JavaScript/TypeScriptで作成しています。

今回はタスクの作成とキャンセル、削除ができるようになったので使い方を解説します。

必要な情報

SDKを利用する際には、さくらのクラウドのアクセストークンとシークレットアクセストークンが必要です。どちらもさくらのクラウドのAPIキーの中で作成できます。

インストール

SDKのインストールは npm で行います。

npm install @goofmint/dok-sdk

初期化

先ほど作成したアクセストークンとシークレットアクセストークンで初期化します。

import DOK from '@goofmint/dok-sdk';

const dok = new DOK({
  accessToken: 'your_access_token',
  accessTokenSecret: 'your_access_token_secret',
});

タスクの作成

新しくタスクを作成する場合には task メソッドを使います。

const task = await dok.task();

必要な情報を追加する

タスクに対して、コンテナやタグなどを追加します。

task
  .set('name', 'test-delete-task')
  .set('tags', ['test', 'task']);
const container = await client.container();
container
  .set('image', 'your_container_image_name')
  .set('plan', 'v100-32gb')
  .set('environment', {
    TEST: 'test',
  });
task.containers = [container];

後は save メソッドで保存できます。

await task.save();

タスクのキャンセル

作成した、または取得したタスクの実行をキャンセルする際には cancel メソッドを使います。

await task.cancel();

タスクの削除

タスクを削除する際には delete メソッドを使います。

await task.delete();

コード

コードはGitHubで公開しています。ライセンスはMIT Licenseです。

@goofmint/dok-js

まとめ

高火力 DOKのAPIでは、タスクの作成やキャンセルなども行えます。Webサービスの中でタスクを作成したり、その完了を監視するようなこともできるでしょう。

高火力 DOK自体はバッチ処理など、非同期処理に向いたサービスになります。都度管理画面をチェックしたりするのは面倒なので、APIを使うのが便利そうです。

高火力 DOK APIドキュメント

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?