1

.NET SDK を使用して Amazon S3 にファイルをアップロードしようとしています。アップロードは正常に機能しますが、アップロードされたファイルにデフォルトのアクセス許可(「プライベート」) が適用されています。

アップロードされたファイルのアクセス許可を「BucketOwnerFullControl」に設定してください。

以下は私のコードです。そのように機能させるために何をする必要があるのか​​ よくわかりません。

    static string accessKeyID = "";
    static string secretAccessKey = "";
    static string existingBucketName = "bucket";

    static void Main(string[] args)
    {
        NameValueCollection appConfig = ConfigurationManager.AppSettings;
        accessKeyID = appConfig["accesskey"];
        secretAccessKey = appConfig["secretkey"];

        string[] files = Directory.GetFiles("C:\\amazontestdirectory");

            foreach (string fileName in files)
            {
                try
                {
                    TransferUtility fileTransferUtility = new TransferUtility(accessKeyID, secretAccessKey);

                    // Upload a file, file name is used as the object key name.
                    fileTransferUtility.Upload(fileName, existingBucketName);
                }
                catch (AmazonS3Exception s3Exception)
                {
                    Console.WriteLine("AWS error: " + s3Exception.Message, s3Exception.InnerException);

                    //Open a file for writing
                    string errorOutputFileName = System.IO.Path.GetFullPath("C:\\amazontestdirectory\\logs\\errorLog.txt");

                    //Get a StreamWriter class that can be used to write to the file
                    if (File.Exists(errorOutputFileName))
                    {
                        StreamWriter objStreamWriter;
                        objStreamWriter = File.AppendText(errorOutputFileName);
                        objStreamWriter.WriteLine();
                        objStreamWriter.WriteLine(DateTime.Now.ToString() + " - AWS error: " + s3Exception.Message, s3Exception.InnerException);

                        //Close the stream
                        objStreamWriter.Close();
                    }
                }
            }
        }
4

1 に答える 1