4

我正在使用 python 在 aws s3 上生成预签名的 url。生成它会在 url 中显示我的访问密钥。如何通过显示我的访问密钥生成 url?

https://console.wasabisys.com/testing-usman/?AWSAccessKeyId=

这是我正在使用的代码:

s3 = boto3.client('s3',
endpoint_url = 'https://console.wasabisys.com',
aws_access_key_id = '<4XR7DSJX1MYFYXETUGBA>',
aws_secret_access_key = '<8aD49ac2cJsuWr7crjRTAN0jqH4JzyV6uQwhJyw1>')

url = s3.generate_presigned_url(
ClientMethod='get_object',
Params={
    'Bucket': 'testing-usman',
    'Key': '.'  

   }
)
print(url)

我需要 url 而不显示我的访问密钥。

4

1 回答 1

0

您需要向 aws 提供凭据,因此为了看起来不那么明确,您可以向 boto3 客户端添加一个配置:

from botocore.client import Config

s3 = boto3.client('s3',
config=Config(signature_version='s3v4'),
endpoint_url = 'https://console.wasabisys.com',
aws_access_key_id = '<4XR7DSJX1MYFYXETUGBA>',
aws_secret_access_key = '<8aD49ac2cJsuWr7crjRTAN0jqH4JzyV6uQwhJyw1>')
于 2020-01-30T16:03:35.447 回答