amazon-web-services - 当路径不存在且用户无权访问列表对象时,WinSCP 放入 S3 存储桶“文件夹”
问题描述
使用 WinSCP 客户端,如何将 CSV 文件加载到具有以下条件的 S3 存储桶:
- 我拥有的唯一 S3 访问权限是在此示例路径中放置一个对象:s3://my_bucket/folder1/folder2
- 除非我加载文件,否则此逻辑目录不存在 - 当我上传文件时,会触发 Lambda 函数以移动新上传的文件。所以这个目录只在 putobject 上“存在”一瞬间。
我正在尝试像这样构建一个 WinSCP 脚本:
open s3://[my_id]:[my_key]@s3.amazonaws.com -rawsettings S3DefaultRegion="[my_region]"
put "[source_dir]/file1.csv" /[my_bucket]/[folder1]/[folder2]/
put "[source_dir]/file2.csv" /[my_bucket]/[folder1]/[folder2]/
exit
但这会返回一个错误:
Connecting to host...
Access denied.
Access Denied
Connection failed.
我更新了 open 语句以包含存储桶/前缀
open s3://[my_id]:[my_key]@s3.amazonaws.com/[my_bucket]/[folder1]/[folder2] -rawsettings S3DefaultRegion="[my_region]"
并得到这个错误:
Connecting to host...
File or folder '[my_bucket]/[folder1]/[folder2]' does not exist.
Connection failed.
我只是想将文件加载到[my_bucket]/[folder1]/[folder2]
与此 AWS CLI 脚本相同的位置,该脚本可以正常工作:
aws s3 cp [source_dir]/file1.csv s3://[my_bucket]/[folder1]/[folder2]
aws s3 cp [source_dir]/file2.csv s3://[my_bucket]/[folder1]/[folder2]
解决方案
推荐阅读
- shiny - 使用 `pickerInput` 大小选项提高应用程序速度
- gradle - 如何修复“在以下任何来源中都找不到插件”
- javascript - 动态快照测试
- c++ - 在模板类中为纯虚函数提供默认实现
- android - 多个dex文件定义Lcom/android/volley/Request$Method
- javascript - 如何根据选择正确包装 JSX 元素并显示 JSON
- git - 当我更改我的模拟器版本时构建失败
- python - 如何使用 xampp 执行 python 烧瓶 Web 应用程序?
- ruby-on-rails - Rails - 如何搜索有很多关系
- sql - 仅使用 ldf 文件创建数据库创建了 2 个 .ldf 文件