Menu

Friday, May 17, 2019

[Laravel - AWS] วิธีการตั้งค่า timeout สำหรับ InstanceProfileProvider ของ AWS PHP SDK
[Laravel - AWS] How to Set Timeout for InstanceProfileProvider of AWS PHP SDK

InstanceProfileProvider เป็น credential provider ที่ใช้ credentials จาก EC2 metadata server

สำหรับข้อมูลของ EC2 metadata server อ่านได้ที่ https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

ใน InstanceProfileProvider class ของ aws-php-sdk library เราจะพบ constructor ตามภาพด้านล่าง


เราจะพบตัวแปร $config['timeout'] แต่เราจะตั้งค่ามันยังไง!!!

เราสามารถตั้งค่าของ $config['timeout'] ได้ในแต่ละไฟล์ config ที่สัมพันธ์กับ AWS clients นั้นๆ เช่น S3 และ SQS เป็นต้น

สำหรับ S3 ให้เปิดไฟล์ filesystem.php ใน folder config แล้วเพิ่มบรรทัด timeout ในส่วนของ s3 ตามภาพด้านล่าง


สำหรับ SQS ให้เปิดไฟล์ queue.php ใน folder config แล้วเพิ่มบรรทัด timeout ในส่วนของ sqs ตามภาพด้านล่าง


หมายเหตุ: เราแนะนำให้ตั้งค่า timeout ไว้ในไฟล์ .env แล้วให้ไฟล์ config ไปเรียกค่ามาใช้แทนการ hard code ไว้แบบนี้

No comments:

Post a Comment