使用 .NET Core 2.0 使用 "AmazonSQSClient" 访问 SQS 队列而不使用 AccessKey 和 SecretKey

access SQS queue using "AmazonSQSClient" without using AcccessKey and SecretKey using .NET Core 2.0

我们如何在不使用 AccessKey 和 SecretKey 的情况下使用 "AmazonSQSClient" 访问 SQS 队列?是否有任何选项或代码示例使用 Role 而不是 AccessKey 和 SecretKey。我们正在尝试在我们的 AWS 环境中访问 SQS 队列,其中 Lambda 已分配角色,谁可以访问 SQS,我们不允许使用 AccessKey 和 SecretKey。如何做到这一点?任何想法>

我正在使用 Lambda 函数和 AWSSDK.SQS Nuget 包与 AWS SQS 队列一起发送、读取和删除消息。

因此,如果您的 lambda 函数 运行 使用具有访问权限(读取、写入、删除 = 完整)的 IAM 角色,则无需提供 AccessKey 和 SecretKey 即可访问 sqs 队列。我最近在我的项目中做到了这一点。

https://ramanisandeep.wordpress.com/2018/03/10/amazon-simple-queue-service-sqs/

注意:如果您 运行 在受限环境中使用 Lambda 函数,则需要使用 ProxyHost 和 ProxyPort。

_sqsConfig = new AmazonSQSConfig
        {
            ProxyHost = proxyHost,
            ProxyPort = proxyPort,
            ServiceURL = queueUrl,
            RegionEndpoint = RegionEndpoint.USEast1
        };