Collaboration Data Clean Roomsのトラブルシューティング

Collaboration Data Clean Roomsでの作業中にエラーが発生した場合は、以下のトラブルシューティングのヒントをご参照ください。

コラボレーション

エラー:

コラボレーションへの招待が保留中です: <collaboration name> が見つかりません ただし、 GET_STATUS ではアカウントが INVITED と表示されています。

原因:

最初の結合の試行が何らかの理由で失敗した場合、その後の結合の試行はこの理由で失敗する可能性は高くなります。

解決策:

コラボレーションを削除して再作成します。


 

エラー:

作成したコラボレーションは、コラボレーターのアカウントには表示されません。

原因:

考えられる理由はいくつかあります。

  • コラボレーションは別のクラウドホスティングリージョンで作成され、:doc:`クロスクラウドの自動フルフィルメント</user-guide/cleanrooms/laf>`を有効にしていません。

  • コラボレーションを共有していないか、間違ったアカウントとコラボレーションを共有した、またはSnowsight/SDCRUI/CLIで間違ったコラボレーターアカウントを開いています。コラボレーションを表示するアカウントが、コラボレーションを共有したアカウントであり、その共有アカウントにサインインしていることを確認します。

  • コラボレーションを公開してから、コラボレーターに表示されるまでに少しの遅延があります。

解決策:

コラボレーターのアカウントがコラボレーション仕様のアカウントと一致しており、必要に応じてクロスクラウドの自動フルフィルメントが有効になっていることを確認します。コラボレーションが伝播するまで数秒待ちます。


 

エラー:

データプロバイダーがコラボレーションに参加しようとしたとき ReferenceUsageGrantMissingException: Reference usage grants are required for the following databases in your account ... と表示されます。データプロバイダーがコラボレーションに参加しようとしたときに、 REFERENCE_USAGE のない共有データがある場合にこのメッセージが表示されます。これは想定内の動作です。

解決策:

エラーメッセージには、データベース名と共有名が含まれます。データに対する REFERENCE_USAGE 権限を持つユーザー、または ACCOUNTADMIN 権限を持つユーザーが、エラーメッセージに表示されたデータベース名と共有名を指定して、次の SQL コマンドを実行する必要があります。

GRANT REFERENCE_USAGE ON DATABASE <database_name> TO SHARE <share_name>;

REFERENCE_USAGE 権限が正常に付与されると、データプロバイダーはコラボレーションに参加できます。

APIおよび権限

エラー:

不明なユーザー定義関数 <function name>

原因:

これが DCR Collaboration API のために文書化されたプロシージャである場合、プロシージャのスペルが間違っている可能性があります。

プロシージャ名のスペルを間違えていない場合、またはプロシージャがシステムプロシージャである場合(つまり、名前に $ が含まれている場合)、 API の古いバージョンを使用しており、クリーンルーム API バージョンをアップグレードする必要がある可能性があります。

解決策:
  • プロシージャのスペルが正しいことを確認し、そうでない場合は、適切なスペルで再試行します。

  • インストールを更新するには、次の SQL コードを実行します。

USE ROLE ACCOUNTADMIN;
CALL SAMOOHA_BY_SNOWFLAKE.APP_SCHEMA.PREPARE_MOUNT_SCRIPT();
EXECUTE IMMEDIATE FROM @SAMOOHA_BY_SNOWFLAKE.APP_SCHEMA.MOUNT_CODE_STAGE/dcr_loader.sql;

 

エラー:

Listing 'listing name' is not fulfilled to your current region. Please request the listing, or if already requested, retry after some time

原因:

クリーンルーム API の古いバージョンを使用しています。この問題はより新しいバージョンで修正されました。

解決策:

クリーンルームのインストールを更新します。


 

エラー:

SQL compilation error: Unknown user-defined function SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.RUN

原因:

完全修飾プロシージャ名の一部のスペルを間違えたか、このプロシージャを実行するための権限が付与されていません。

解決策:

プロシージャの正しい名前を使用したことを確認します。SAMOOHA_APP_ROLEを使用していない場合は、そのロールに切り替えて、同じエラーが発生するかどうかを確認することを試みてください。エラーが発生しない場合は、権限エラーです。


 

エラー:

不明なユーザー定義関数SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.<namespace>.<procedure name>

原因:

次のいずれかを使用します。

  • 間違った名前空間を使用した。適切な``COLLABORATION``または``REGISTRY``の名前空間を呼び出すようにしてください。

  • 関数の名前を誤入力してしまった。適切な名前については、リファレンスガイドを確認してください。

  • プロシージャを呼び出すための権限が付与されていないRBACロールを使用している。

  • SAMOOHA_APP_ROLEを付与されていない。

解決策:
  • 記述したプロシージャのスペルが正しく、正しい名前空間を使用していることを確認してください。

  • SAMOOHA_APP_ROLEに切り替えて、プロシージャを実行できるかどうかを確認してみてください。実行できる場合は、現在のロールに対する権限が不十分であることが問題です。SAMOOHA_APP_ROLEを付与されているいずれかのユーザーに、:ref:`適切な権限を付与<label-dcr_collab_about_rbac_roles>`するよう依頼してください。

  • SAMOOHA_APP_ROLEを付与されているかどうかを確認するには、次のコマンドを実行します。

SELECT CURRENT_USER();
SHOW GRANTS TO USER <current_user_name> ->> SELECT * FROM $1 WHERE "role" = 'SAMOOHA_APP_ROLE';

結果が得られない場合は、管理者にコラボレーションに対するAPIアクセス権を付与するよう依頼してください。

コードバンドル

エラー:

CodeSpecAlreadyExistsException

原因:

同じ名前とバージョンのコードバンドル仕様が既に登録されています。

解決策:

別のバージョンを使用するか、既存のバージョンを更新します。


 

エラー:

SpecValidationError

原因:

YAMLはスキーマに準拠していません。

解決策:

必須フィールドと形式を確認してください。


 

エラー:

CodeSpecStageNotAccessibleError

原因:

アーティファクトで参照されているステージにアクセスできません。

解決策:

ステージへのアクセス権を付与するか、ステージが存在することを確認してください。


 

エラー:

CodeSpecArtifactNotFoundAtStageError

原因:

指定したステージパスでファイルが見つかりません。

解決策:

登録する前に、ファイルをステージにアップロードしてください。


 

エラー:

StageDirectoryNotEnabledError

原因:

ステージでDIRECTORYが有効になっていません。

解決策:

ステージでディレクトリを有効にしてください。ALTER STAGE ... SET DIRECTORY = (ENABLE = TRUE)


 

エラー:

CodeSpecNotFoundForOwnerException

原因:

テンプレートが未登録のコードバンドル仕様を参照しています。

解決策:

テンプレートを登録する前に、コードバンドル仕様を登録してください。