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
Hiroaki Nakamura
June 22, 2021
Programming
360
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
さくらのクラウドのAPIで名前で完全⼀致 / SAKURA cloud API exact match
さくらのクラウド⽤の公認CLIクライアント usacloud とさくらのクラウドのAPIで名前で完全⼀致する方法の紹介です
Hiroaki Nakamura
June 22, 2021
Other Decks in Programming
See All in Programming
Hono + Inertia + React で LP を構築した話
oukayuka
2
220
XHTMLが残したもの
yosuke_furukawa
PRO
2
440
アクセシビリティから考える情報設計
high_g_engineer
0
300
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
270
新卒PdEのリアル
ryu1013
1
420
ALB ログから Trace を気合で繋げる技術
fohte
7
880
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
120
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
140
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
640
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
470
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
2
500
自分的「カンファレンスの楽しみ方」
syumai
0
190
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Why Our Code Smells
bkeepers
PRO
340
58k
Abbi's Birthday
coloredviolet
3
9.8k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
270
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
Building Flexible Design Systems
yeseniaperezcruz
330
41k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
260
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
710
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
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