[英]Laravel Vapor: Queued SQS job uses wrong IAM user in the AWS SDK
我有一個 Laravel 應用程序,它通過 Laravel Vapor 在 SQS 上運行排隊的作業。 作業必須連接到多個 AWS 服務(Vapor 自身范圍之外的服務)。
我在此處使用基於 Laravel 的 SDK 說明發布了自定義 AWS 配置。 我使用它配置的 IAM 用戶具有訪問我需要的服務的正確權限。 在我的本地機器上同步運行時,作業成功。
但是,當作業通過 Vapor 在 SQS 上運行時,我收到一條錯誤消息,指出laravel-vapor-role
對我的其他 AWS 服務沒有權限。
由於我使用的是 Laravel 的 AWS-PHP-SDK,所以 Vapor 會覆蓋我在config/aws.php
設置嗎? 作為記錄,我像這樣實例化了一個 AWS 客戶端:
$client = app()->make('aws')->createClient('service name');
是的, 根據蒸氣文檔,有一個可能存在沖突的保留環境變量列表(其中許多用於 AWS):
_HANDLER
AWS_ACCESS_KEY_ID
AWS_DEFAULT_REGION
AWS_EXECUTION_ENV
AWS_LAMBDA_FUNCTION_MEMORY_SIZE
AWS_LAMBDA_FUNCTION_NAME
AWS_LAMBDA_FUNCTION_VERSION
AWS_LAMBDA_LOG_GROUP_NAME
AWS_LAMBDA_LOG_STREAM_NAME
AWS_LAMBDA_RUNTIME_API
AWS_REGION
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
LAMBDA_RUNTIME_DIR
LAMBDA_TASK_ROOT
TZ
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.