Amazon.S3.AmazonS3Client.PutBucketPolicyAsync C# (CSharp) Метод

PutBucketPolicyAsync() публичный Метод

Initiates the asynchronous execution of the PutBucketPolicy operation.
public PutBucketPolicyAsync ( PutBucketPolicyRequest request, System cancellationToken = default(CancellationToken) ) : Task
request PutBucketPolicyRequest Container for the necessary parameters to execute the PutBucketPolicy operation.
cancellationToken System /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. ///
Результат Task
        public Task<PutBucketPolicyResponse> PutBucketPolicyAsync(PutBucketPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var marshaller = new PutBucketPolicyRequestMarshaller();
            var unmarshaller = PutBucketPolicyResponseUnmarshaller.Instance;

            return InvokeAsync<PutBucketPolicyRequest,PutBucketPolicyResponse>(request, marshaller, 
                unmarshaller, cancellationToken);
        }

Same methods

AmazonS3Client::PutBucketPolicyAsync ( string bucketName, string policy, System cancellationToken = default(CancellationToken) ) : Task
AmazonS3Client::PutBucketPolicyAsync ( string bucketName, string policy, string contentMD5, System cancellationToken = default(CancellationToken) ) : Task
AmazonS3Client::PutBucketPolicyAsync ( PutBucketPolicyRequest request, PutBucketPolicyResponse>.AmazonServiceCallback callback, AsyncOptions options = null ) : void
AmazonS3Client::PutBucketPolicyAsync ( string bucketName, string policy, PutBucketPolicyResponse>.AmazonServiceCallback callback, AsyncOptions options = null ) : void
AmazonS3Client::PutBucketPolicyAsync ( string bucketName, string policy, string contentMD5, PutBucketPolicyResponse>.AmazonServiceCallback callback, AsyncOptions options = null ) : void

Usage Example

        private async Task CreateCloudFrontBucket(string bucketName)
        {
            using (
                var client = new AmazonS3Client(cfConfigurationProvider.AccessKey, cfConfigurationProvider.SecretKey,
                    cfConfigurationProvider.RegionEndpoint))
            {
                await client.PutBucketAsync(bucketName);
                await
                    client.PutCORSConfigurationAsync(bucketName,
                        new CORSConfiguration
                        {
                            Rules =
                            {
                                new CORSRule
                                {
                                    AllowedHeaders = {"Authorization"},
                                    AllowedMethods = {"GET"},
                                    AllowedOrigins = {"*"},
                                    MaxAgeSeconds = 3000
                                }
                            }
                        });

                var policy = new BucketPolicy
                {
                    Version = "2012-10-17",
                    Statement =
                        new Statement
                        {
                            Sid = "AddPerm",
                            Effect = "Allow",
                            Principal = "*",
                            Action = "s3:GetObject",
                            Resource = $"arn:aws:s3:::{bucketName}/*"
                        }
                };
                await client.PutBucketPolicyAsync(bucketName, JsonConvert.SerializeObject(policy));
            }
        }
AmazonS3Client