Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
さくらのクラウドのAPIで名前で完全⼀致 / SAKURA cloud API exact m...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Hiroaki Nakamura
June 22, 2021
Programming
350
1
Share
さくらのクラウドのAPIで名前で完全⼀致 / SAKURA cloud API exact match
さくらのクラウド⽤の公認CLIクライアント usacloud とさくらのクラウドのAPIで名前で完全⼀致する方法の紹介です
Hiroaki Nakamura
June 22, 2021
Other Decks in Programming
See All in Programming
PHPer、Cloudflare に引っ越す
suguruooki
1
140
Firefoxにコントリビューションして得られた学び
ken7253
2
150
🦞OpenClaw works with AWS
licux
1
330
書き換えて学ぶTemporal #fukts
pirosikick
2
350
20260514 - build with ai 2026 - build LINE Bot with Gemini CLI
line_developers_tw
PRO
0
160
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
160
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
370
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
480
決定論 vs 確率論:Gemini 3 FlashとTF-IDFを組み合わせた「法規判定エンジン」の構築
shukob
0
150
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
120
なぜあなたのコードには「コシ」がないのか?〜AI時代に問う、最後まで美味しい設計と戦略〜 #phpconkagawa / phpconkagawa2026
shogogg
0
130
The Less-Told Story of Socket Timeouts
coe401_
3
960
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
141
7.4k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
200
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
340
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
160
Speed Design
sergeychernyshev
33
1.6k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Fireside Chat
paigeccino
42
3.9k
エンジニアに許された特別な時間の終わり
watany
106
240k
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
Designing for Timeless Needs
cassininazir
0
220
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Transcript
さくらのクラウドのAPIで名前で完全一致 さくらのマイクロコミュニティ (CLI/APIユーザの会) vol.2 2021-06-22 さくらインターネット(株) 中村 弘輝
自己紹介と宣伝 コンテンツ配信グループで「ウェブアクセラレータ」を開発しています。 https://www.sakura.ad.jp/services/cdn/ 手軽に使える高コストパフォーマンスCDNサービス 突発的なアクセスへの備えから日々の負荷軽減まで幅広く気軽にご利用いた だけるCDNサービスです。 意図せぬキャッシュの誤配信を起こしにくい仕様としています。 ぜひご利用ください。 2
今日のテーマ:さくらのクラウドのDNSとusacloud さくらのクラウドのDNS さくらのクラウドのオプションサービス https://manual.sakura.ad.jp/cloud/appliance/dns/index.html 月額44円(税込)または日割り2円(税込) usacloud さくらのクラウド用の公認CLIクライアント https://github.com/sacloud/usacloud/ 3
DNSレコードの一括設定で事件発生 A「コントロールパネルからインポートも出来るけどCLIでやりたい」 B「usacloudのdnsサブコマンドで出来るみたいですよ」 A「example.jpのレコード設定するつもりが、サブドメインのhoge.example.jpのレ コードを吹っ飛ばしてしまいました」 hoge.example.jpのレコードはバックアップしてたので復旧は出来たけど。 4
usacloud の名前指定はデフォルトは部分一致 基本的な使い方 を見ると以下のように書かれています。 usacloud <リソース> <サブコマンド> [オプション] [対象リソースのID or
名前(部分一致) or タグ] 対象のドメインのリソースIDを指定すれば他のドメインも含まれるのは回避可能 「でもドメイン名で完全一致が出来ると便利だよなあ」 作者のyamamoto-febcさんに相談したらサクっと対応してくださいました。 ありがとうございます! --argument-match-mode exact というオプションで出来るようになりました。 5
usacloud の --query に jq の式を書く 「ついでに --query でJMESPathでなくjqのクエリ書きたいなあ」 こちらも対応してくださいました。ありがとうございます!
--query-driver jq と書けばOKです。 github.com/itchyny/gojq が使われています。 itchyny さんありがとうございます! 6
DNSのレコード一覧取得コマンド例 ドメインの名前がexample.jpに完全一致するレコードを取得 usacloud dns read \ --output-type json \ --argument-match-mode
exact \ --query-driver -jq \ --query '.[0].Records' \ example.jp 7
usacloud の完全一致はクライアント側でフィルタリング --argument-match-mode exact はクライアント側で完全一致でフィルタリング usacloud の対象の引数は 対象リソースのID or 名前(部分一致)
or タグ なのでこの 挙動は妥当 ドメイン数が多くなければ実用上問題なし 8
でも気になるのでAPIでの完全一致も調査してみたら実は出来る クラウドのAPIドキュメント の「リクエストパラメータの共通仕様」の「フィル タリング」の項 「文字列型カラムは中間一致」ですが「配列を与えると完全一致のOR結合」 フィルタに {"Filter":{"Name":["example.jp"],"ServiceClass":"cloud/dns"}} と 指定すればドメイン名で完全一致可能 フィルタはURLエンコードしてクエリパラメータとして指定
9
usacloud の rest サブコマンドを使用してAPIを直接呼ぶ usacloud の restコマンド でAPIを直接呼べる 今回は GET
/commonserviceitem を使用 ドメインの名前がexample.jpに完全一致するレコード取得のコマンド実行例 usacloud rest request \ -d '{"Filter":{"Name":["example.jp"],"ServiceClass":"cloud/dns"}}' \ --query-driver jq \ --query '.CommonServiceItems[0].Settings.DNS.ResourceRecordSets' \ /commonserviceitem 10
まとめ usacloud で完全一致するオプションが追加されました usacloud でjqの式でフィルタリングするオプションが追加されました さくらのクラウドAPIは名前で完全一致でフィルタリング可能です usacloud 便利!ぜひご活用ください! 11