【问题标题】:boto3 add unix credentials, urllib2/3boto3 添加 unix 凭据,urllib2/3
【发布时间】:2017-12-06 10:29:37
【问题描述】:

我们可以将 unix 用户凭据添加到 SQS 客户端吗?

情况: 我在 Unix 系统中有一个用户(没有 'sudo'/root 权限)。而且这个 Unix 用户的权限不允许我连接到amazonaws.com

我可以将这个 Unix 用户的用户名和密码传递给 boto3 客户端 (SQS) 吗?

或者,我们可以在 urllib2/3 中传递 boto3 客户端接收消息对象吗?

我已经尝试过的:

import boto3

# Create SQS client
sqs = boto3.client('sqs',region_name='eu-west-1')

queue_url='https://sqs.eu-west-1.amazonaws.com/XXXX'

# Receive message from SQS queue
response = sqs.receive_message(
    QueueUrl=queue_url,
    AttributeNames=[
        'SentTimestamp'
    ],
    MaxNumberOfMessages=10,
    MessageAttributeNames=[
        'All'
    ],
    VisibilityTimeout=0,
    WaitTimeSeconds=0
)
  • 我可以使用 urllib2 访问任何 URL 来抓取它。而且我可以在执行此操作时传递 Unix 凭据。

  • 作为 root 用户,我可以使用上面代码中提到的 boto3 从 amazonSQS 获取消息。

【问题讨论】:

    标签: python amazon-web-services urllib2 boto3 urllib3


    【解决方案1】:

    没有。不可能。从您的代码看来,凭据存储在 root 用户的目录下,没有 sudo 权限的用户无法访问该目录。这是 Linux 问题,与 Boto3 无关。

    找到让用户访问 aws 凭据的方法。就像对凭据文件具有读取权限的软链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-22
      • 2010-12-21
      • 1970-01-01
      • 2016-01-22
      • 2017-08-21
      • 2018-02-09
      相关资源
      最近更新 更多