为啥我不能在 cmd 中设置环境变量。无法使用 azcopy 从 S3 复制
Posted
技术标签:
【中文标题】为啥我不能在 cmd 中设置环境变量。无法使用 azcopy 从 S3 复制【英文标题】:Why can't I set env vars in cmd. Unable to use azcopy to copy from S3为什么我不能在 cmd 中设置环境变量。无法使用 azcopy 从 S3 复制 【发布时间】:2021-12-02 20:56:24 【问题描述】:我需要将 3S 存储桶复制到 Azure blob 存储容器。我正在尝试使用 azcopy。但是它不起作用,因为我无法将所需的 AWS 密钥设置为环境变量。
我已遵循此指南:https://www.thomasmaurer.ch/2019/06/migrate-aws-s3-buckets-to-azure-blob-storage/
我设置了变量:
set AWS_ACCESS_KEY_ID=<my key>
set AWS_SECRET_ACCESS_KEY=<my secret>
然后我使用:
azcopy copy <my s3 bucket> <my blob container SAS> --recursive=true
它吐出这个:
INFO: Scanning...
failed to perform copy command due to error: AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables must be set before creating the S3 AccessKey credential
当我尝试 azcopy env 时,它显示没有为 aws 密钥设置任何内容并为秘密进行了编辑:
INFO: Name: AWS_ACCESS_KEY_ID
Current Value:
Description: The AWS access key ID for S3 source used in service to service copy.
INFO: Name: AWS_SECRET_ACCESS_KEY
Current Value: REDACTED
Description: The AWS secret access key for S3 source used in service to service copy.
一如既往地感谢任何帮助!
【问题讨论】:
【参考方案1】:解决方案是使用:
setx AWS_ACCESS_KEY_ID 设置 AWS_SECRET_ACCESS_KEY
重新启动的终端再次尝试 azcopy,它成功了!
【讨论】:
以上是关于为啥我不能在 cmd 中设置环境变量。无法使用 azcopy 从 S3 复制的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows .cmd 文件或批处理文件的路径中设置带有空格的路径变量