クラウドストレージにあるcsvをmysqlデータベースに入力しようとしています
API Explorerを使用して、次のリクエスト本文でリクエストを実行しています。
{
"importContext": {
"csvImportOptions": {
"columns": [
"col1",
"col2",
"col3"
],
"table": "table_name"
},
"database": "db_name",
"fileType": "CSV",
"kind": "sql#importContext",
"uri": "gs://some_bucket/somecsv.csv"
}
}
実行ボタンを押すと、次の本文で200の応答を受け取ります
{
"kind": "sql#operation",
"selfLink": "https://www.googleapis.com/sql/v1beta4/projects/somelink",
"targetProject": "some-project",
"targetId": "some-tarjet",
"targetLink": "https://www.googleapis.com/sql/v1beta4/projects/somelink",
"name": "some-name",
"operationType": "IMPORT",
"status": "PENDING",
"user": "[email protected]",
"insertTime": "somedate",
"importContext": {
...
}
}
しかし、グーグルコンソールの詳細インスタンスページに行くと、このメッセージが表示されます:
gs:// link-to-csv:アカウント[email protected]のアクセスが拒否されました(許可の問題?)
csvがあるクラウドストレージにバケットを作成したのと同じアカウントで認証されています。これは、PythonSDKを使用しても発生します。
バケットからCloudSQLインスタンスにインポートしようとしていますが、インポートはサービスアカウント、特にサービスアカウントによって行われる予定です。これは、の詳細を確認しながら「サービスアカウント」セクションで確認できます。 CloudSQLインスタンス。
CloudSQLサービスアカウントに、インポートするデータを使用してCloudStorageバケットにアクセスするための適切な権限がない可能性があります。
SQLインスタンスとストレージバケット間で正常にインポートを作成するには、最初に適切な権限を設定する必要があります。サービスアカウント「oosyrcl32gnzypxg4uhqw54uab@speckle-umbrella-27.iam.gserviceaccount.com」にストレージオブジェクトビューアの役割を付与する必要があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加