Visual Studio の接続済みサービスを使用した Azure Storage の追加

Visual Studio では、接続済みサービス機能を使用して、次のいずれかを Azure Storage に接続できます。

  • .NET Framework コンソール アプリ
  • ASP.NET モデル ビュー コントローラー (MVC) (.NET フレームワーク)
  • ASP.NET Core
  • .NET Core (コンソール アプリ、WPF、Windows フォーム、クラス ライブラリを含む)
  • .NET Core Worker ロール
  • Azure Functions
  • ユニバーサル Windows プラットフォーム アプリ
  • Xamarin
  • Cordova

接続済みサービス機能により、必要なすべての参照と接続コードがプロジェクトに追加され、構成ファイルが適切に変更されます。

前提条件

接続済みサービスを使用して Azure Storage に接続する

  1. Visual Studio でプロジェクトを開きます。

  2. ソリューション エクスプローラー[接続済みサービス] ノードを右クリックし、コンテキスト メニューの [接続済みサービスの追加] を選択します。

  3. [接続済みサービス] タブで、 [サービスの依存関係] の [+] アイコンを選択します。

  4. [依存関係の追加] ページで、 [Azure Storage] を選択します。

    まだサインインしていない場合は、Azure アカウントにサインインします。 Azure アカウントを持っていない場合、無料試用版でサインアップできます。

  5. [Azure Storage の構成] 画面で、既存のストレージ アカウントを選択し、[次へ] を選択します。

    ストレージ アカウントを作成する必要がある場合は、次の手順に進みます。 それ以外の場合、手順 6. に進みます。

  6. ストレージ アカウントを作成するには、以下の手順を実行します。

    1. ダイアログの下部にある [ストレージ アカウントを作成する] を選択します。

    2. [Azure Storage: 新規作成] ダイアログに入力し、 [作成] を選択します。

      「新しい Azure Storage アカウント」画面のスクリーンショット。

    3. [Azure Storage] ダイアログが表示されると、新しいストレージ アカウントが一覧に表示されます。 一覧で新しいストレージ アカウントを選択し、[次へ] を選択します。

  7. 接続文字列名を入力し、接続文字列をローカル シークレット ファイルと Azure Key Vault のどちらに保存するかを選択します。

  8. [変更の概要] 画面には、プロセスを完了した場合にプロジェクトに対して行われるすべての変更が表示されます。 変更が問題ない場合は、 [完了] を選択します。

    [変更の概要] 画面を示すスクリーンショット。

  9. プロジェクトの [接続済みサービス] ノードに、ストレージの接続済みサービスが表示されます。

  1. Visual Studio でプロジェクトを開きます。

  2. Ctrl + Q キーを押します (または、Visual Studio IDE のメイン メニュー バーの右側にある [検索] ボタンを使います)。

  3. [Feature search] (機能の検索) に「Azure Storage」と入力し、[Azure Storage - プロジェクト] > [接続済みサービス] > [追加] > [Azure Storage] を選びます。

    機能の検索を使った Azure Storage の検索のスクリーンショット。

  4. [依存関係への接続] ページで、[Azure Storage] を選択し、[次へ] を選択します。

    依存関係 - Azure Storage への接続を示すスクリーンショット。

    まだサインインしていない場合は、Azure アカウントにサインインします。 Azure アカウントを持っていない場合、無料試用版でサインアップできます。

  5. [Azure Storage へ接続する] 画面で、既存のストレージ アカウントを選んで、[次へ] を選びます。

    ストレージ アカウントを作成する必要がある場合は、次の手順に進みます。 それ以外の場合は、次のステップに進みます。

    プロジェクトへの既存のストレージ アカウントの追加を示すスクリーンショット。

  6. ストレージ アカウントを作成するには、以下の手順を実行します。

    1. 緑色のプラス記号の隣の [新規作成] を選びます。

    2. [Azure Storage: 新規作成] ダイアログに入力し、 [作成] を選択します。

      新しい Azure Storage アカウント。

    3. [Azure Storage] ダイアログが表示されると、新しいストレージ アカウントが一覧に表示されます。 一覧で新しいストレージ アカウントを選択し、[次へ] を選択します。

  7. 接続文字列設定名を入力します。 設定名は、secrets.json ファイルまたは Azure Key Vault に表示される接続文字列設定の名前を参照します。

    接続文字列の指定方法を示すスクリーンショット。

  8. 接続文字列をローカル シークレット ファイル、Azure Key Vault に格納するか、どこにも保存しないかを選択します。

    接続設定を格納するための選択肢を示すスクリーンショット。

    注意事項

    Visual Studio 17.12 より前のバージョンの Visual Studio を使用していて、secrets.json ファイルを使用する場合は、ローカル secrets.json ファイルの接続文字列が公開される可能性があるため、セキュリティ対策を講じる必要があります。 Visual Studio 2022 バージョン 17.12 以降を使用している場合、この手順では、認証資格情報を使用した接続文字列ではなく、接続設定値が生成されるため、より安全な結果が得られます。

  9. [変更の概要] 画面には、プロセスを完了した場合にプロジェクトに対して行われるすべての変更が表示されます。 変更が問題ない場合は、 [完了] を選択します。

    変更の概要を示すスクリーンショット。

  10. プロジェクトの [接続済みサービス] ノードに、ストレージの接続済みサービスが表示されます。

認証について

前の手順を実行すると、認証を使用してストレージ アカウントにアクセスするようにアプリが設定されます。 この認証の接続情報は、 secrets.json 方法を選択した場合、または Azure Key Vault にローカルに保存されます。

secrets.json ファイルを使用した場合は、Connected Services の [Secrets.json] タブの横にある 3 つのドットを使用してファイルを開きメニューを開き、[ 管理ユーザー シークレットを選択します。 Visual Studio 2022 バージョン 17.12 以降では、このファイルには、接続文字列自体ではなく、セキュリティで保護された接続文字列を取得するための URI を参照する設定が含まれています。

{
  "StorageConnection:blobServiceUri": "https://webapplication16storagex.blob.core.windows.net/",
  "StorageConnection:queueServiceUri": "https://webapplication16storagex.queue.core.windows.net/",
  "StorageConnection:tableServiceUri": "https://webapplication16storagex.table.core.windows.net/"
}

Visual Studio 17.12 以降のこれらの設定では、認証は自動的かつ柔軟になります。 Visual Studio からローカルで実行またはデバッグすると、Visual Studio によって保存された Azure 資格情報が Azure ストレージ アカウントにアクセスするために使用されます。 コマンド ラインからアプリを起動する場合は、まず Azure CLI を使用してサインインする必要があります。これらの資格情報は自動的に検出され、使用されます。 ただし、アプリを Azure にデプロイして Azure で実行すると、コードを変更することなくマネージド ID が使用されます。 Azure Identity API はすべてのチェーンされた資格情報を順番にチェックし、見つかったときに使用するため、すべてのホスティング環境で認証が機能します。 「 DefaultAzureCredentialを参照してください。

次のステップ

Azure Storage では、BLOB とキュー、およびその他の機能がサポートされています。

BLOB の操作を確認するために、BLOB ストレージのクイックスタートに進むことができますが、最初から始めるのではなく、Azure BLOB のクイックスタート (.NET) の「コード例」から始めることができます。

キューの操作について学ぶには、最初に Azure Queue Storage クイックスタート (.NET) - コード例を参照してください。