Cleaning a bucket with purge_s3_path with Glue console.

0

With the Glue Console (Glue 3.0 - python and spark), I'm need to overwrite the data of an S3 bucket in a automated daily process. I tried with the glueContext.purge_s3_path( "s3://bucket-to-clean-path/", { "retentionPeriod": 1, "manifestFilePath": "s3://bucket-for-manifest-path/" } ) function, but it is not cleaning the bucket before sending the data.

The idea is to create a process to transform some data, send it to the bucket, sent it to QS throught a manifest and repeat the process daily. All the script works as it should, it is just that the bucket keeps the data from the previous runs.

Does someone knows what could be causing this problem?

Edit: I tried changing the retention period to one hour (several hours after the data was upload), but it still doesn't remove the files. If I remove the script non relate with emptying the bucket, the job allways takes one minute.

In the manifest appears a partition in success and another in failure, but none of them are from the files that should be removed. Example of the partition: run-1639727067782-part-r-00000

  • The problem was due to lack of permissions for deleting objets in the role created for the jobs. Once revised the roles permissions, the query worked correctly

  • Sorry to revive this old thread. Could you help me know how did you setup the permission?

    Thanks a lot, Haoran

2回答
0
承認された回答

Under options there are two parms. One is retention period and the other is manifest file. The retention period is 7 days by default and manifest file path might show what files are deleted successfully and which ones failed. Hope that helps. https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-pyspark-extensions-glue-context.html

回答済み 2年前
  • Thank you for your help, it gave me a hint of should I look. Unfortunatelly, I wasn't able to fix it yet. It seems like none of the files appears in the manifest folder, just some partitions that I'm not sure of what they represent.

0

Hopefully you worked this out at the time, but I just also hit this issue. It appears you have to over-right the retention period set to 0 to delete immediately.

glueContext.purge_s3_path("s3://my_bucket/path_to_purge/", options={"retentionPeriod": 0}, transformation_ctx="")
Dcoder
回答済み 1年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ