適用対象: Azure Database for PostgreSQL - フレキシブル サーバー
Azure Storage 拡張機能を使用できるようにするには、次の手順に従う必要があります。
- Azure Storage アカウントを識別する
- 承認の種類の選択
- 拡張機能のライブラリを読み込む
- 拡張機能を許可リストする
- 拡張機能を作成する
- 拡張機能を使用してデータをインポートおよびエクスポートする
Azure Storage アカウントを特定する
拡張機能のユーザーがデータのインポート先またはエクスポート先の Azure Storage アカウントを特定します。
承認の種類の選択
これらの各 Azure Storage アカウントの BLOB サービスに対して行われた要求に使用する承認の種類を決定します。
azure_storage
拡張機能では、共有キーによる承認と Microsoft Entra ID による承認がサポートされます。
これら 2 種類の承認のうち、Microsoft Entra ID は、共有キーよりも優れたセキュリティと使いやすさを提供し、Microsoft が推奨する認証です。
各ケースで必要な前提条件を満たすには、対応するセクションの手順に従います。
Microsoft Entra ID で承認を使用するには
- Azure Database for PostgreSQL フレキシブル サーバーで システム割り当てマネージド ID を 有効にします。
- システム割り当てマネージド ID を有効にした後、Azure Database for PostgreSQL フレキシブル サーバーのインスタンスを再起動します。
- Azure Storage アカウント上の BLOB データにアクセスするためのロールベースのアクセス制御 (RBAC) アクセス許可を、Azure Database for PostgreSQL フレキシブル サーバーのインスタンスのシステム割り当てマネージド ID に割り当てます。
システム割り当てマネージド ID を有効にする
共有キーで承認を使用するには
ストレージ アカウントでキーへのアクセスが許可されていることを確認する
Azure Storage アカウントでは、 ストレージ アカウント キーのアクセスを許可 する必要があります (つまり、 AllowSharedKeyAccess プロパティを false に設定することはできません)。
ストレージ アカウントの 2 つのアクセス キーのいずれかをフェッチする
これを azure_storage.account_add 関数に渡すには、Azure Storage アカウントの 2 つのアクセス キーのいずれかをフェッチします。
拡張機能のライブラリを読み込む
起動時に azure_storage
バイナリ モジュールが読み込まれるようにサーバーを構成します。
拡張機能を許可リストする
ユーザーが CREATE EXTENSION、DROP EXTENSION、ALTER EXTENSION、COMMENT ON EXTENSION を実行できるように、拡張機能を許可リストする必要があります。
拡張機能を作成する
好みのクライアント ( たとえば、PostgreSQL for Visual Studio Code 拡張機能、psql、pgAdmin など) を使用して、Azure Database for PostgreSQL フレキシブル サーバーで、Azure Storage 拡張機能を使用するデータベースに接続します。
azure_storage
拡張機能を使用して Azure Storage アカウントのインスタンスと対話できるすべての SQL オブジェクト (テーブル、型、関数、ビューなど) を作成するには、次のステートメントを実行します。
CREATE EXTENSION azure_storage;
拡張機能を使用してデータをインポートおよびエクスポートする
これで、( azure_storage.account_add
関数を使用して) 対話するストレージ アカウントを追加する準備ができました。 その後、 azure_storage.blob_get
関数または COPY FROM
ステートメントを使用して Azure Storage アカウントのファイルに格納されているデータをインポートするか、 azure_storage.blob_put
関数または COPY TO
ステートメントを使用して、PostgreSQL から Azure Storage アカウント内のファイルにデータをエクスポートできます。
クイック スタートの例の一覧を確認してください。
- Azure Storage アカウントを作成し、データを設定する
- データが読み込まれるテーブルを作成する
- ストレージ アカウントのアクセス キーを追加する
- Azure Blob Storage リファレンスでユーザーまたはロールへのアクセスを許可する
- コンテナー内のすべての BLOB をリストする
- 特定の名前プレフィックスを持つ BLOB を一覧表示する
- COPY FROM ステートメントを使用してデータをインポートする
- COPY TO ステートメントを使用してデータをエクスポートする
- BLOB からコンテンツを読み取る
- BLOB から読み取られたコンテンツの読み取り、フィルター処理、および変更
- カスタム オプション (ヘッダー、列区切り記号、エスケープ文字) を使用してファイルからコンテンツを読み取る
- デコーダー オプションを使用する
- デコーダー オプションで圧縮を使用する
- BLOB のコンテンツに対するコンピューティング集計
- BLOB にコンテンツを書き込む
- Azure ストレージ アカウントへのすべての参照を一覧表示する
- Azure Blob Storage リファレンスのユーザーまたはロールからのアクセスを取り消す
- ストレージ アカウントへの参照を削除する
拡張機能によって提供されるすべての関数とそれぞれの詳細を確認する必要がある場合は、完全なリファレンスを確認します。
- azure_storage.account_add
- azure_storage.account_options_managed_identity
- azure_storage.account_options_credentials
- azure_storage.account_options
- azure_storage.account_remove
- azure_storage.account_user_add
- azure_storage.account_user_remove
- azure_storage.account_list
- azure_storage.blob_list
- azure_storage.blob_get
- azure_storage.blob_put
- azure_storage.options_csv_get
- azure_storage.options_copy
- azure_storage.options_tsv
- azure_storage.options_binary
また、いくつかのトラブルシューティングを行う必要がある場合は、拡張機能で生成できる エラーの一覧 と、発生する可能性があるコンテキストを確認します。
Von Bedeutung
Azure Storage アカウントのアクセス キーを指定する必要がある認証の種類の場合、Azure Storage アクセス キーはストレージ アカウントのルート パスワードに似ています。 常に保護に注意してください。 キーを安全に管理およびローテーションするには、Azure Key Vault を使用します。
azure_storage
拡張機能は、azure_storage.accounts
ロールのメンバーが読み取ることができるテーブル pg_read_all_data
にこれらのキーを格納します。