GetObject 和 GetObjectRequest 都是 Amazon S3 API 的方法。它们的区别在于,GetObject 直接从 S3 桶中获取一个对象,而 GetObjectRequest 可以让开发者根据需要构建一个请求对象,并在执行请求前检查和修改请求参数。
以下是一个使用 GetObject 的 Python 代码示例:
import boto3
s3 = boto3.client('s3')
response = s3.get_object(Bucket='mybucket', Key='file.txt')
content = response['Body'].read().decode('utf-8')
print(content)
上面的代码从名为 mybucket 的存储桶中获取了文件 file.txt,并将其内容显示到控制台上。
下面是一个使用 GetObjectRequest 的示例。我们可以使用 request.add_header() 方法添加 HTTP header。这通常用于指定授权令牌或其他安全凭据。
import boto3
s3 = boto3.client('s3')
request = s3.get_object_request(Bucket='mybucket', Key='file.txt')
request.add_header('Authorization', 'Bearer mytoken123')
response = request.send()
content = response['Body'].read().decode('utf-8')
print(content)
上面的代码使用 GetObjectRequest 获取文件 file.txt,并为请求添加了一个名为 Authorization 的 HTTP header。这个 header 包含了 Bearer 认证令牌 mytoken123。