boto3 添加 unix 凭据,urllib2/3
boto3 add unix credentials, urllib2/3
我们可以将 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 获取消息。
没有。不可能。从您的代码来看,凭证似乎存储在 root 用户的目录下,没有 sudo 权限的用户无法访问该目录。这是一个 Linux 问题,与 Boto3 无关。
想办法让用户访问 aws 凭据。就像对凭据文件具有读取权限的软 link。
我们可以将 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 获取消息。
没有。不可能。从您的代码来看,凭证似乎存储在 root 用户的目录下,没有 sudo 权限的用户无法访问该目录。这是一个 Linux 问题,与 Boto3 无关。
想办法让用户访问 aws 凭据。就像对凭据文件具有读取权限的软 link。