使用 REST API 的 AWS S3 PUT 示例



AWS S3 PUT REST API 文档缺少请求语法中Authorization string的明显示例。

Request Syntax
PUT /Key+ HTTP/1.1
Host: Bucket.s3.amazonaws.com
x-amz-acl: ACL
Cache-Control: CacheControl
Content-Disposition: ContentDisposition
Content-Encoding: ContentEncoding
Content-Language: ContentLanguage
Content-Length: ContentLength
Content-MD5: ContentMD5
Content-Type: ContentType
Expires: Expires
x-amz-grant-full-control: GrantFullControl
x-amz-grant-read: GrantRead
x-amz-grant-read-acp: GrantReadACP
x-amz-grant-write-acp: GrantWriteACP
x-amz-server-side-encryption: ServerSideEncryption
x-amz-storage-class: StorageClass
x-amz-website-redirect-location: WebsiteRedirectLocation
x-amz-server-side-encryption-customer-algorithm: SSECustomerAlgorithm
x-amz-server-side-encryption-customer-key: SSECustomerKey
x-amz-server-side-encryption-customer-key-MD5: SSECustomerKeyMD5
x-amz-server-side-encryption-aws-kms-key-id: SSEKMSKeyId
x-amz-server-side-encryption-context: SSEKMSEncryptionContext
x-amz-request-payer: RequestPayer
x-amz-tagging: Tagging
x-amz-object-lock-mode: ObjectLockMode
x-amz-object-lock-retain-until-date: ObjectLockRetainUntilDate
x-amz-object-lock-legal-hold: ObjectLockLegalHoldStatus
Body

文档进一步显示了此请求示例...


PUT /my-image.jpg HTTP/1.1
Host: myBucket.s3.<Region>.amazonaws.com
Date: Wed, 12 Oct 2009 17:50:00 GMT
Authorization: authorization string
Content-Type: text/plain
Content-Length: 11434
x-amz-meta-author: Janet
Expect: 100-continue
[11434 bytes of object data]

但同样,该文档没有身份验证字符串的示例格式。我试过AccessKeyIDSecret但没有用。我什至没有在请求语法中看到逻辑参数,以便在示例中的任何地方传递凭据的两个部分(AccessKeyID 和 Secret(!

有没有人有一个简单的例子来说明如何使用 PUT 使用 REST API 将 .json 文件添加到 S3?最好是PostMan设置的屏幕截图,以更好地解释值的去向(在URL中与作为标题(。

从此处的 AWS 文档中可以看出,仅使用 REST API 似乎无法创建对 S3 存储桶的 PUT 请求:

For authenticated requests, unless you are using the AWS SDKs, you have to write code to calculate signatures that provide authentication information in your requests.

这对我来说是一个新概念。我之前在通过 REST API 进行身份验证时使用过令牌请求并在标头中发送密钥。这听起来像是一种更安全的身份验证方法。

最新更新