クラウドの識別子と接続設定

AzureリソースID解析親から子まで追える

リソースID、ストレージURL、接続文字列から形式を選び、項目を確認するか、JSONから文字列を組み立てます。

AzureリソースID解析

入力

結果

入力はこのページのメモリ内で処理します。Azureへの要求、アップロード、履歴の保存は行いません。

オプション

入力欄には常に原文が表示されます。マスクは結果、プレビュー、書き出しに適用され、クエリの値と未知の接続項目の値は既定で隠れます。

「項目を編集」で構築用JSONを用意できます。プレビューを適用すると元の項目値を引き継ぎます。レポート全体や[REDACTED]を含むデータは構築入力に使えません。

構造のみを確認し、リソースの実在、権限、キーの有効性は検証しません。1段だけのBLOBパスはコンテナー、または$root内のBLOBの可能性があります。

上限:入力32768文字、クエリまたは接続項目100組、リソースIDのパス128段。

構造を確認しました。リソースの状態は未確認です。

設定の末尾にあるサブネット名だけでは、どの仮想ネットワークに属するかは分かりません。AzureリソースID解析は、長い識別子に並ぶサブスクリプションID、リソースグループ、親子リソースを分けて表示します。権限を割り当てる範囲や、変更対象の親リソースを読み違えたくないときに使えます。

接続文字列のアカウント名と、管理用のリソース識別子は別の情報です。ストレージのアドレスを渡しても、そこに書かれていないサブスクリプションやグループは補いません。まず入力に合う形式で項目を確認し、必要な値がそろってから編集用JSONを作ると、推測を混ぜずに次の設定を用意できます。

AzureリソースID解析を使う理由

親子関係を残したまま項目を読み、秘密情報の表示状態を確認して再構築できます。

末尾の名前だけで判断しない

コンテナーの前にはストレージアカウントとBLOBサービスがあり、サブネットの前には仮想ネットワークがあります。AzureリソースID解析は各プロバイダーの種類と名前の組を順番どおり残すため、拡張リソースを含めて親をたどれます。存在しないサブスクリプションやグループの項目はnullのままです。

長いリソースパスが親子の各階層を保ったツリーに展開される図

編集用の値と公開する値を意識できる

結果ではアカウントキー、クエリの値、未知の接続項目を既定でマスクします。「項目を編集」の適用後は元の値を使ってJSONを変更でき、再構築した文字列も現在のマスク設定に従います。コピーとダウンロードは画面と同じ結果を使うため、画面で隠した値だけが書き出しに現れることはありません。

構造化された項目から文字列を組み立て、資格情報の値を覆っている図

形式、更新、置き換えを先に確認

01

形式を変えても原文は残る

管理用パスはリソースID、サービスのアドレスはストレージURL、セミコロンで区切られた設定は接続文字列を選びます。形式の切り替えは今の入力を別の構文で確認する操作です。入力をサンプルに変えたい場合は、別にサンプルボタンを押し、置き換え内容を適用してください。

  • ホストの後にBLOBパスが1段しかない場合、コンテナーなのかルート内のBLOBなのかは断定しません。
02

自動実行の待ち時間を知る

自動実行は変更後350 ms待ってから動きます。オフにすると実行ボタンが現れ、Ctrl/Cmd + Enterも使えます。入力やオプションを変えた時点で以前の結果は古くなり、現在の内容で処理し直すまでコピーとダウンロードが無効になります。

  • 自動実行をオフにすると待機中の処理も取り消されるので、編集中のJSONを手動でまとめて処理できます。
03

項目の下書きを適用して組み立てる

解析後に「項目を編集」を選ぶと、構築に必要なJSONと置き換える文字数を確認できます。適用すると元の値を引き継ぎ、JSONから構築する方向へ切り替わります。サンプルとクリアにも同じ確認があり、適用後は直前の入力と結果を1回戻せます。

  • 構築に使うのは項目のオブジェクトです。fields、details、reconstructedで包まれたレポート全体は貼り付けないでください。

文字列の中にある項目を用途別に確認

スコープと拡張プロバイダー

サブスクリプション、リソースグループ、管理グループ、テナントの各範囲と、ルートの/に対応します。入れ子の子リソースや複数のprovidersを順番どおり扱い、最後のリソースの種類と名前、範囲、プロバイダー数を表示します。GUID形式を確認しながら、名前の大文字・小文字は保持します。

クラウドの接尾辞と元のパス

公開クラウド、中国、米国政府の標準ホストからアカウント、サービス、接尾辞を読み取ります。blob、dfs、file、queue、tableとセカンダリエンドポイントを扱えます。ストレージURLのパス、クエリ順序、重複キー、プラス記号、パーセントエンコードは勝手に整形しません。

値の中の等号を壊さない分解

Azure接続文字列はセミコロンごとに分け、各項目の最初の等号だけを区切りにします。値の末尾の==は残ります。StorageとService BusまたはEvent Hubsの項目構成を確認し、大文字・小文字だけが違う重複キーもエラーにします。明示されたストレージエンドポイントも項目として残します。

JSONの項目から再構築

リソース識別子、URL、接続文字列を対応するJSONから作り、解析と同じ構造チェックを適用します。余分な項目、欠けた項目、マスク用プレースホルダーは受け付けません。解析結果はJSON、構築結果はテキストで保存できます。接続項目の順序を保持しつつ、項目前後の空白と末尾セミコロンは正規化します。

確認できる構造と、確認できない事実

実在や認証の成功は判定しない
パスが読めても、リソースが存在することや、指定の資格情報でアクセスできることは証明できません。全プロバイダーの命名規則、型の存在、デプロイ結果、サブスクリプションの表示名も確認しません。実際の状態が必要な場面では、適切な認証を行ったAzureの管理機能で調べてください。
書かれていない管理情報は補えない
ストレージのURLや接続文字列には、サブスクリプションIDとリソースグループが通常含まれていません。アカウント名やアクセスキーからそれらを計算することはできません。ARMの識別子を作るときは、確認済みの値を自分で指定してください。アカウント名をGUID欄に入れることもできません。
標準ホストと任意のエンドポイントは別扱い
ストレージURLモードは3種類のクラウドの標準ホストに限定しています。独自ドメイン、プライベートリンク、静的Webサイト、Azure Stack、エミュレーターのURLは対象外です。接続文字列の項目なら独自HTTP(S)ホストやlocalhostを保持できますが、そのアドレスへのアクセスやアカウントの特定はしません。
マスクしても入力原文は見える
左側の入力エディターには元の値が残ります。秘密情報のマスクは結果、プレビュー、書き出しに適用され、未知の接続項目やクエリ値も隠します。オフにすると値が表示されます。[REDACTED]をコピーしても秘密を復元できず、構築にも使えません。元の値を保持する編集用下書きか、自分の原文を使ってください。
すべての接続文法を扱うわけではない
UseDevelopmentStorage=trueは省略形のまま認識し、エミュレーターのキーに展開しません。SQL、JDBC、ODBCや、セミコロンを含む値を引用符で囲む一般的な接続文法は非対応です。SASは文字列として扱い、署名、権限、有効期限を検証しません。sbエンドポイントだけでメッセージングサービスを断定することもありません。
上限とパスの意味を区別する
入力は32768文字、クエリまたは接続項目は100組、リソースIDは128段までです。構築JSONは最大32プロバイダー、各64リソースで、全体の段数制限も適用します。超過時は切り捨てずエラーにします。URLのドット段や連続スラッシュは保持し、分解した段を実在するコンテナーやディレクトリとみなしません。 元のURLが上限内でも、展開したJSONは上限を超える場合があります。「項目を編集」は入力を置き換える前にその下書きを拒否します。

AzureリソースID解析のよくある質問

リソースIDからリソースグループ名とリソース名を取り出すには?

リソースID形式を選び、完全な識別子を入力します。結果のfields.resourceGroupが、パスに含まれるグループ名です。最後のリソース名はdetails.resourceNameで確認できます。AzureリソースID解析は親をfields.providersにも残すため、子リソースや拡張リソースがどこに属するかを追えます。グループより上のスコープならグループの値はありません。

ストレージの接続文字列だけでリソースIDを取得できますか?

通常は取得できません。接続文字列にはAccountName、AccountKey、サービスエンドポイントなどが含まれますが、ARMの識別子に必要なサブスクリプションIDとグループ名は含まれないことが多いためです。手元の管理情報や、別の認証済み管理手段で必要な値を確認してください。値がそろえば、構築モードで明示的に指定して識別子を作れます。

BLOBのパスはどこで確認できますか?

閲覧できるBLOBなら、Azure PortalやStorage ExplorerのプロパティにURLがあります。そのアドレスをストレージURLモードで開くと、元のパスと各段を確認できます。変更するときもパーセントエンコードを保ってください。ホストの後の1段はコンテナーの場合もルートコンテナー内のBLOBの場合もあるので、ここでは文字列だけを表示します。

Azureに接続せずBLOBのURLを組み立てられますか?

アカウント、サービス、クラウドの接尾辞、正しくエンコードされたパスが分かれば可能です。ストレージURLのサンプルから「項目を編集」に進み、JSONを変更して構築してください。生成するのはアドレスの文字列だけで、BLOBの確認やアクセス権の付与は行いません。クエリ値は既定で伏せられるため、使う予定のURLを書き出す前にマスク設定も確認してください。

ポータルとPowerShellで接続文字列が違うのはなぜですか?

同じアカウントでも、既定のプロトコルとEndpointSuffixで表す方法と、サービスごとのエンドポイントを明記する方法があります。コマンドやクライアントによって生成する表現が異なることがあるため、文字列全体の一致だけでなく項目と対象クラウドを比べてください。解析で表現の違いは読めますが、キーや接続先が同等のアクセスを許すかまでは分かりません。

対応形式なのに解析できない文字列がありますか?

次の識別子を確認する

AzureリソースID解析で親のつながりをたどり、接続項目を確認し、必要な値を指定したJSONから次の文字列を用意しましょう。

コピーする前に入力形式と秘密情報のマスク設定を確認してください。