このページでは、 外部の場所の一覧表示、表示、更新、アクセス許可の付与、ファイル イベントの有効化、および削除を行う方法について説明します。
注
Databricks は、ボリュームを使用してファイルアクセスを統制することを推奨しています。 「Unity Catalog ボリュームとは」を参照してください。
外部の場所を記述する
外部ロケーションのプロパティ (アクセス許可やワークスペース アクセスを含む) を確認するには、Catalog Explorer または SQL コマンドを使用できます。
カタログ エクスプローラー
- サイドバーで、[データ] アイコンをクリック
カタログ。
- [クイック アクセス] ページで [外部のデータ] > ボタンをクリックすると、[外部ロケーション] タブに移動します。
- 外部ロケーションの名前をクリックすると、そのプロパティが表示されます。
SQL
ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。
<___location-name> を外部の場所の名前で置き換えます。
DESCRIBE EXTERNAL LOCATION <___location-name>;
外部ロケーションに対する許可を表示する
外部の場所で許可を表示するには、カタログ エクスプローラーまたは SQL コマンドを使用します。
カタログ エクスプローラー
- サイドバーで、[データ] アイコンをクリック
カタログ。
- [クイック アクセス] ページで [外部のデータ] > ボタンをクリックすると、[外部ロケーション] タブに移動します。
- 外部の場所の名前をクリックします。
- [アクセス許可] をクリックします。
SQL
外部の場所に対する許可を表示するには、次のようなコマンドを使用します。 必要に応じて結果をフィルター処理して、指定したプリンシパルの許可のみを表示することもできます。
SHOW GRANTS [<principal>] ON EXTERNAL LOCATION <___location-name>;
次のプレースホルダー値を置き換えます。
-
<___location-name>: クラウド テナント内のストレージ コンテナーまたはバケットの読み取りと書き込みを承認する外部の場所の名前。 -
<principal>: アカウント レベルのユーザーのメール アドレス、またはアカウント レベルのグループの名前。 グループまたはユーザー名にスペースまたは@記号が含まれている場合は、アポストロフィではなく、その周囲にバックティック (` `) を使用します。
外部ロケーションに対するアクセス許可を付与する
このセクションでは、Catalog Explorer とノートブックまたは SQL クエリでの SQL コマンドを使用して、外部ロケーションに対するアクセス許可を付与する・取り消す方法について説明します。 Databricks CLI や Terraform の使用方法については、Databricks Terraform のドキュメントおよび「Databricks CLI とは」を参照してください。
アクセス許可が必要な: メタストアと外部の場所で参照されているストレージ資格情報の両方に対する CREATE EXTERNAL LOCATION 特権、または外部の場所に対する MANAGE 特権。 メタストア管理者には既定でメタストアに対する CREATE EXTERNAL LOCATION 権限があります。
外部ロケーションを使用するアクセス許可を付与するには:
カタログ エクスプローラー
- サイドバーで、[データ] アイコンをクリック
カタログ。
- [クイック アクセス] ページで [外部のデータ] > ボタンをクリックすると、[外部ロケーション] タブに移動します。
- 外部の場所の名前をクリックすると、そのプロパティが開きます。
- [アクセス許可] をクリックします。
- ユーザーまたはグループにアクセス許可を付与するには、各 ID を選択し、[許可] をクリックします。
- ユーザーまたはグループからアクセス許可を取り消すには、それぞれの ID を選択して、[取り消し] をクリックします。
SQL
ノートブックまたは SQL クエリ エディターで次の SQL コマンドを実行します。 次の例では、外部ロケーションを参照する外部テーブルを作成する権限を付与しています。
GRANT CREATE EXTERNAL TABLE ON EXTERNAL LOCATION <___location-name> TO <principal>;
次のプレースホルダー値を置き換えます。
-
<___location-name>: クラウド テナント内のストレージ コンテナーまたはバケットの読み取りと書き込みを承認する外部の場所の名前。 -
<principal>: アカウント レベルのユーザーのメール アドレス、またはアカウント レベルのグループの名前。 グループ名またはユーザー名にスペースや@記号が含まれている場合は、アポストロフィではなくバッククォートで囲んでください。 たとえば、finance teamの場合です。
特定のワークスペースに外部の場所を割り当てる
既定では、外部の場所は、メタストア内のすべてのワークスペースからアクセスできます。 つまり、ユーザーがその外部の場所で特権 (READ FILES など) を付与されている場合、メタストアに接続されたどのワークスペースからでもその特権を行使できます。 ワークスペースを使用してユーザーのデータ アクセスを分離する場合、特定のワークスペースからのみ外部の場所へのアクセスを許可できます。 この機能は、ワークスペース バインディングまたは外部の場所の分離とも呼ばれます。
外部の場所を特定のワークスペースにバインドする一般的なユース ケースは次のとおりです。
- 運用データを含む外部の場所に対する
CREATE EXTERNAL TABLE特権を持つデータ エンジニアが、運用ワークスペース内のその場所でのみ外部テーブルを作成可能にする。 - 機密データを含む外部の場所に対する
READ FILES特権を持つデータ エンジニアが、特定のワークスペースのみを使用してそのデータにアクセス可能にする。
ワークスペース別に他の種類のデータ アクセスを制限する方法の詳細については、「特定のワークスペースに対するカタログ アクセスの制限」を参照してください。
Important
ワークスペース バインディングは、外部の場所に対する特権が行使される時点で参照されます。 たとえば、ユーザーが CREATE TABLE myCat.mySch.myTable LOCATION 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance' ワークスペースからステートメント myWorkspace を発行して外部テーブルを作成した場合、通常のユーザー特権チェックに加えて、次のワークスペース バインディング チェックが実行されます。
-
'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance'をカバーする外部の場所がmyWorkspaceにバインドされているか。 - カタログ
myCatがアクセス レベルmyWorkspaceでRead & Writeにバインドされているか。
その後、外部の場所が myWorkspace からバインド解除された場合、外部テーブルは引き続き機能します。
この機能を使用すると、中央のワークスペースからカタログにデータを入力し、カタログ バインディングを使用して他のワークスペースで使用かのうにできます。外部の場所を他のワークスペースでも使用可能にする必要はありません。
外部の場所を 1 つ以上のワークスペースにバインドする
特定のワークスペースに外部の場所を割り当てるには、Catalog Explorer または Databricks CLI を使用します。
必要なアクセス許可: メタストア管理者、外部の場所の所有者、または外部の場所に対する MANAGE 。
注
外部の場所が現在のワークスペースに割り当てられているかどうかに関係なく、メタストア管理者は Catalog Explorer を使用してメタストア内のすべての外部の場所を参照できます。また、外部の場所の所有者は、メタストア内で自分が所有しているすべての外部の場所を参照できます。 ワークスペースに割り当てられていない外部の場所は、淡色表示されます。
カタログ エクスプローラー
メタストアにリンクされているワークスペースにログインします。
サイドバーで、[データ] アイコンをクリック
カタログ。
[クイック アクセス] ページで [外部のデータ] > ボタンをクリックすると、[外部ロケーション] タブに移動します。
外部の場所を選択し、[ワークスペース] タブに移動します。
[ワークスペース] タブ で、[All workspaces have access] (すべてのワークスペースにアクセス権がある) チェック ボックスをオフにします。
外部の場所が既に 1 つ以上のワークスペースにバインドされている場合、このチェックボックスは既にオフになっています。
[Assign to workspaces] (ワークスペースに割り当てる) をクリックし、割り当てるワークスペースを入力または検索します。
アクセスを取り消すには、[ワークスペース] タブに移動し、ワークスペースを選択して [失効] をクリックします。 すべてのワークスペースからのアクセスを許可するには、[All workspaces have access] (すべてのワークスペースにアクセス権がある) チェック ボックスをオンにします。
CLI
外部の場所をワークスペースに割り当てるには、2 つの Databricks CLI コマンド グループと 2 つの手順が必要です。
次の例では、<profile-name> を Azure Databricks 認証構成プロファイルの名前に置き換えてください。 これには、個人用アクセス トークンを生成したワークスペースのワークスペース インスタンス名とワークスペース ID に加えて、個人用アクセス トークンの値が含まれている必要があります。
「個人用アクセス トークン認証 (非推奨)」を参照してください。
external-locationsコマンド グループのupdateコマンドを使用して、外部の場所のisolation modeをISOLATEDに設定します。databricks external-locations update <my-___location> \ --isolation-mode ISOLATED \ --profile <profile-name>既定の
isolation-modeは、メタストアにアタッチされているすべてのワークスペースでOPENです。workspace-bindingsコマンド グループのupdate-bindingsコマンドを使用して、ワークスペースを外部の場所に割り当てます。databricks workspace-bindings update-bindings external-___location <my-___location> \ --json '{ "add": [{"workspace_id": <workspace-id>}...], "remove": [{"workspace_id": <workspace-id>}...] }' --profile <profile-name>"add"プロパティと"remove"プロパティを使用し、ワークスペース バインドを追加するか、削除します。注
読み取り専用バインディング (
BINDING_TYPE_READ_ONLY) は、外部の場所では使用できません。 したがって、外部の場所のバインディングにbinding_typeを設定する理由はありません。
外部の場所のすべてのワークスペース割り当てを一覧表示するには、 workspace-bindings コマンド グループの get-bindings コマンドを使用します。
databricks workspace-bindings get-bindings external-___location <my-___location> \
--profile <profile-name>
REST API リファレンスの「ワークスペース バインディング」もご覧ください。
ワークスペースから外部の場所のバインドを解除する
Catalog Explorer または workspace-bindings CLI コマンド グループを使用して外部の場所へのワークスペース アクセスを取り消す手順については、「外部の場所を 1 つ以上のワークスペースにバインドする」を参照してください。
外部の場所の所有者を変更する
外部の場所の作成者がその初期所有者です。 所有者を別のアカウント レベルのユーザーまたはグループに変更するには、カタログ エクスプローラーまたは SQL コマンドを使用できます。
アクセス許可が必要な: 外部の場所の所有者または MANAGE 権限を持つユーザー。
カタログ エクスプローラー
- サイドバーで、[データ] アイコンをクリック
カタログ。
- [クイック アクセス] ページで [外部のデータ] > ボタンをクリックすると、[外部ロケーション] タブに移動します。
- 外部の場所の名前をクリックします。
Edit iconOwner の横にある [] をクリックします。- 入力してプリンシパルを検索し、それを選択します。
- [保存] をクリックします。
SQL
ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 次のプレースホルダー値を置き換えます。
-
<___location-name>: 資格情報の名前。 -
<principal>: アカウント レベルのユーザーのメール アドレス、またはアカウント レベルのグループの名前。 グループ名またはユーザー名にスペースや@記号が含まれている場合は、アポストロフィではなくバッククォートで囲んでください。 たとえば、finance teamの場合です。
ALTER EXTERNAL LOCATION <___location-name> OWNER TO <principal>
外部ロケーションを読み取り専用に設定する
ユーザーに外部ロケーションへの読み取り専用アクセスを許可する場合は、Catalog Explorer を使用してそのロケーションを読み取り専用に設定できます。 この変更がすべてのコンピューティング リソースで有効になるまでに最大 60 分かかる場合があります。
外部ロケーションを読み取り専用にする:
- ストレージ資格情報の Azure マネージド ID によって付与された書き込みアクセス許可や、その外部ロケーションに付与された Unity Catalog アクセス許可に関係なく、ユーザーはその外部ロケーションのファイルに書き込むことができなくなります。
- ユーザーが外部の場所のテーブルにデータを挿入できないようにします。
- ユーザーは、その外部ロケーション内にマネージド テーブルやボリュームを作成できなくなります。
- 読み取り専用の外部の場所を使用してカタログの作成をブロックします。
- 外部ロケーションの作成時に、システムがそのロケーションを正しく検証できるようになります。
外部ロケーションの作成時に、読み取り専用として設定することができます。
外部ロケーション作成後に、Catalog Explorer を使用して読み取り専用ステータスを変更することもできます。
- サイドバーで、[データ] アイコンをクリック
カタログ。
- [クイック アクセス] ページで [外部のデータ] > ボタンをクリックすると、[外部ロケーション] タブに移動します。
- 外部の場所を選択し、[
をクリックします。[ テスト接続 ] ボタンの横にあるメニューをクリックし、[ 編集] を選択します。
- 編集ダイアログで [詳細オプション] をクリックし、[読み取り専用使用に制限] オプションを選択します。
- [更新] をクリックします。
外部の場所で暗号化アルゴリズムを構成する (AWS S3 のみ)
AWS では、クライアントによって暗号化ヘッダーを設定する必要がある S3 バケット ポリシーがサポートされています。 AWS ドキュメント の暗号化の要求 を参照してください。 S3 バケットで要求時に暗号化ヘッダーが必要な場合は、Unity カタログの外部の場所で暗号化アルゴリズムを構成する必要があります。 この設定は、S3 バケット内のデータにアクセスするときに正しいヘッダーを構成するために使用されます。 この機能は、Delta Sharingを使用して共有される外部テーブルにアクセスする場合はサポートされていません。
サイドバーで、[データ] アイコンをクリック
カタログ。
[カタログ] ウィンドウの上部にある
をクリックします。歯車アイコンをクリックし、[外部の場所] を選択します。
外部の場所を選択します。 外部の場所では、ストレージ資格情報に IAM ロールを使用する必要があります。
をクリックします。[テスト接続] ボタンの横にある kebab メニューをクリックし、[編集] を選択します。
[編集] ダイアログで、[ 詳細オプション] をクリックします。
[暗号化アルゴリズム] で、暗号化キーに応じて SSE-SE または SSE-KMS を選択します。
SSE-KMS の場合、暗号化 KMS キー arn の下に、S3 の場所にアクセスするときにクライアントによって参照される KMS キーの ARN を貼り付けます。
[更新] をクリックします。
(推奨)外部の場所のファイル イベントを有効にする
クラウド プロバイダーによってプッシュされた変更通知を取り込む場合、外部の場所に対してファイル イベントを有効にすると、次のような利点があります。
- 自動ローダーのファイル通知を簡単に設定できます。 具体的には、
cloudFiles.useManagedFileEventsをtrueに設定することで、自動ローダーで通知のようなパフォーマンスで増分ファイル検出を有効にします。 ファイル通知モードでの自動ローダー ストリームの構成を参照してください。 - ジョブのファイル到着トリガーの効率と容量が向上します。 「新しいファイルが到着したときにジョブをトリガーする」を参照してください。
開始する前に
Azure Databricks で Azure Data Lake Storage キューまたは SQS キューを自分の代わりに構成する場合は、外部の場所で、それを行う適切なアクセス許可を付与するストレージ資格情報を参照する必要があります。 手順については、次の手順を参照してください。
独自の Azure Data Lake ストレージ キューを作成する場合、ストレージ資格情報によって表される ID には、それらの Azure Data Lake ストレージ キューに対する次のアクセス許可が必要です。
- ストレージ キュー データ共同作成者
独自の SQS キューを作成する場合、ストレージ資格情報で表される ID には、それらの SQS キューに対する次のアクセス許可が必要です。
sqs:ReceiveMessagesqs:DeleteMessagesqs:PurgeQueue
手順 1: Azure Databricks が Azure Data Lake Storage または AWS S3 のファイル イベントにアクセスできるかどうかを確認する
外部の場所のセキュリティ保護可能なオブジェクトに対してファイル イベントを有効にする前に、Azure Data Lake Storage または AWS S3 アカウントが、出力するファイル イベントへのアクセス権を Azure Databricks に付与するように構成されている必要があります。 Azure Databricks で Azure Data Lake Storage または AWS S3 でファイル イベントを構成する場合は、Azure Databricks に適切なアクセス権があることを確認する必要もあります。
このアクセス権の割り当ては、ストレージ資格情報を構成するときに推奨される手順です。
Azure Data Lake Storage コンテナーの場合
外部の場所へのアクセスを許可するマネージド ID が正しく構成されていることを確認するには、
Azure マネージド ID を取得します。
サイドバーで、[データ] アイコンをクリック
カタログ。
[クイック アクセス] ページで [外部のデータ] > ボタンをクリックすると、[外部ロケーション] タブに移動します。
外部の場所を選択します。
[ 概要 ] タブで、[ 資格情報 名] をクリックします。
[ストレージ資格情報の 概要 ] タブで、 コネクタ ID または ユーザー割り当てマネージド ID をコピーします。
これは次の手順で使用します。
Azure Data Lake Storage アカウントにログインします。
アクセス制御 (IAM) に移動し、[アクセスの確認] ボタンをクリックします。
マネージド ID で、マネージド ID の種類に応じて、Azure Databricks のユーザー割り当てマネージド ID または Access Connector のいずれかを選択します。
手順 1 でコピーしたマネージド ID を検索します。
マネージド ID に次のロールがあることを確認します。
- ストレージ アカウント共同作成者
- ストレージ BLOB データ共同作成者
- EventGrid EventSubscription 共同作成者
- ストレージ キュー データ共同作成者: Azure Databricks で Azure Data Lake Storage にサブスクリプションとイベントを作成する場合にのみ必要です。 このロールを有効にしない場合は、自分で Azure ストレージ キュー を作成する必要があります)。
これらのロールのいずれかが見つからない場合は、[ 有資格の割り当て ] タブに移動して追加します。
これらのロールの割り当ての詳細については、「 手順 3: マネージド ID にファイル イベントへのアクセス権を付与する 」および 「手順 4: Azure Databricks にユーザーに代わってファイル イベントを構成するアクセス権を付与する」を参照してください。
S3 バケットの場合
Databricks がバケットのイベント通知を構成してサブスクライブできることを確認するには、
IAM ロールを取得する
サイドバーで、[データ] アイコンをクリック
カタログ。
[クイック アクセス] ページで [外部のデータ] > ボタンをクリックすると、[外部ロケーション] タブに移動します。
外部の場所を選択します。
[ 概要 ] タブで、[ 資格情報 名] をクリックします。
[ストレージ資格情報の 概要 ] タブで、 IAM ロール (ARN) をコピーします。
これは次の手順で使用します。
AWS アカウントにログインします。
IAM に移動し、手順 1 でコピーしたロールを検索します。
[権限ポリシー] で、対象の IAM ロールに関連付けられている IAM ポリシーを見つけて開きます。
ポリシーまたはポリシーを開き、次のプロパティを含むポリシーがあることを確認します。
Databricks で通知リソースを自動的に作成するには (
File event typeAutomaticに設定)、次のポリシーを使用します。 これにより、Azure Databricks アカウントでバケットのイベント通知構成を更新し、SNS トピックを作成し、SQS キューを作成し、SQS キューを SNS トピックにサブスクライブできます。<BUCKET>を S3 バケットの名前に置き換えます。{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManagedFileEventsSetupStatement", "Effect": "Allow", "Action": [ "s3:GetBucketNotification", "s3:PutBucketNotification", "sns:ListSubscriptionsByTopic", "sns:GetTopicAttributes", "sns:SetTopicAttributes", "sns:CreateTopic", "sns:TagResource", "sns:Publish", "sns:Subscribe", "sqs:CreateQueue", "sqs:DeleteMessage", "sqs:ReceiveMessage", "sqs:SendMessage", "sqs:GetQueueUrl", "sqs:GetQueueAttributes", "sqs:SetQueueAttributes", "sqs:TagQueue", "sqs:ChangeMessageVisibility", "sqs:PurgeQueue" ], "Resource": ["arn:aws:s3:::<BUCKET>", "arn:aws:sqs:*:*:csms-*", "arn:aws:sns:*:*:csms-*"] }, { "Sid": "ManagedFileEventsListStatement", "Effect": "Allow", "Action": ["sqs:ListQueues", "sqs:ListQueueTags", "sns:ListTopics"], "Resource": ["arn:aws:sqs:*:*:csms-*", "arn:aws:sns:*:*:csms-*"] }, { "Sid": "ManagedFileEventsTeardownStatement", "Effect": "Allow", "Action": ["sns:Unsubscribe", "sns:DeleteTopic", "sqs:DeleteQueue"], "Resource": ["arn:aws:sqs:*:*:csms-*", "arn:aws:sns:*:*:csms-*"] } ] }または、通知リソースを自分で設定し、Azure Databricks にキュー エンドポイント (
File event typeProvidedに設定) を提供するには、次のポリシーを使用します。<QUEUE_NAME>を SQS キューの名前に置き換えます。{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManagedFileEventsReadStatement", "Effect": "Allow", "Action": ["sqs:DeleteMessage", "sqs:ReceiveMessage", "sqs:SendMessage", "sqs:PurgeQueue"], "Resource": ["arn:aws:sqs:*:*:<QUEUE_NAME>"] } ] }指定されたキューを使用する場合は、指定された SQS キューがバケットの次の S3 イベント通知 にサブスクライブされていることを確認します。
- s3:ObjectCreated:*
- s3:ObjectRemoved:*
- s3:LifecycleExpiration:*
「手順 1: IAM ロールを作成する」も参照してください。
このポリシーがない場合は、IAM ロールに追加します。
手順 2: カタログ エクスプローラーを使用して外部の場所のファイル イベントを有効にする
ファイル イベントを有効にするには:
サイドバーで、[データ] アイコンをクリック
カタログ。
[クイック アクセス] ページで [外部のデータ] > ボタンをクリックすると、[外部ロケーション] タブに移動します。
外部の場所を選択します。
をクリックします。[テスト接続] ボタンの横にある kebab メニューをクリックし、[編集] を選択します。
[編集] ダイアログで、[ 詳細オプション] をクリックします。
[ ファイル イベントを有効にする] を選択します。
[ファイル] イベントの種類を選択します。
自動: (推奨) Azure Databricks でサブスクリプションとイベントを自動的に設定する場合は、これを選択します。
指定: Azure ストレージ キュー または SQS キュー を自分で既に構成している場合は、これを選択します。
[指定されたファイル] イベントの種類を選択した場合は、既存のストレージ キューのキュー URL を入力します。
Azure ストレージ キュー:
https://<storage account>.queue.core.windows.net/<queue>AWS SQS キュー:
https://sqs.<region>.amazonaws.com/<account-ID>/<queue-name>
[更新] をクリックします。
数秒待ってから、メインの外部の場所の編集ページで [ 接続のテスト ] をクリックして、ファイル イベントが正常に有効になっていることを確認します。
ファイル イベントの制限事項
外部の場所のファイル イベントには、次の制限があります。
ファイル イベント キャッシュには、過去 7 日間に変更されたファイルのメタデータのみが保持されます。 そのため、自動ローダーを 7 日に 1 回以上実行した場合にのみ、増分読み取りをサポートできます。 少なくともこの頻度で自動ローダーを実行しない場合、キャッシュとチェックポイントを更新するために完全なディレクトリ一覧が実行されます。
イベントのスループットは、1 秒あたり最大 2,000 ファイルに制限されています。
resourceTagsオプションを使用してクラウド リソースにタグを付けることはできません。 代わりに、自動ローダー サービスによってキューとサブスクリプションのリソースが作成された後、クラウド コンソールを使用してリソースにタグを付けます。そのストレージの場所に対して外部の場所が定義されていない場合、Unity カタログのメタストア ルート ストレージの場所のファイル イベントを設定することはできません。
Unity カタログで外部の場所オブジェクトが定義されていないストレージの場所にファイル イベントを設定することはできません。 Unity カタログの一部の実装には、外部の場所に関連付けられていないメタストア ルート ストレージの場所が含まれます。 これがメタストア ルート ストレージの場所に当てはまるかどうかを判断するには、次の手順を実行します。
アカウント管理者として、アカウント コンソールにログインします。
[
カタログ。
メタストアの名前をクリックします。
[構成] タブに移動します。
ADLS Gen 2 パス値がある場合、メタストア ルートには外部の場所オブジェクトが定義されていません。
外部の場所を使用するようにメタストア ルート ストレージを更新するには、[ 削除 ] ボタンをクリックします。 外部ロケーションが作成されます。 詳細については、 メタストア レベルのストレージの削除に関するページを参照してください。
- Azure Blob Storage はサポートされていません。
外部の場所を変更する
外部の場所の所有者または MANAGE 特権を持つユーザーは、名前の変更、URI の変更、および外部の場所のストレージ資格情報の変更を行うことができます。
外部の場所の名前を変更するには、次の操作を行います。
ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 次のプレースホルダー値を置き換えます。
-
<___location-name>: サーブされるロケーションの名前。 -
<new-___location-name>: ロケーションの新しい名前。
ALTER EXTERNAL LOCATION <___location-name> RENAME TO <new-___location-name>;
クラウド テナントで外部の場所が指す URI を変更するには、次の操作を行います。
ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 次のプレースホルダー値を置き換えます。
-
<___location-name>: 外部ロケーションの名前。 -
<url>: そのロケーションに対するアクセスを承認するクラウド テナント内の新しいストレージ URL。
ALTER EXTERNAL LOCATION location_name SET URL '<url>' [FORCE];
外部テーブルが外部の場所に依存している場合でも、FORCE オプションによって URL が変更されます。
外部の場所で使用するストレージ資格情報を変更するには、次の操作を行います。
ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 次のプレースホルダー値を置き換えます。
-
<___location-name>: 外部ロケーションの名前。 -
<credential-name>: クラウド テナント内の場所の URL へのアクセスを許可するストレージ資格情報の名前。
ALTER EXTERNAL LOCATION <___location-name> SET STORAGE CREDENTIAL <credential-name>;
外部の場所を削除する
外部の場所を削除 (削除) するには、その所有者であるか、外部の場所に対する MANAGE 特権を持っている必要があります。 外部の場所を削除するには、次の操作を行います。
ノートブックまたは Databricks SQL エディターで次のコマンドを実行します。 角かっこ内の項目は省略可能です。
<___location-name> を外部の場所の名前で置き換えます。
DROP EXTERNAL LOCATION [IF EXISTS] <___location-name>;