如何使用AWS CLI将远程文件传输到S3存储桶?

时间:2016-07-19 14:24:33

标签: amazon-web-services amazon-s3 scp

我尝试按照https://stackoverflow.com/a/18136205/6608952提供的建议,但不确定如何在远程服务器上的.pem文件中共享myAmazonKeypair路径。

body

使用此显示几分钟后命令完成:

  

var postId=0; var postBodyElement=null; $('.post').find('.interaction').find('.edit').on('click',function(event){ event.preventDefault(); postBodyElement=event.target.parentNode.parentNode.childNodes[1]; var postBody=postBodyElement.textContent; postId=event.target.parentNode.parentNode.dataset['postid']; $('#post-body').val(postBody); $('#edit-modal').modal(); }); $('#modal-save').on('click',function() { $.ajax( { method : 'POST', url : urlEdit, data: {body: $('#post-body').val(), state: $('#post-state').val(), problem_domain: $('#post-problem_domain').val(), postId: postId, _token: token} }) .done(function(msg) { $(postBodyElement).text(msg['new_body']); $('#edit-modal').modal('hide'); }); } );
     dgtc2.Binding = new Binding(@"ResourceDic2[Name_100].Name");
     scp -i yourAmazonKeypairPath.pem fileNameThatYouWantToTransfer.php ec2-user@ec2-00-000-000-15.us-west-2.compute.amazonaws.com:
     ssh: connect to host

我要传输几个非常大的文件,并且不希望将文件下载到本地计算机,然后将它们重新上传到S3存储桶。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

没有直接的方法可以从远程位置将文件上传到S3。即URL

为实现这一目标,您有两种选择:

  1. 在本地计算机上下载文件,然后通过 AWS控制台 AWS CLI 上传。
  2. 在AWS EC2实例中下载文件,并通过 AWS CLI 上传到S3。
  3. 第一种方法非常简单,不需要太多解释。

    但对于第二种方法,您需要这样做:

    1. Create an EC2 Instance与S3 Bucket位于同一区域。或者,如果您已有实例,则登录/ ssh到它。
    2. Download the file从源到EC2实例。通过wgetcurl,以舒适为准。
    3. EC2实例上的
    4. Install AWS CLI
    5. 您的S3 Bucket是
    6. Create IAM UserGrant him Permission
    7. Configure your AWS CLI与您的IAM凭证。
    8. 使用AWS CLI S3 CP Utility将文件上传到S3 Bucket。
    9. 终止实例,如果仅为此设置实例