gpt4 book ai didi

python - 如何使用 Boto3 凭据发出 AWS AWIS UrlInfo api 请求

转载 作者:太空宇宙 更新时间:2023-11-04 04:06:53 27 4
gpt4 key购买 nike

我能够使用 Boto3 进行身份验证并连接到 AWSQueryConnection,但是每当我尝试使用“UrlInfo”方法获取有关 URL 的信息时,我都会收到一个没有数据的 204 响应。

import boto
from boto.connection import AWSQueryConnection

conn = AWSQueryConnection(aws_access_key_id='', aws_secret_access_key='', host='awis.amazonaws.com')

response = conn.make_request('UrlInfo', params={
'Url' : 'http://reddit.com',
'ResponseGroup': 'LinksInCount'
})

print(response.status)

我使用这个模块的方式有什么问题吗?

最佳答案

我最近在做类似的事情,这是我使用 aws-requests-auth 得到的代码,它内置了对 boto3 的支持:

(注意主机、区域和引用方法安全参数)

import requests
from aws_requests_auth.boto_utils import BotoAWSRequestsAuth

auth = BotoAWSRequestsAuth(
aws_host='awis.us-west-1.amazonaws.com',
aws_region='us-west-1',
aws_service='awis'
)

url = 'https://awis.us-west-1.amazonaws.com/api'
query_params = quote(
'Action=UrlInfo&ResponseGroup=LinksInCount&Url=google.com',
safe = '/-_.~=&'
)

response = requests.get(url + '?' + query_params, auth=auth)
print(response.content)

如果你喜欢在没有任何第 3 方库的情况下这样做,你总是可以这样做:

from boto3.session import Session

aws_credentials = Session().get_credentials()
print(aws_credentials.access_key)
print(aws_credentials.secret_key)

然后按照 AWIS Documentation - Calculating Signatures 中描述的完整有趣的签名过程进行.

关于python - 如何使用 Boto3 凭据发出 AWS AWIS UrlInfo api 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57148743/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com