目次
はじめに
IoT プロジェクトを進める中で、API の動きを試してみたいと感じたことはありませんか?でも、本番環境をいじるのはちょっと怖い……そんな時に使えるのが「SORACOM API Sandbox」です。
この記事では、実際に私が Sandbox を使って IoT SIM の作成から解約まで試してみた様子をまとめました。失敗談やハマりどころも紹介するので、これから試す方の参考になれば嬉しいです。
実施するにあたって、下記の SORACOM ユーザードキュメントを参考にしました:
動作環境
私がこの記事を書く際に使用した環境です:
- OS: macOS 14.3 (Sonoma)
- SORACOM CLI バージョン: SORACOM CLI v1.3.0
- 依存環境: Homebrew 3.6 以上
- カバレッジタイプ: Global
SORACOM API Sandbox とは
SORACOM API Sandbox は、本番環境をいじることなく、SORACOM API の操作を安全に試せる環境です。この環境を使えば、たとえば、以下のことができます:
- 架空のオペレーターの作成
- 架空の IoT SIM の作成や管理
- SIM の解約やその他 API 操作のテスト
「実際のデータに影響を与えない」という安心感があるので、API を初めて触る人でも気軽に試せます。
実践:SORACOM API Sandbox の設定と操作
以下に、私が実際に試した手順を詳しく書いていきます。これを読めば、きっとあなたも Sandbox を活用できるはず!
1. SORACOM CLI のインストールと設定
まずは SORACOM CLI のインストールから始めます。私は macOS を使っているので、Homebrew でインストールしました。
SORACOM CLI のインストール
arch -arm64 brew install soracom-cli
メモ:
私の環境では、初めにbrew install soracom-cli
を試したところ、以下のエラーが出ました:Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)! To rerun under ARM use: arch -arm64 brew install ...
そのため、
arch -arm64
を付けて再実行することで解決しました。このエラーが出た場合は、このオプションを忘れずに指定してください。
インストール後、バージョンを確認:
soracom version
実行結果(例):
SORACOM API client v1.3.0
Sandbox 用プロファイルの作成
次に、Sandbox 用のプロファイルを作成します。
soracom configure-sandbox
プロンプトに従って以下を入力しました:
- カバレッジタイプ: Global (選択肢 1 を入力)
- AuthKeyId と AuthKey: 本番環境の認証情報(確認用に必要です)
- Sandbox オペレーターのメールアドレスとパスワード: サンドボックス用の情報を入力
これでプロファイル sandbox
が作成されました。
2. 架空のオペレーターの作成
作成したプロファイルを使って、Sandbox 内にオペレーターを作成します。
soracom operator get --profile sandbox
結果はこんな感じ:
{
"createDate": "2024-12-05T09:27:34.193",
"email": "shoichi+202412051827@*****",
"operatorId": "OP0081733389",
"updateDate": "2024-12-05T09:27:34.195"
}
自分の Sandbox オペレーター ID を確認できました。
3. 架空の IoT SIM の作成と登録
3.1 SIM の作成
次に、架空の IoT SIM を作成します。
soracom sandbox subscribers create --profile sandbox --coverage-type g \
--body '{
"subscription": "plan01s"
}'
結果:
{
"imsi": "001014383947094",
"subscription": "plan01s",
"status": "ready",
"terminationEnabled": false
}
3.2 SIM の登録
作成した SIM を登録します。
soracom subscribers register --profile sandbox --coverage-type g \
--imsi 001014383947094 \
--body '{
"registrationSecret": "34230"
}'
登録後に確認:
soracom subscribers list --profile sandbox
出力(抜粋):
[
{
"imsi": "001014383947094",
"status": "ready",
"subscription": "plan01s"
}
]
作成した SIM が登録され、「status」が ready
となっていることを確認できました。
4. SIM の解約プロテクション設定と解除
4.1 解約プロテクションの確認
まずは解約プロテクションの状態を確認します。
soracom sims list --profile sandbox
出力(抜粋):
[
{
"imsi": "001014383947094",
"terminationEnabled": false
}
]
この時点では terminationEnabled
が false
、つまり解約プロテクションが無効であることを確認しました。
4.2 解約プロテクションの有効化/解除
プロテクションを有効化する場合:
soracom subscribers enable-termination --profile sandbox \
--imsi 001014383947094
解除する場合:
soracom subscribers disable-termination --profile sandbox \
--imsi 001014383947094
5. SIM の解約
最後に SIM の解約を試しました。
soracom subscribers terminate --profile sandbox \
--imsi 001014383947094
結果:
{
"status": "terminated"
}
無事に解約完了!
まとめ
Sandbox を使えば、本番環境をいじることなく API の操作を安心して試せます。特に IoT SIM の解約といった操作を試せるのは魅力的でした。
今回のハマりポイントとして、「--profile sandbox」をつけ忘れると本番環境に対して API を叩いてしまうので注意が必要です。
ぜひ皆さんも試してみてください!