我有一个Laravel应用程序,它通过Laravel Vapor在SQS上运行排队作业。作业必须连接到多个AWS服务(Vapor自身范围之外的服务)。
我已经使用the Laravel-based SDK instructions here发布了一个自定义的亚马逊网络服务配置。我使用它配置的IAM用户具有访问所需服务的正确权限。当在我的本地计算机上同步运行时,该作业成功。
然而,当作业通过Vapor在SQS上运行时,我得到一个错误,说laravel-vapor-role没有权限访问我的其他亚马逊网络服务。
既然我使用的是Laravel的AWS-PHP-SDK,那么Vapor会覆盖我在config/aws.php中的设置吗?作为记录,我实例化了一个AWS客户端,如下所示:
$client = app()->make('aws')->createClient('service name');发布于 2021-09-20 18:31:41
是的,according to the vapor docs there is a list of reserved environment variables (其中许多是针对亚马逊网络服务的)可能是相互冲突的:
_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
TZhttps://stackoverflow.com/questions/64651508
复制相似问题