aws s3服务

S3基础知识

Amazon S3

Amazon S3 examples using AWS SDK for .NET

深挖AWS S3的权限管理(实验篇)

如何授予对 Amazon S3 存储桶中某些对象的公开读取访问权限

如何限制用户的控制台访问权限,访问某个特定的 Amazon S3 存储桶或文件夹

一文读懂 AWS S3

aws youtube官方视频教程:

Amazon Web Services

AWS S3 Access Denied when open object URL in browser

code example:将文件上传到s3指定文件夹下

 
        /// </summary>
        /// <param name="S3RegionEndpoint"></param>
        /// <param name="S3Accesskey"></param>
        /// <param name="S3Secretkey"></param>
        /// <param name="toUploadedFileFullPath"></param>
        /// <param name="S3Bucket"></param>
        /// <param name="folderName"></param>
        /// <returns></returns>
        public static async Task<string> UploadFileToAWSAmazonS3(string S3RegionEndpoint, string S3Accesskey,
          string S3Secretkey, string toUploadedFileFullPath, string S3Bucket, string folderName)
        {

            if (!string.IsNullOrEmpty(S3RegionEndpoint) && !string.IsNullOrEmpty(S3Accesskey)
                && !string.IsNullOrEmpty(S3Secretkey))
            {
                //jobLog.AppendDebugInfo($"User S3 start.");
                try
                {
                    var fieldInfo = typeof(RegionEndpoint).GetField(S3RegionEndpoint);
                    var region = (fieldInfo.GetValue(typeof(RegionEndpoint)) as RegionEndpoint);
                    var client = new AmazonS3Client(S3Accesskey, S3Secretkey, region);

                    var folder = folderName;
                  


                    /*
                     aws 文件夹:如果有就不创建,没有才创建,但是相同的文件名会被覆盖掉
                     */
                    var folderPutRequest = new PutObjectRequest
                    {
                        BucketName = S3Bucket,
                        Key = folder
                    };


                    PutObjectResponse folderResponse = await client.PutObjectAsync(folderPutRequest);
                    if (folderResponse.HttpStatusCode == System.Net.HttpStatusCode.OK && !string.IsNullOrEmpty(folderResponse.ETag))
                    {

                        var fielName = Path.GetFileName(toUploadedFileFullPath);
                        var putRequest = new PutObjectRequest
                        {
                            BucketName = S3Bucket,
                            Key = folder + "/" + fielName,
                            FilePath = toUploadedFileFullPath
                        };

                        PutObjectResponse response = await client.PutObjectAsync(putRequest);
                        string eTag = response.ETag;
                        if (!string.IsNullOrEmpty(eTag)) return eTag;


                    }

                }
                catch (AmazonS3Exception e)
                {
                    Console.WriteLine(
                            "Error encountered ***. Message:'{0}' when writing an object"
                            , e.Message);
                }
                catch (Exception ex)
                {
                   
                    Console.WriteLine(ex.Message);
                    Console.WriteLine(ex.StackTrace);


                }

                return null;

               
            }

            return null;
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值