Amazon.CloudFront.AmazonCloudFrontClient.CreateInvalidation C# (CSharp) Метод

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

Create a new invalidation.
/// Access denied. /// /// /// /// The value of Quantity and the size of Items do not match. /// /// The argument is invalid. /// /// This operation requires a body. Ensure that the body is present and the Content-Type /// header is set. /// /// The specified distribution does not exist. /// /// You have exceeded the maximum number of allowable InProgress invalidation batch requests, /// or invalidation objects. ///
public CreateInvalidation ( CreateInvalidationRequest request ) : CreateInvalidationResponse
request Amazon.CloudFront.Model.CreateInvalidationRequest Container for the necessary parameters to execute the CreateInvalidation service method.
Результат Amazon.CloudFront.Model.CreateInvalidationResponse
        public CreateInvalidationResponse CreateInvalidation(CreateInvalidationRequest request)
        {
            var marshaller = new CreateInvalidationRequestMarshaller();
            var unmarshaller = CreateInvalidationResponseUnmarshaller.Instance;

            return Invoke<CreateInvalidationRequest,CreateInvalidationResponse>(request, marshaller, unmarshaller);
        }

Usage Example

Пример #1
-1
        static void Main()
        {
            var distributionId = "E24L1FD4ZU4BTF";//"EJCDLYDTUKDBE";
            var client = new AmazonCloudFrontClient();
            var batch = new InvalidationBatch()
                    .WithCallerReference(Guid.NewGuid().ToString())
                    .WithPaths(new Paths()
                        .WithQuantity(1)
                        .WithItems("/account/logon"));

            var request = new CreateInvalidationRequest()
                .WithDistributionId(distributionId)
                .WithInvalidationBatch(batch);

            var response = client.CreateInvalidation(request);
            var invalidationId = response.CreateInvalidationResult.Invalidation.Id;

            if (string.IsNullOrEmpty(invalidationId)) return;

            while (true) {
                var invalidationResponse = client.GetInvalidation(
                    new GetInvalidationRequest().WithDistributionId(distributionId).WithId(invalidationId));

                var status = invalidationResponse.GetInvalidationResult.Invalidation.Status;
                if (status != "InProgress") break;

                Console.WriteLine("Waiting 10secs before checking...");
                Thread.Sleep(10000);
            }

            Console.WriteLine("Invalidation complete!");
        }
AmazonCloudFrontClient