Last updated
Was this helpful?
Last updated
Was this helpful?
Bucket ที่เป็นต้นทาง และ ปลายทาง หากต้องการย้าย Object ข้าม Bucket ()
Sub-User ที่มีสิทธิ์การเข้าถึง Bucket ต้นทาง และ ปลายทาง ()
Python Version ตั้งแต่ 3.8 ขึ้นไป
ทำการติดตั้ง Python library boto3
ใส่ config สำหรับการเข้าใช้งาน s3 bucket ที่ path ~/.aws/credentials โดยใส่ข้อมูลดังนี้
endpoint_url -> endpoint สำหรับใช้งาน s3 bucket โดยจะขึ้นอยู่กับ bucket ที่สร้างนั้นอยู่ Availability Zone ใด หากเป็น NCP-BKK ให้ใส่เป็น https://s3-bkk.nipa.cloud หากเป็น NCP-NON ให้ใส่เป็น https://s3-non.nipa.cloud
region -> ให้ใส่เป็น NCP-TH
aws_access_key_id -> เป็น access key ที่ได้จากการสร้าง Sub-User
aws_secret_access_key -> เป็น secret access key ที่ได้จากการสร้าง Sub-User
ทำการสร้างไฟล์ script สำหรับการย้าย object โดยข้อมูลที่ต้องแก้ไขมีดังนี้
SOURCE_BUCKET -> Bucket ต้นทางที่ต้องการใช้งาน policy
DESTINATION_BUCKET -> Bucket ปลายทางที่ต้องการใช้งาน policy (หากต้องการเพียงย้ายที่อยู่ไฟล์ภายใน Bucket เดียวกัน ให้ใส่เป็นข้อมูลเดียวกันกับ SOURCE_BUCKET)
SOURCE_PATH -> path ของ folder ของ bucket ต้นทางที่ซึ่งภายในมี object ที่ต้องการใช้งาน policy
DESTINATION_PATH -> path ของ folder ที่อยู่บน bucket ปลายทางที่ต้องการย้าย object ไป
ฟังก์ชัน timedelta() ในบรรทัดที่ 19 -> ระยะเวลาของ policy ที่ต้องการให้ย้าย object เมื่อเวลาผ่านไปตามที่กำหนด โดยสามารถเลือกใส่ parameter ได้ดังนี้, days, seconds, microseconds, milliseconds, minutes, hours, weeks
การใช้งาน crontab สำหรับ OS Ubuntu เพื่อให้มีการเรียกใช้งาน script อย่างสม่ำเสมอ โดยสามารถเรียกใช้งาน crontab ด้วยคำสั่ง crontab -e แล้วใส่ข้อมูลดังนี้
ช่วงเวลาที่จะให้ run script โดยมี format คือ minute hour day(month) month day(week)
script ที่ต้องการให้ run โดยจะใส่เป็น python <ที่อยู่ไฟล์>
หากผู้ใช้งานต้องการย้ายที่อยู่ของ object เมื่อเวลาผ่านไปตามระยะเวลาที่กำหนด ผู้ใช้สามารถทำได้ผ่าน python script โดยใช้งาน library boto3 และ crontab เพื่อให้มีการเรียกใช้งาน script ได้อย่างสม่ำเสมอ