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 年前檢視次數 5370 次
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 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南