Ken*_*n G 5 amazon-s3 bucket amazon-web-services
[AWS s3未定义0.006s 0重试] headObject({Bucket:'mypicturebank',Key:'testing'})创建相册时出错:TypeError [ERR_INVALID_ARG_TYPE]:“ key”参数必须是字符串类型之一, TypedArray或DataView。接收类型未定义
@Ken G我不确定你正在使用什么语言或框架,尽管我The "key" argument must be one of type string, TypedArray, or DataView. Received type undefined刚才遇到了类似的错误消息。
就我而言,对于其他偶然发现此问题的人来说,这是因为我提供了从 AWS STS.assumeRole返回的PascalCase AWS 凭证,我需要在其中提供驼峰式AWS 凭证密钥:
import AWS from 'aws-sdk'
# Bad
const s3 = new AWS.S3({
credentials: {
AccessKeyId: process.env.AWS_ACCESS_KEY,
SecretAccessKey: process.env.AWS_SECRET_KEY,
},
...
})
# Good
const s3 = new AWS.S3({
credentials: {
accessKeyId: process.env.AWS_ACCESS_KEY,
secretAccessKey: process.env.AWS_SECRET_KEY,
},
...
})
Run Code Online (Sandbox Code Playgroud)
我在 macOS 上使用适用于 JavaScript 的 aws-sdk和 Node v10.16.2,目标是使用s3.createPresignedPost。
可能相关,在运行节点 10.x 的 AWS Lambda 实例上,我看到相同代码的不同错误消息:Key must be a buffer。
| 归档时间: |
|
| 查看次数: |
416 次 |
| 最近记录: |