6

現在、MySQL エンジンを使用して AWS Aurora Serverless から AWS S3 に .csv ファイルをエクスポートしようとしています。これは、インスタンスでバックアップされた Aurora を使用している場合は完全に機能しますが、サーバーレスでは機能しません。ドキュメントに書かれているように S3 の IAM ポリシーを設定し、S3 と RDS へのフル アクセスを持つ IAM ユーザーを作成しました。サーバーレスが使用しているパラメーターグループには、LOAD DATA FROM S3 および SELECT INTO OUTFILE S3 フィールドに IAM ユーザーの ARN があります。

S3にエクスポートするために使用しているコード:

SELECT * FROM TABLE WHERE ID = '6838' INTO OUTFILE S3 's3://bucketname/file.csv';

ここのドキュメントを読みました: https://docs.aws.amazon.com/de_de/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.SaveIntoS3.html

エラーメッセージ:Access denied; you need (at least one of) the SELECT INTO S3 privilege(s) for this operation

Aurora サーバーレスは、Aurora with Instances と同じくらいスムーズにロードされると思います。インスタンスを使用する Aurora は、サーバーレス用に作成された IAM ユーザーを使用しており、正常に動作しています。

編集: AWS Aurora Serverless は、S3 との間の IMPORT または EXPORT をサポートしていないようです。( https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations )

4

3 に答える 3

1

このステップを完了しましたか (非マスター DB アカウントからそのステートメントを発行していると仮定します):

SELECT INTO OUTFILE S3 ステートメントを発行するデータベース ユーザーには、ステートメントを発行するための SELECT INTO S3 権限が付与されている必要があります。DB クラスターのマスターユーザー名には、デフォルトで SELECT INTO S3 権限が付与されます。次のステートメントを使用して、別のユーザーに権限を付与できます。

GRANT SELECT INTO S3 ON *.* TO 'user'@'domain-or-ip-address'
于 2019-10-09T14:53:57.930 に答える