1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package s3_test 4 5import ( 6 "fmt" 7 "strings" 8 "time" 9 10 "github.com/aws/aws-sdk-go/aws" 11 "github.com/aws/aws-sdk-go/aws/awserr" 12 "github.com/aws/aws-sdk-go/aws/session" 13 "github.com/aws/aws-sdk-go/service/s3" 14) 15 16var _ time.Duration 17var _ strings.Reader 18var _ aws.Config 19 20func parseTime(layout, value string) *time.Time { 21 t, err := time.Parse(layout, value) 22 if err != nil { 23 panic(err) 24 } 25 return &t 26} 27 28// To abort a multipart upload 29// 30// The following example aborts a multipart upload. 31func ExampleS3_AbortMultipartUpload_shared00() { 32 svc := s3.New(session.New()) 33 input := &s3.AbortMultipartUploadInput{ 34 Bucket: aws.String("examplebucket"), 35 Key: aws.String("bigobject"), 36 UploadId: aws.String("xadcOB_7YPBOJuoFiQ9cz4P3Pe6FIZwO4f7wN93uHsNBEw97pl5eNwzExg0LAT2dUN91cOmrEQHDsP3WA60CEg--"), 37 } 38 39 result, err := svc.AbortMultipartUpload(input) 40 if err != nil { 41 if aerr, ok := err.(awserr.Error); ok { 42 switch aerr.Code() { 43 case s3.ErrCodeNoSuchUpload: 44 fmt.Println(s3.ErrCodeNoSuchUpload, aerr.Error()) 45 default: 46 fmt.Println(aerr.Error()) 47 } 48 } else { 49 // Print the error, cast err to awserr.Error to get the Code and 50 // Message from an error. 51 fmt.Println(err.Error()) 52 } 53 return 54 } 55 56 fmt.Println(result) 57} 58 59// To complete multipart upload 60// 61// The following example completes a multipart upload. 62func ExampleS3_CompleteMultipartUpload_shared00() { 63 svc := s3.New(session.New()) 64 input := &s3.CompleteMultipartUploadInput{ 65 Bucket: aws.String("examplebucket"), 66 Key: aws.String("bigobject"), 67 MultipartUpload: &s3.CompletedMultipartUpload{ 68 Parts: []*s3.CompletedPart{ 69 { 70 ETag: aws.String("\"d8c2eafd90c266e19ab9dcacc479f8af\""), 71 PartNumber: aws.Int64(1), 72 }, 73 { 74 ETag: aws.String("\"d8c2eafd90c266e19ab9dcacc479f8af\""), 75 PartNumber: aws.Int64(2), 76 }, 77 }, 78 }, 79 UploadId: aws.String("7YPBOJuoFiQ9cz4P3Pe6FIZwO4f7wN93uHsNBEw97pl5eNwzExg0LAT2dUN91cOmrEQHDsP3WA60CEg--"), 80 } 81 82 result, err := svc.CompleteMultipartUpload(input) 83 if err != nil { 84 if aerr, ok := err.(awserr.Error); ok { 85 switch aerr.Code() { 86 default: 87 fmt.Println(aerr.Error()) 88 } 89 } else { 90 // Print the error, cast err to awserr.Error to get the Code and 91 // Message from an error. 92 fmt.Println(err.Error()) 93 } 94 return 95 } 96 97 fmt.Println(result) 98} 99 100// To copy an object 101// 102// The following example copies an object from one bucket to another. 103func ExampleS3_CopyObject_shared00() { 104 svc := s3.New(session.New()) 105 input := &s3.CopyObjectInput{ 106 Bucket: aws.String("destinationbucket"), 107 CopySource: aws.String("/sourcebucket/HappyFacejpg"), 108 Key: aws.String("HappyFaceCopyjpg"), 109 } 110 111 result, err := svc.CopyObject(input) 112 if err != nil { 113 if aerr, ok := err.(awserr.Error); ok { 114 switch aerr.Code() { 115 case s3.ErrCodeObjectNotInActiveTierError: 116 fmt.Println(s3.ErrCodeObjectNotInActiveTierError, aerr.Error()) 117 default: 118 fmt.Println(aerr.Error()) 119 } 120 } else { 121 // Print the error, cast err to awserr.Error to get the Code and 122 // Message from an error. 123 fmt.Println(err.Error()) 124 } 125 return 126 } 127 128 fmt.Println(result) 129} 130 131// To create a bucket in a specific region 132// 133// The following example creates a bucket. The request specifies an AWS region where 134// to create the bucket. 135func ExampleS3_CreateBucket_shared00() { 136 svc := s3.New(session.New()) 137 input := &s3.CreateBucketInput{ 138 Bucket: aws.String("examplebucket"), 139 CreateBucketConfiguration: &s3.CreateBucketConfiguration{ 140 LocationConstraint: aws.String("eu-west-1"), 141 }, 142 } 143 144 result, err := svc.CreateBucket(input) 145 if err != nil { 146 if aerr, ok := err.(awserr.Error); ok { 147 switch aerr.Code() { 148 case s3.ErrCodeBucketAlreadyExists: 149 fmt.Println(s3.ErrCodeBucketAlreadyExists, aerr.Error()) 150 case s3.ErrCodeBucketAlreadyOwnedByYou: 151 fmt.Println(s3.ErrCodeBucketAlreadyOwnedByYou, aerr.Error()) 152 default: 153 fmt.Println(aerr.Error()) 154 } 155 } else { 156 // Print the error, cast err to awserr.Error to get the Code and 157 // Message from an error. 158 fmt.Println(err.Error()) 159 } 160 return 161 } 162 163 fmt.Println(result) 164} 165 166// To create a bucket 167// 168// The following example creates a bucket. 169func ExampleS3_CreateBucket_shared01() { 170 svc := s3.New(session.New()) 171 input := &s3.CreateBucketInput{ 172 Bucket: aws.String("examplebucket"), 173 } 174 175 result, err := svc.CreateBucket(input) 176 if err != nil { 177 if aerr, ok := err.(awserr.Error); ok { 178 switch aerr.Code() { 179 case s3.ErrCodeBucketAlreadyExists: 180 fmt.Println(s3.ErrCodeBucketAlreadyExists, aerr.Error()) 181 case s3.ErrCodeBucketAlreadyOwnedByYou: 182 fmt.Println(s3.ErrCodeBucketAlreadyOwnedByYou, aerr.Error()) 183 default: 184 fmt.Println(aerr.Error()) 185 } 186 } else { 187 // Print the error, cast err to awserr.Error to get the Code and 188 // Message from an error. 189 fmt.Println(err.Error()) 190 } 191 return 192 } 193 194 fmt.Println(result) 195} 196 197// To initiate a multipart upload 198// 199// The following example initiates a multipart upload. 200func ExampleS3_CreateMultipartUpload_shared00() { 201 svc := s3.New(session.New()) 202 input := &s3.CreateMultipartUploadInput{ 203 Bucket: aws.String("examplebucket"), 204 Key: aws.String("largeobject"), 205 } 206 207 result, err := svc.CreateMultipartUpload(input) 208 if err != nil { 209 if aerr, ok := err.(awserr.Error); ok { 210 switch aerr.Code() { 211 default: 212 fmt.Println(aerr.Error()) 213 } 214 } else { 215 // Print the error, cast err to awserr.Error to get the Code and 216 // Message from an error. 217 fmt.Println(err.Error()) 218 } 219 return 220 } 221 222 fmt.Println(result) 223} 224 225// To delete a bucket 226// 227// The following example deletes the specified bucket. 228func ExampleS3_DeleteBucket_shared00() { 229 svc := s3.New(session.New()) 230 input := &s3.DeleteBucketInput{ 231 Bucket: aws.String("forrandall2"), 232 } 233 234 result, err := svc.DeleteBucket(input) 235 if err != nil { 236 if aerr, ok := err.(awserr.Error); ok { 237 switch aerr.Code() { 238 default: 239 fmt.Println(aerr.Error()) 240 } 241 } else { 242 // Print the error, cast err to awserr.Error to get the Code and 243 // Message from an error. 244 fmt.Println(err.Error()) 245 } 246 return 247 } 248 249 fmt.Println(result) 250} 251 252// To delete cors configuration on a bucket. 253// 254// The following example deletes CORS configuration on a bucket. 255func ExampleS3_DeleteBucketCors_shared00() { 256 svc := s3.New(session.New()) 257 input := &s3.DeleteBucketCorsInput{ 258 Bucket: aws.String("examplebucket"), 259 } 260 261 result, err := svc.DeleteBucketCors(input) 262 if err != nil { 263 if aerr, ok := err.(awserr.Error); ok { 264 switch aerr.Code() { 265 default: 266 fmt.Println(aerr.Error()) 267 } 268 } else { 269 // Print the error, cast err to awserr.Error to get the Code and 270 // Message from an error. 271 fmt.Println(err.Error()) 272 } 273 return 274 } 275 276 fmt.Println(result) 277} 278 279// To delete lifecycle configuration on a bucket. 280// 281// The following example deletes lifecycle configuration on a bucket. 282func ExampleS3_DeleteBucketLifecycle_shared00() { 283 svc := s3.New(session.New()) 284 input := &s3.DeleteBucketLifecycleInput{ 285 Bucket: aws.String("examplebucket"), 286 } 287 288 result, err := svc.DeleteBucketLifecycle(input) 289 if err != nil { 290 if aerr, ok := err.(awserr.Error); ok { 291 switch aerr.Code() { 292 default: 293 fmt.Println(aerr.Error()) 294 } 295 } else { 296 // Print the error, cast err to awserr.Error to get the Code and 297 // Message from an error. 298 fmt.Println(err.Error()) 299 } 300 return 301 } 302 303 fmt.Println(result) 304} 305 306// To delete bucket policy 307// 308// The following example deletes bucket policy on the specified bucket. 309func ExampleS3_DeleteBucketPolicy_shared00() { 310 svc := s3.New(session.New()) 311 input := &s3.DeleteBucketPolicyInput{ 312 Bucket: aws.String("examplebucket"), 313 } 314 315 result, err := svc.DeleteBucketPolicy(input) 316 if err != nil { 317 if aerr, ok := err.(awserr.Error); ok { 318 switch aerr.Code() { 319 default: 320 fmt.Println(aerr.Error()) 321 } 322 } else { 323 // Print the error, cast err to awserr.Error to get the Code and 324 // Message from an error. 325 fmt.Println(err.Error()) 326 } 327 return 328 } 329 330 fmt.Println(result) 331} 332 333// To delete bucket replication configuration 334// 335// The following example deletes replication configuration set on bucket. 336func ExampleS3_DeleteBucketReplication_shared00() { 337 svc := s3.New(session.New()) 338 input := &s3.DeleteBucketReplicationInput{ 339 Bucket: aws.String("example"), 340 } 341 342 result, err := svc.DeleteBucketReplication(input) 343 if err != nil { 344 if aerr, ok := err.(awserr.Error); ok { 345 switch aerr.Code() { 346 default: 347 fmt.Println(aerr.Error()) 348 } 349 } else { 350 // Print the error, cast err to awserr.Error to get the Code and 351 // Message from an error. 352 fmt.Println(err.Error()) 353 } 354 return 355 } 356 357 fmt.Println(result) 358} 359 360// To delete bucket tags 361// 362// The following example deletes bucket tags. 363func ExampleS3_DeleteBucketTagging_shared00() { 364 svc := s3.New(session.New()) 365 input := &s3.DeleteBucketTaggingInput{ 366 Bucket: aws.String("examplebucket"), 367 } 368 369 result, err := svc.DeleteBucketTagging(input) 370 if err != nil { 371 if aerr, ok := err.(awserr.Error); ok { 372 switch aerr.Code() { 373 default: 374 fmt.Println(aerr.Error()) 375 } 376 } else { 377 // Print the error, cast err to awserr.Error to get the Code and 378 // Message from an error. 379 fmt.Println(err.Error()) 380 } 381 return 382 } 383 384 fmt.Println(result) 385} 386 387// To delete bucket website configuration 388// 389// The following example deletes bucket website configuration. 390func ExampleS3_DeleteBucketWebsite_shared00() { 391 svc := s3.New(session.New()) 392 input := &s3.DeleteBucketWebsiteInput{ 393 Bucket: aws.String("examplebucket"), 394 } 395 396 result, err := svc.DeleteBucketWebsite(input) 397 if err != nil { 398 if aerr, ok := err.(awserr.Error); ok { 399 switch aerr.Code() { 400 default: 401 fmt.Println(aerr.Error()) 402 } 403 } else { 404 // Print the error, cast err to awserr.Error to get the Code and 405 // Message from an error. 406 fmt.Println(err.Error()) 407 } 408 return 409 } 410 411 fmt.Println(result) 412} 413 414// To delete an object (from a non-versioned bucket) 415// 416// The following example deletes an object from a non-versioned bucket. 417func ExampleS3_DeleteObject_shared00() { 418 svc := s3.New(session.New()) 419 input := &s3.DeleteObjectInput{ 420 Bucket: aws.String("ExampleBucket"), 421 Key: aws.String("HappyFace.jpg"), 422 } 423 424 result, err := svc.DeleteObject(input) 425 if err != nil { 426 if aerr, ok := err.(awserr.Error); ok { 427 switch aerr.Code() { 428 default: 429 fmt.Println(aerr.Error()) 430 } 431 } else { 432 // Print the error, cast err to awserr.Error to get the Code and 433 // Message from an error. 434 fmt.Println(err.Error()) 435 } 436 return 437 } 438 439 fmt.Println(result) 440} 441 442// To delete an object 443// 444// The following example deletes an object from an S3 bucket. 445func ExampleS3_DeleteObject_shared01() { 446 svc := s3.New(session.New()) 447 input := &s3.DeleteObjectInput{ 448 Bucket: aws.String("examplebucket"), 449 Key: aws.String("objectkey.jpg"), 450 } 451 452 result, err := svc.DeleteObject(input) 453 if err != nil { 454 if aerr, ok := err.(awserr.Error); ok { 455 switch aerr.Code() { 456 default: 457 fmt.Println(aerr.Error()) 458 } 459 } else { 460 // Print the error, cast err to awserr.Error to get the Code and 461 // Message from an error. 462 fmt.Println(err.Error()) 463 } 464 return 465 } 466 467 fmt.Println(result) 468} 469 470// To remove tag set from an object 471// 472// The following example removes tag set associated with the specified object. If the 473// bucket is versioning enabled, the operation removes tag set from the latest object 474// version. 475func ExampleS3_DeleteObjectTagging_shared00() { 476 svc := s3.New(session.New()) 477 input := &s3.DeleteObjectTaggingInput{ 478 Bucket: aws.String("examplebucket"), 479 Key: aws.String("HappyFace.jpg"), 480 } 481 482 result, err := svc.DeleteObjectTagging(input) 483 if err != nil { 484 if aerr, ok := err.(awserr.Error); ok { 485 switch aerr.Code() { 486 default: 487 fmt.Println(aerr.Error()) 488 } 489 } else { 490 // Print the error, cast err to awserr.Error to get the Code and 491 // Message from an error. 492 fmt.Println(err.Error()) 493 } 494 return 495 } 496 497 fmt.Println(result) 498} 499 500// To remove tag set from an object version 501// 502// The following example removes tag set associated with the specified object version. 503// The request specifies both the object key and object version. 504func ExampleS3_DeleteObjectTagging_shared01() { 505 svc := s3.New(session.New()) 506 input := &s3.DeleteObjectTaggingInput{ 507 Bucket: aws.String("examplebucket"), 508 Key: aws.String("HappyFace.jpg"), 509 VersionId: aws.String("ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"), 510 } 511 512 result, err := svc.DeleteObjectTagging(input) 513 if err != nil { 514 if aerr, ok := err.(awserr.Error); ok { 515 switch aerr.Code() { 516 default: 517 fmt.Println(aerr.Error()) 518 } 519 } else { 520 // Print the error, cast err to awserr.Error to get the Code and 521 // Message from an error. 522 fmt.Println(err.Error()) 523 } 524 return 525 } 526 527 fmt.Println(result) 528} 529 530// To delete multiple objects from a versioned bucket 531// 532// The following example deletes objects from a bucket. The bucket is versioned, and 533// the request does not specify the object version to delete. In this case, all versions 534// remain in the bucket and S3 adds a delete marker. 535func ExampleS3_DeleteObjects_shared00() { 536 svc := s3.New(session.New()) 537 input := &s3.DeleteObjectsInput{ 538 Bucket: aws.String("examplebucket"), 539 Delete: &s3.Delete{ 540 Objects: []*s3.ObjectIdentifier{ 541 { 542 Key: aws.String("objectkey1"), 543 }, 544 { 545 Key: aws.String("objectkey2"), 546 }, 547 }, 548 Quiet: aws.Bool(false), 549 }, 550 } 551 552 result, err := svc.DeleteObjects(input) 553 if err != nil { 554 if aerr, ok := err.(awserr.Error); ok { 555 switch aerr.Code() { 556 default: 557 fmt.Println(aerr.Error()) 558 } 559 } else { 560 // Print the error, cast err to awserr.Error to get the Code and 561 // Message from an error. 562 fmt.Println(err.Error()) 563 } 564 return 565 } 566 567 fmt.Println(result) 568} 569 570// To delete multiple object versions from a versioned bucket 571// 572// The following example deletes objects from a bucket. The request specifies object 573// versions. S3 deletes specific object versions and returns the key and versions of 574// deleted objects in the response. 575func ExampleS3_DeleteObjects_shared01() { 576 svc := s3.New(session.New()) 577 input := &s3.DeleteObjectsInput{ 578 Bucket: aws.String("examplebucket"), 579 Delete: &s3.Delete{ 580 Objects: []*s3.ObjectIdentifier{ 581 { 582 Key: aws.String("HappyFace.jpg"), 583 VersionId: aws.String("2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b"), 584 }, 585 { 586 Key: aws.String("HappyFace.jpg"), 587 VersionId: aws.String("yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd"), 588 }, 589 }, 590 Quiet: aws.Bool(false), 591 }, 592 } 593 594 result, err := svc.DeleteObjects(input) 595 if err != nil { 596 if aerr, ok := err.(awserr.Error); ok { 597 switch aerr.Code() { 598 default: 599 fmt.Println(aerr.Error()) 600 } 601 } else { 602 // Print the error, cast err to awserr.Error to get the Code and 603 // Message from an error. 604 fmt.Println(err.Error()) 605 } 606 return 607 } 608 609 fmt.Println(result) 610} 611 612// To get cors configuration set on a bucket 613// 614// The following example returns cross-origin resource sharing (CORS) configuration 615// set on a bucket. 616func ExampleS3_GetBucketCors_shared00() { 617 svc := s3.New(session.New()) 618 input := &s3.GetBucketCorsInput{ 619 Bucket: aws.String("examplebucket"), 620 } 621 622 result, err := svc.GetBucketCors(input) 623 if err != nil { 624 if aerr, ok := err.(awserr.Error); ok { 625 switch aerr.Code() { 626 default: 627 fmt.Println(aerr.Error()) 628 } 629 } else { 630 // Print the error, cast err to awserr.Error to get the Code and 631 // Message from an error. 632 fmt.Println(err.Error()) 633 } 634 return 635 } 636 637 fmt.Println(result) 638} 639 640// To get a bucket acl 641// 642// The following example gets ACL on the specified bucket. 643func ExampleS3_GetBucketLifecycle_shared00() { 644 svc := s3.New(session.New()) 645 input := &s3.GetBucketLifecycleInput{ 646 Bucket: aws.String("acl1"), 647 } 648 649 result, err := svc.GetBucketLifecycle(input) 650 if err != nil { 651 if aerr, ok := err.(awserr.Error); ok { 652 switch aerr.Code() { 653 default: 654 fmt.Println(aerr.Error()) 655 } 656 } else { 657 // Print the error, cast err to awserr.Error to get the Code and 658 // Message from an error. 659 fmt.Println(err.Error()) 660 } 661 return 662 } 663 664 fmt.Println(result) 665} 666 667// To get lifecycle configuration on a bucket 668// 669// The following example retrieves lifecycle configuration on set on a bucket. 670func ExampleS3_GetBucketLifecycleConfiguration_shared00() { 671 svc := s3.New(session.New()) 672 input := &s3.GetBucketLifecycleConfigurationInput{ 673 Bucket: aws.String("examplebucket"), 674 } 675 676 result, err := svc.GetBucketLifecycleConfiguration(input) 677 if err != nil { 678 if aerr, ok := err.(awserr.Error); ok { 679 switch aerr.Code() { 680 default: 681 fmt.Println(aerr.Error()) 682 } 683 } else { 684 // Print the error, cast err to awserr.Error to get the Code and 685 // Message from an error. 686 fmt.Println(err.Error()) 687 } 688 return 689 } 690 691 fmt.Println(result) 692} 693 694// To get bucket location 695// 696// The following example returns bucket location. 697func ExampleS3_GetBucketLocation_shared00() { 698 svc := s3.New(session.New()) 699 input := &s3.GetBucketLocationInput{ 700 Bucket: aws.String("examplebucket"), 701 } 702 703 result, err := svc.GetBucketLocation(input) 704 if err != nil { 705 if aerr, ok := err.(awserr.Error); ok { 706 switch aerr.Code() { 707 default: 708 fmt.Println(aerr.Error()) 709 } 710 } else { 711 // Print the error, cast err to awserr.Error to get the Code and 712 // Message from an error. 713 fmt.Println(err.Error()) 714 } 715 return 716 } 717 718 fmt.Println(result) 719} 720 721// To get notification configuration set on a bucket 722// 723// The following example returns notification configuration set on a bucket. 724func ExampleS3_GetBucketNotification_shared00() { 725 svc := s3.New(session.New()) 726 input := &s3.GetBucketNotificationConfigurationRequest{ 727 Bucket: aws.String("examplebucket"), 728 } 729 730 result, err := svc.GetBucketNotification(input) 731 if err != nil { 732 if aerr, ok := err.(awserr.Error); ok { 733 switch aerr.Code() { 734 default: 735 fmt.Println(aerr.Error()) 736 } 737 } else { 738 // Print the error, cast err to awserr.Error to get the Code and 739 // Message from an error. 740 fmt.Println(err.Error()) 741 } 742 return 743 } 744 745 fmt.Println(result) 746} 747 748// To get notification configuration set on a bucket 749// 750// The following example returns notification configuration set on a bucket. 751func ExampleS3_GetBucketNotification_shared01() { 752 svc := s3.New(session.New()) 753 input := &s3.GetBucketNotificationConfigurationRequest{ 754 Bucket: aws.String("examplebucket"), 755 } 756 757 result, err := svc.GetBucketNotification(input) 758 if err != nil { 759 if aerr, ok := err.(awserr.Error); ok { 760 switch aerr.Code() { 761 default: 762 fmt.Println(aerr.Error()) 763 } 764 } else { 765 // Print the error, cast err to awserr.Error to get the Code and 766 // Message from an error. 767 fmt.Println(err.Error()) 768 } 769 return 770 } 771 772 fmt.Println(result) 773} 774 775// To get bucket policy 776// 777// The following example returns bucket policy associated with a bucket. 778func ExampleS3_GetBucketPolicy_shared00() { 779 svc := s3.New(session.New()) 780 input := &s3.GetBucketPolicyInput{ 781 Bucket: aws.String("examplebucket"), 782 } 783 784 result, err := svc.GetBucketPolicy(input) 785 if err != nil { 786 if aerr, ok := err.(awserr.Error); ok { 787 switch aerr.Code() { 788 default: 789 fmt.Println(aerr.Error()) 790 } 791 } else { 792 // Print the error, cast err to awserr.Error to get the Code and 793 // Message from an error. 794 fmt.Println(err.Error()) 795 } 796 return 797 } 798 799 fmt.Println(result) 800} 801 802// To get replication configuration set on a bucket 803// 804// The following example returns replication configuration set on a bucket. 805func ExampleS3_GetBucketReplication_shared00() { 806 svc := s3.New(session.New()) 807 input := &s3.GetBucketReplicationInput{ 808 Bucket: aws.String("examplebucket"), 809 } 810 811 result, err := svc.GetBucketReplication(input) 812 if err != nil { 813 if aerr, ok := err.(awserr.Error); ok { 814 switch aerr.Code() { 815 default: 816 fmt.Println(aerr.Error()) 817 } 818 } else { 819 // Print the error, cast err to awserr.Error to get the Code and 820 // Message from an error. 821 fmt.Println(err.Error()) 822 } 823 return 824 } 825 826 fmt.Println(result) 827} 828 829// To get bucket versioning configuration 830// 831// The following example retrieves bucket versioning configuration. 832func ExampleS3_GetBucketRequestPayment_shared00() { 833 svc := s3.New(session.New()) 834 input := &s3.GetBucketRequestPaymentInput{ 835 Bucket: aws.String("examplebucket"), 836 } 837 838 result, err := svc.GetBucketRequestPayment(input) 839 if err != nil { 840 if aerr, ok := err.(awserr.Error); ok { 841 switch aerr.Code() { 842 default: 843 fmt.Println(aerr.Error()) 844 } 845 } else { 846 // Print the error, cast err to awserr.Error to get the Code and 847 // Message from an error. 848 fmt.Println(err.Error()) 849 } 850 return 851 } 852 853 fmt.Println(result) 854} 855 856// To get tag set associated with a bucket 857// 858// The following example returns tag set associated with a bucket 859func ExampleS3_GetBucketTagging_shared00() { 860 svc := s3.New(session.New()) 861 input := &s3.GetBucketTaggingInput{ 862 Bucket: aws.String("examplebucket"), 863 } 864 865 result, err := svc.GetBucketTagging(input) 866 if err != nil { 867 if aerr, ok := err.(awserr.Error); ok { 868 switch aerr.Code() { 869 default: 870 fmt.Println(aerr.Error()) 871 } 872 } else { 873 // Print the error, cast err to awserr.Error to get the Code and 874 // Message from an error. 875 fmt.Println(err.Error()) 876 } 877 return 878 } 879 880 fmt.Println(result) 881} 882 883// To get bucket versioning configuration 884// 885// The following example retrieves bucket versioning configuration. 886func ExampleS3_GetBucketVersioning_shared00() { 887 svc := s3.New(session.New()) 888 input := &s3.GetBucketVersioningInput{ 889 Bucket: aws.String("examplebucket"), 890 } 891 892 result, err := svc.GetBucketVersioning(input) 893 if err != nil { 894 if aerr, ok := err.(awserr.Error); ok { 895 switch aerr.Code() { 896 default: 897 fmt.Println(aerr.Error()) 898 } 899 } else { 900 // Print the error, cast err to awserr.Error to get the Code and 901 // Message from an error. 902 fmt.Println(err.Error()) 903 } 904 return 905 } 906 907 fmt.Println(result) 908} 909 910// To get bucket website configuration 911// 912// The following example retrieves website configuration of a bucket. 913func ExampleS3_GetBucketWebsite_shared00() { 914 svc := s3.New(session.New()) 915 input := &s3.GetBucketWebsiteInput{ 916 Bucket: aws.String("examplebucket"), 917 } 918 919 result, err := svc.GetBucketWebsite(input) 920 if err != nil { 921 if aerr, ok := err.(awserr.Error); ok { 922 switch aerr.Code() { 923 default: 924 fmt.Println(aerr.Error()) 925 } 926 } else { 927 // Print the error, cast err to awserr.Error to get the Code and 928 // Message from an error. 929 fmt.Println(err.Error()) 930 } 931 return 932 } 933 934 fmt.Println(result) 935} 936 937// To retrieve a byte range of an object 938// 939// The following example retrieves an object for an S3 bucket. The request specifies 940// the range header to retrieve a specific byte range. 941func ExampleS3_GetObject_shared00() { 942 svc := s3.New(session.New()) 943 input := &s3.GetObjectInput{ 944 Bucket: aws.String("examplebucket"), 945 Key: aws.String("SampleFile.txt"), 946 Range: aws.String("bytes=0-9"), 947 } 948 949 result, err := svc.GetObject(input) 950 if err != nil { 951 if aerr, ok := err.(awserr.Error); ok { 952 switch aerr.Code() { 953 case s3.ErrCodeNoSuchKey: 954 fmt.Println(s3.ErrCodeNoSuchKey, aerr.Error()) 955 case s3.ErrCodeInvalidObjectState: 956 fmt.Println(s3.ErrCodeInvalidObjectState, aerr.Error()) 957 default: 958 fmt.Println(aerr.Error()) 959 } 960 } else { 961 // Print the error, cast err to awserr.Error to get the Code and 962 // Message from an error. 963 fmt.Println(err.Error()) 964 } 965 return 966 } 967 968 fmt.Println(result) 969} 970 971// To retrieve an object 972// 973// The following example retrieves an object for an S3 bucket. 974func ExampleS3_GetObject_shared01() { 975 svc := s3.New(session.New()) 976 input := &s3.GetObjectInput{ 977 Bucket: aws.String("examplebucket"), 978 Key: aws.String("HappyFace.jpg"), 979 } 980 981 result, err := svc.GetObject(input) 982 if err != nil { 983 if aerr, ok := err.(awserr.Error); ok { 984 switch aerr.Code() { 985 case s3.ErrCodeNoSuchKey: 986 fmt.Println(s3.ErrCodeNoSuchKey, aerr.Error()) 987 case s3.ErrCodeInvalidObjectState: 988 fmt.Println(s3.ErrCodeInvalidObjectState, aerr.Error()) 989 default: 990 fmt.Println(aerr.Error()) 991 } 992 } else { 993 // Print the error, cast err to awserr.Error to get the Code and 994 // Message from an error. 995 fmt.Println(err.Error()) 996 } 997 return 998 } 999 1000 fmt.Println(result) 1001} 1002 1003// To retrieve object ACL 1004// 1005// The following example retrieves access control list (ACL) of an object. 1006func ExampleS3_GetObjectAcl_shared00() { 1007 svc := s3.New(session.New()) 1008 input := &s3.GetObjectAclInput{ 1009 Bucket: aws.String("examplebucket"), 1010 Key: aws.String("HappyFace.jpg"), 1011 } 1012 1013 result, err := svc.GetObjectAcl(input) 1014 if err != nil { 1015 if aerr, ok := err.(awserr.Error); ok { 1016 switch aerr.Code() { 1017 case s3.ErrCodeNoSuchKey: 1018 fmt.Println(s3.ErrCodeNoSuchKey, aerr.Error()) 1019 default: 1020 fmt.Println(aerr.Error()) 1021 } 1022 } else { 1023 // Print the error, cast err to awserr.Error to get the Code and 1024 // Message from an error. 1025 fmt.Println(err.Error()) 1026 } 1027 return 1028 } 1029 1030 fmt.Println(result) 1031} 1032 1033// To retrieve tag set of a specific object version 1034// 1035// The following example retrieves tag set of an object. The request specifies object 1036// version. 1037func ExampleS3_GetObjectTagging_shared00() { 1038 svc := s3.New(session.New()) 1039 input := &s3.GetObjectTaggingInput{ 1040 Bucket: aws.String("examplebucket"), 1041 Key: aws.String("exampleobject"), 1042 VersionId: aws.String("ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"), 1043 } 1044 1045 result, err := svc.GetObjectTagging(input) 1046 if err != nil { 1047 if aerr, ok := err.(awserr.Error); ok { 1048 switch aerr.Code() { 1049 default: 1050 fmt.Println(aerr.Error()) 1051 } 1052 } else { 1053 // Print the error, cast err to awserr.Error to get the Code and 1054 // Message from an error. 1055 fmt.Println(err.Error()) 1056 } 1057 return 1058 } 1059 1060 fmt.Println(result) 1061} 1062 1063// To retrieve tag set of an object 1064// 1065// The following example retrieves tag set of an object. 1066func ExampleS3_GetObjectTagging_shared01() { 1067 svc := s3.New(session.New()) 1068 input := &s3.GetObjectTaggingInput{ 1069 Bucket: aws.String("examplebucket"), 1070 Key: aws.String("HappyFace.jpg"), 1071 } 1072 1073 result, err := svc.GetObjectTagging(input) 1074 if err != nil { 1075 if aerr, ok := err.(awserr.Error); ok { 1076 switch aerr.Code() { 1077 default: 1078 fmt.Println(aerr.Error()) 1079 } 1080 } else { 1081 // Print the error, cast err to awserr.Error to get the Code and 1082 // Message from an error. 1083 fmt.Println(err.Error()) 1084 } 1085 return 1086 } 1087 1088 fmt.Println(result) 1089} 1090 1091// To retrieve torrent files for an object 1092// 1093// The following example retrieves torrent files of an object. 1094func ExampleS3_GetObjectTorrent_shared00() { 1095 svc := s3.New(session.New()) 1096 input := &s3.GetObjectTorrentInput{ 1097 Bucket: aws.String("examplebucket"), 1098 Key: aws.String("HappyFace.jpg"), 1099 } 1100 1101 result, err := svc.GetObjectTorrent(input) 1102 if err != nil { 1103 if aerr, ok := err.(awserr.Error); ok { 1104 switch aerr.Code() { 1105 default: 1106 fmt.Println(aerr.Error()) 1107 } 1108 } else { 1109 // Print the error, cast err to awserr.Error to get the Code and 1110 // Message from an error. 1111 fmt.Println(err.Error()) 1112 } 1113 return 1114 } 1115 1116 fmt.Println(result) 1117} 1118 1119// To determine if bucket exists 1120// 1121// This operation checks to see if a bucket exists. 1122func ExampleS3_HeadBucket_shared00() { 1123 svc := s3.New(session.New()) 1124 input := &s3.HeadBucketInput{ 1125 Bucket: aws.String("acl1"), 1126 } 1127 1128 result, err := svc.HeadBucket(input) 1129 if err != nil { 1130 if aerr, ok := err.(awserr.Error); ok { 1131 switch aerr.Code() { 1132 case s3.ErrCodeNoSuchBucket: 1133 fmt.Println(s3.ErrCodeNoSuchBucket, aerr.Error()) 1134 default: 1135 fmt.Println(aerr.Error()) 1136 } 1137 } else { 1138 // Print the error, cast err to awserr.Error to get the Code and 1139 // Message from an error. 1140 fmt.Println(err.Error()) 1141 } 1142 return 1143 } 1144 1145 fmt.Println(result) 1146} 1147 1148// To retrieve metadata of an object without returning the object itself 1149// 1150// The following example retrieves an object metadata. 1151func ExampleS3_HeadObject_shared00() { 1152 svc := s3.New(session.New()) 1153 input := &s3.HeadObjectInput{ 1154 Bucket: aws.String("examplebucket"), 1155 Key: aws.String("HappyFace.jpg"), 1156 } 1157 1158 result, err := svc.HeadObject(input) 1159 if err != nil { 1160 if aerr, ok := err.(awserr.Error); ok { 1161 switch aerr.Code() { 1162 default: 1163 fmt.Println(aerr.Error()) 1164 } 1165 } else { 1166 // Print the error, cast err to awserr.Error to get the Code and 1167 // Message from an error. 1168 fmt.Println(err.Error()) 1169 } 1170 return 1171 } 1172 1173 fmt.Println(result) 1174} 1175 1176// To list object versions 1177// 1178// The following example return versions of an object with specific key name prefix. 1179// The request limits the number of items returned to two. If there are are more than 1180// two object version, S3 returns NextToken in the response. You can specify this token 1181// value in your next request to fetch next set of object versions. 1182func ExampleS3_ListBuckets_shared00() { 1183 svc := s3.New(session.New()) 1184 input := &s3.ListBucketsInput{} 1185 1186 result, err := svc.ListBuckets(input) 1187 if err != nil { 1188 if aerr, ok := err.(awserr.Error); ok { 1189 switch aerr.Code() { 1190 default: 1191 fmt.Println(aerr.Error()) 1192 } 1193 } else { 1194 // Print the error, cast err to awserr.Error to get the Code and 1195 // Message from an error. 1196 fmt.Println(err.Error()) 1197 } 1198 return 1199 } 1200 1201 fmt.Println(result) 1202} 1203 1204// To list in-progress multipart uploads on a bucket 1205// 1206// The following example lists in-progress multipart uploads on a specific bucket. 1207func ExampleS3_ListMultipartUploads_shared00() { 1208 svc := s3.New(session.New()) 1209 input := &s3.ListMultipartUploadsInput{ 1210 Bucket: aws.String("examplebucket"), 1211 } 1212 1213 result, err := svc.ListMultipartUploads(input) 1214 if err != nil { 1215 if aerr, ok := err.(awserr.Error); ok { 1216 switch aerr.Code() { 1217 default: 1218 fmt.Println(aerr.Error()) 1219 } 1220 } else { 1221 // Print the error, cast err to awserr.Error to get the Code and 1222 // Message from an error. 1223 fmt.Println(err.Error()) 1224 } 1225 return 1226 } 1227 1228 fmt.Println(result) 1229} 1230 1231// List next set of multipart uploads when previous result is truncated 1232// 1233// The following example specifies the upload-id-marker and key-marker from previous 1234// truncated response to retrieve next setup of multipart uploads. 1235func ExampleS3_ListMultipartUploads_shared01() { 1236 svc := s3.New(session.New()) 1237 input := &s3.ListMultipartUploadsInput{ 1238 Bucket: aws.String("examplebucket"), 1239 KeyMarker: aws.String("nextkeyfrompreviousresponse"), 1240 MaxUploads: aws.Int64(2), 1241 UploadIdMarker: aws.String("valuefrompreviousresponse"), 1242 } 1243 1244 result, err := svc.ListMultipartUploads(input) 1245 if err != nil { 1246 if aerr, ok := err.(awserr.Error); ok { 1247 switch aerr.Code() { 1248 default: 1249 fmt.Println(aerr.Error()) 1250 } 1251 } else { 1252 // Print the error, cast err to awserr.Error to get the Code and 1253 // Message from an error. 1254 fmt.Println(err.Error()) 1255 } 1256 return 1257 } 1258 1259 fmt.Println(result) 1260} 1261 1262// To list object versions 1263// 1264// The following example return versions of an object with specific key name prefix. 1265// The request limits the number of items returned to two. If there are are more than 1266// two object version, S3 returns NextToken in the response. You can specify this token 1267// value in your next request to fetch next set of object versions. 1268func ExampleS3_ListObjectVersions_shared00() { 1269 svc := s3.New(session.New()) 1270 input := &s3.ListObjectVersionsInput{ 1271 Bucket: aws.String("examplebucket"), 1272 Prefix: aws.String("HappyFace.jpg"), 1273 } 1274 1275 result, err := svc.ListObjectVersions(input) 1276 if err != nil { 1277 if aerr, ok := err.(awserr.Error); ok { 1278 switch aerr.Code() { 1279 default: 1280 fmt.Println(aerr.Error()) 1281 } 1282 } else { 1283 // Print the error, cast err to awserr.Error to get the Code and 1284 // Message from an error. 1285 fmt.Println(err.Error()) 1286 } 1287 return 1288 } 1289 1290 fmt.Println(result) 1291} 1292 1293// To list objects in a bucket 1294// 1295// The following example list two objects in a bucket. 1296func ExampleS3_ListObjects_shared00() { 1297 svc := s3.New(session.New()) 1298 input := &s3.ListObjectsInput{ 1299 Bucket: aws.String("examplebucket"), 1300 MaxKeys: aws.Int64(2), 1301 } 1302 1303 result, err := svc.ListObjects(input) 1304 if err != nil { 1305 if aerr, ok := err.(awserr.Error); ok { 1306 switch aerr.Code() { 1307 case s3.ErrCodeNoSuchBucket: 1308 fmt.Println(s3.ErrCodeNoSuchBucket, aerr.Error()) 1309 default: 1310 fmt.Println(aerr.Error()) 1311 } 1312 } else { 1313 // Print the error, cast err to awserr.Error to get the Code and 1314 // Message from an error. 1315 fmt.Println(err.Error()) 1316 } 1317 return 1318 } 1319 1320 fmt.Println(result) 1321} 1322 1323// To get object list 1324// 1325// The following example retrieves object list. The request specifies max keys to limit 1326// response to include only 2 object keys. 1327func ExampleS3_ListObjectsV2_shared00() { 1328 svc := s3.New(session.New()) 1329 input := &s3.ListObjectsV2Input{ 1330 Bucket: aws.String("examplebucket"), 1331 MaxKeys: aws.Int64(2), 1332 } 1333 1334 result, err := svc.ListObjectsV2(input) 1335 if err != nil { 1336 if aerr, ok := err.(awserr.Error); ok { 1337 switch aerr.Code() { 1338 case s3.ErrCodeNoSuchBucket: 1339 fmt.Println(s3.ErrCodeNoSuchBucket, aerr.Error()) 1340 default: 1341 fmt.Println(aerr.Error()) 1342 } 1343 } else { 1344 // Print the error, cast err to awserr.Error to get the Code and 1345 // Message from an error. 1346 fmt.Println(err.Error()) 1347 } 1348 return 1349 } 1350 1351 fmt.Println(result) 1352} 1353 1354// To list parts of a multipart upload. 1355// 1356// The following example lists parts uploaded for a specific multipart upload. 1357func ExampleS3_ListParts_shared00() { 1358 svc := s3.New(session.New()) 1359 input := &s3.ListPartsInput{ 1360 Bucket: aws.String("examplebucket"), 1361 Key: aws.String("bigobject"), 1362 UploadId: aws.String("example7YPBOJuoFiQ9cz4P3Pe6FIZwO4f7wN93uHsNBEw97pl5eNwzExg0LAT2dUN91cOmrEQHDsP3WA60CEg--"), 1363 } 1364 1365 result, err := svc.ListParts(input) 1366 if err != nil { 1367 if aerr, ok := err.(awserr.Error); ok { 1368 switch aerr.Code() { 1369 default: 1370 fmt.Println(aerr.Error()) 1371 } 1372 } else { 1373 // Print the error, cast err to awserr.Error to get the Code and 1374 // Message from an error. 1375 fmt.Println(err.Error()) 1376 } 1377 return 1378 } 1379 1380 fmt.Println(result) 1381} 1382 1383// Put bucket acl 1384// 1385// The following example replaces existing ACL on a bucket. The ACL grants the bucket 1386// owner (specified using the owner ID) and write permission to the LogDelivery group. 1387// Because this is a replace operation, you must specify all the grants in your request. 1388// To incrementally add or remove ACL grants, you might use the console. 1389func ExampleS3_PutBucketAcl_shared00() { 1390 svc := s3.New(session.New()) 1391 input := &s3.PutBucketAclInput{ 1392 Bucket: aws.String("examplebucket"), 1393 GrantFullControl: aws.String("id=examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484"), 1394 GrantWrite: aws.String("uri=http://acs.amazonaws.com/groups/s3/LogDelivery"), 1395 } 1396 1397 result, err := svc.PutBucketAcl(input) 1398 if err != nil { 1399 if aerr, ok := err.(awserr.Error); ok { 1400 switch aerr.Code() { 1401 default: 1402 fmt.Println(aerr.Error()) 1403 } 1404 } else { 1405 // Print the error, cast err to awserr.Error to get the Code and 1406 // Message from an error. 1407 fmt.Println(err.Error()) 1408 } 1409 return 1410 } 1411 1412 fmt.Println(result) 1413} 1414 1415// To set cors configuration on a bucket. 1416// 1417// The following example enables PUT, POST, and DELETE requests from www.example.com, 1418// and enables GET requests from any domain. 1419func ExampleS3_PutBucketCors_shared00() { 1420 svc := s3.New(session.New()) 1421 input := &s3.PutBucketCorsInput{ 1422 Bucket: aws.String(""), 1423 CORSConfiguration: &s3.CORSConfiguration{ 1424 CORSRules: []*s3.CORSRule{ 1425 { 1426 AllowedHeaders: []*string{ 1427 aws.String("*"), 1428 }, 1429 AllowedMethods: []*string{ 1430 aws.String("PUT"), 1431 aws.String("POST"), 1432 aws.String("DELETE"), 1433 }, 1434 AllowedOrigins: []*string{ 1435 aws.String("http://www.example.com"), 1436 }, 1437 ExposeHeaders: []*string{ 1438 aws.String("x-amz-server-side-encryption"), 1439 }, 1440 MaxAgeSeconds: aws.Int64(3000), 1441 }, 1442 { 1443 AllowedHeaders: []*string{ 1444 aws.String("Authorization"), 1445 }, 1446 AllowedMethods: []*string{ 1447 aws.String("GET"), 1448 }, 1449 AllowedOrigins: []*string{ 1450 aws.String("*"), 1451 }, 1452 MaxAgeSeconds: aws.Int64(3000), 1453 }, 1454 }, 1455 }, 1456 } 1457 1458 result, err := svc.PutBucketCors(input) 1459 if err != nil { 1460 if aerr, ok := err.(awserr.Error); ok { 1461 switch aerr.Code() { 1462 default: 1463 fmt.Println(aerr.Error()) 1464 } 1465 } else { 1466 // Print the error, cast err to awserr.Error to get the Code and 1467 // Message from an error. 1468 fmt.Println(err.Error()) 1469 } 1470 return 1471 } 1472 1473 fmt.Println(result) 1474} 1475 1476// Put bucket lifecycle 1477// 1478// The following example replaces existing lifecycle configuration, if any, on the specified 1479// bucket. 1480func ExampleS3_PutBucketLifecycleConfiguration_shared00() { 1481 svc := s3.New(session.New()) 1482 input := &s3.PutBucketLifecycleConfigurationInput{ 1483 Bucket: aws.String("examplebucket"), 1484 LifecycleConfiguration: &s3.BucketLifecycleConfiguration{ 1485 Rules: []*s3.LifecycleRule{ 1486 { 1487 Expiration: &s3.LifecycleExpiration{ 1488 Days: aws.Int64(3650), 1489 }, 1490 Filter: &s3.LifecycleRuleFilter{ 1491 Prefix: aws.String("documents/"), 1492 }, 1493 ID: aws.String("TestOnly"), 1494 Status: aws.String("Enabled"), 1495 Transitions: []*s3.Transition{ 1496 { 1497 Days: aws.Int64(365), 1498 StorageClass: aws.String("GLACIER"), 1499 }, 1500 }, 1501 }, 1502 }, 1503 }, 1504 } 1505 1506 result, err := svc.PutBucketLifecycleConfiguration(input) 1507 if err != nil { 1508 if aerr, ok := err.(awserr.Error); ok { 1509 switch aerr.Code() { 1510 default: 1511 fmt.Println(aerr.Error()) 1512 } 1513 } else { 1514 // Print the error, cast err to awserr.Error to get the Code and 1515 // Message from an error. 1516 fmt.Println(err.Error()) 1517 } 1518 return 1519 } 1520 1521 fmt.Println(result) 1522} 1523 1524// Set logging configuration for a bucket 1525// 1526// The following example sets logging policy on a bucket. For the Log Delivery group 1527// to deliver logs to the destination bucket, it needs permission for the READ_ACP action 1528// which the policy grants. 1529func ExampleS3_PutBucketLogging_shared00() { 1530 svc := s3.New(session.New()) 1531 input := &s3.PutBucketLoggingInput{ 1532 Bucket: aws.String("sourcebucket"), 1533 BucketLoggingStatus: &s3.BucketLoggingStatus{ 1534 LoggingEnabled: &s3.LoggingEnabled{ 1535 TargetBucket: aws.String("targetbucket"), 1536 TargetGrants: []*s3.TargetGrant{ 1537 { 1538 Grantee: &s3.Grantee{ 1539 Type: aws.String("Group"), 1540 URI: aws.String("http://acs.amazonaws.com/groups/global/AllUsers"), 1541 }, 1542 Permission: aws.String("READ"), 1543 }, 1544 }, 1545 TargetPrefix: aws.String("MyBucketLogs/"), 1546 }, 1547 }, 1548 } 1549 1550 result, err := svc.PutBucketLogging(input) 1551 if err != nil { 1552 if aerr, ok := err.(awserr.Error); ok { 1553 switch aerr.Code() { 1554 default: 1555 fmt.Println(aerr.Error()) 1556 } 1557 } else { 1558 // Print the error, cast err to awserr.Error to get the Code and 1559 // Message from an error. 1560 fmt.Println(err.Error()) 1561 } 1562 return 1563 } 1564 1565 fmt.Println(result) 1566} 1567 1568// Set notification configuration for a bucket 1569// 1570// The following example sets notification configuration on a bucket to publish the 1571// object created events to an SNS topic. 1572func ExampleS3_PutBucketNotificationConfiguration_shared00() { 1573 svc := s3.New(session.New()) 1574 input := &s3.PutBucketNotificationConfigurationInput{ 1575 Bucket: aws.String("examplebucket"), 1576 NotificationConfiguration: &s3.NotificationConfiguration{ 1577 TopicConfigurations: []*s3.TopicConfiguration{ 1578 { 1579 Events: []*string{ 1580 aws.String("s3:ObjectCreated:*"), 1581 }, 1582 TopicArn: aws.String("arn:aws:sns:us-west-2:123456789012:s3-notification-topic"), 1583 }, 1584 }, 1585 }, 1586 } 1587 1588 result, err := svc.PutBucketNotificationConfiguration(input) 1589 if err != nil { 1590 if aerr, ok := err.(awserr.Error); ok { 1591 switch aerr.Code() { 1592 default: 1593 fmt.Println(aerr.Error()) 1594 } 1595 } else { 1596 // Print the error, cast err to awserr.Error to get the Code and 1597 // Message from an error. 1598 fmt.Println(err.Error()) 1599 } 1600 return 1601 } 1602 1603 fmt.Println(result) 1604} 1605 1606// Set bucket policy 1607// 1608// The following example sets a permission policy on a bucket. 1609func ExampleS3_PutBucketPolicy_shared00() { 1610 svc := s3.New(session.New()) 1611 input := &s3.PutBucketPolicyInput{ 1612 Bucket: aws.String("examplebucket"), 1613 Policy: aws.String("{\"Version\": \"2012-10-17\", \"Statement\": [{ \"Sid\": \"id-1\",\"Effect\": \"Allow\",\"Principal\": {\"AWS\": \"arn:aws:iam::123456789012:root\"}, \"Action\": [ \"s3:PutObject\",\"s3:PutObjectAcl\"], \"Resource\": [\"arn:aws:s3:::acl3/*\" ] } ]}"), 1614 } 1615 1616 result, err := svc.PutBucketPolicy(input) 1617 if err != nil { 1618 if aerr, ok := err.(awserr.Error); ok { 1619 switch aerr.Code() { 1620 default: 1621 fmt.Println(aerr.Error()) 1622 } 1623 } else { 1624 // Print the error, cast err to awserr.Error to get the Code and 1625 // Message from an error. 1626 fmt.Println(err.Error()) 1627 } 1628 return 1629 } 1630 1631 fmt.Println(result) 1632} 1633 1634// Set replication configuration on a bucket 1635// 1636// The following example sets replication configuration on a bucket. 1637func ExampleS3_PutBucketReplication_shared00() { 1638 svc := s3.New(session.New()) 1639 input := &s3.PutBucketReplicationInput{ 1640 Bucket: aws.String("examplebucket"), 1641 ReplicationConfiguration: &s3.ReplicationConfiguration{ 1642 Role: aws.String("arn:aws:iam::123456789012:role/examplerole"), 1643 Rules: []*s3.ReplicationRule{ 1644 { 1645 Destination: &s3.Destination{ 1646 Bucket: aws.String("arn:aws:s3:::destinationbucket"), 1647 StorageClass: aws.String("STANDARD"), 1648 }, 1649 Prefix: aws.String(""), 1650 Status: aws.String("Enabled"), 1651 }, 1652 }, 1653 }, 1654 } 1655 1656 result, err := svc.PutBucketReplication(input) 1657 if err != nil { 1658 if aerr, ok := err.(awserr.Error); ok { 1659 switch aerr.Code() { 1660 default: 1661 fmt.Println(aerr.Error()) 1662 } 1663 } else { 1664 // Print the error, cast err to awserr.Error to get the Code and 1665 // Message from an error. 1666 fmt.Println(err.Error()) 1667 } 1668 return 1669 } 1670 1671 fmt.Println(result) 1672} 1673 1674// Set request payment configuration on a bucket. 1675// 1676// The following example sets request payment configuration on a bucket so that person 1677// requesting the download is charged. 1678func ExampleS3_PutBucketRequestPayment_shared00() { 1679 svc := s3.New(session.New()) 1680 input := &s3.PutBucketRequestPaymentInput{ 1681 Bucket: aws.String("examplebucket"), 1682 RequestPaymentConfiguration: &s3.RequestPaymentConfiguration{ 1683 Payer: aws.String("Requester"), 1684 }, 1685 } 1686 1687 result, err := svc.PutBucketRequestPayment(input) 1688 if err != nil { 1689 if aerr, ok := err.(awserr.Error); ok { 1690 switch aerr.Code() { 1691 default: 1692 fmt.Println(aerr.Error()) 1693 } 1694 } else { 1695 // Print the error, cast err to awserr.Error to get the Code and 1696 // Message from an error. 1697 fmt.Println(err.Error()) 1698 } 1699 return 1700 } 1701 1702 fmt.Println(result) 1703} 1704 1705// Set tags on a bucket 1706// 1707// The following example sets tags on a bucket. Any existing tags are replaced. 1708func ExampleS3_PutBucketTagging_shared00() { 1709 svc := s3.New(session.New()) 1710 input := &s3.PutBucketTaggingInput{ 1711 Bucket: aws.String("examplebucket"), 1712 Tagging: &s3.Tagging{ 1713 TagSet: []*s3.Tag{ 1714 { 1715 Key: aws.String("Key1"), 1716 Value: aws.String("Value1"), 1717 }, 1718 { 1719 Key: aws.String("Key2"), 1720 Value: aws.String("Value2"), 1721 }, 1722 }, 1723 }, 1724 } 1725 1726 result, err := svc.PutBucketTagging(input) 1727 if err != nil { 1728 if aerr, ok := err.(awserr.Error); ok { 1729 switch aerr.Code() { 1730 default: 1731 fmt.Println(aerr.Error()) 1732 } 1733 } else { 1734 // Print the error, cast err to awserr.Error to get the Code and 1735 // Message from an error. 1736 fmt.Println(err.Error()) 1737 } 1738 return 1739 } 1740 1741 fmt.Println(result) 1742} 1743 1744// Set versioning configuration on a bucket 1745// 1746// The following example sets versioning configuration on bucket. The configuration 1747// enables versioning on the bucket. 1748func ExampleS3_PutBucketVersioning_shared00() { 1749 svc := s3.New(session.New()) 1750 input := &s3.PutBucketVersioningInput{ 1751 Bucket: aws.String("examplebucket"), 1752 VersioningConfiguration: &s3.VersioningConfiguration{ 1753 MFADelete: aws.String("Disabled"), 1754 Status: aws.String("Enabled"), 1755 }, 1756 } 1757 1758 result, err := svc.PutBucketVersioning(input) 1759 if err != nil { 1760 if aerr, ok := err.(awserr.Error); ok { 1761 switch aerr.Code() { 1762 default: 1763 fmt.Println(aerr.Error()) 1764 } 1765 } else { 1766 // Print the error, cast err to awserr.Error to get the Code and 1767 // Message from an error. 1768 fmt.Println(err.Error()) 1769 } 1770 return 1771 } 1772 1773 fmt.Println(result) 1774} 1775 1776// Set website configuration on a bucket 1777// 1778// The following example adds website configuration to a bucket. 1779func ExampleS3_PutBucketWebsite_shared00() { 1780 svc := s3.New(session.New()) 1781 input := &s3.PutBucketWebsiteInput{ 1782 Bucket: aws.String("examplebucket"), 1783 WebsiteConfiguration: &s3.WebsiteConfiguration{ 1784 ErrorDocument: &s3.ErrorDocument{ 1785 Key: aws.String("error.html"), 1786 }, 1787 IndexDocument: &s3.IndexDocument{ 1788 Suffix: aws.String("index.html"), 1789 }, 1790 }, 1791 } 1792 1793 result, err := svc.PutBucketWebsite(input) 1794 if err != nil { 1795 if aerr, ok := err.(awserr.Error); ok { 1796 switch aerr.Code() { 1797 default: 1798 fmt.Println(aerr.Error()) 1799 } 1800 } else { 1801 // Print the error, cast err to awserr.Error to get the Code and 1802 // Message from an error. 1803 fmt.Println(err.Error()) 1804 } 1805 return 1806 } 1807 1808 fmt.Println(result) 1809} 1810 1811// To upload an object 1812// 1813// The following example uploads an object to a versioning-enabled bucket. The source 1814// file is specified using Windows file syntax. S3 returns VersionId of the newly created 1815// object. 1816func ExampleS3_PutObject_shared00() { 1817 svc := s3.New(session.New()) 1818 input := &s3.PutObjectInput{ 1819 Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), 1820 Bucket: aws.String("examplebucket"), 1821 Key: aws.String("HappyFace.jpg"), 1822 } 1823 1824 result, err := svc.PutObject(input) 1825 if err != nil { 1826 if aerr, ok := err.(awserr.Error); ok { 1827 switch aerr.Code() { 1828 default: 1829 fmt.Println(aerr.Error()) 1830 } 1831 } else { 1832 // Print the error, cast err to awserr.Error to get the Code and 1833 // Message from an error. 1834 fmt.Println(err.Error()) 1835 } 1836 return 1837 } 1838 1839 fmt.Println(result) 1840} 1841 1842// To upload object and specify user-defined metadata 1843// 1844// The following example creates an object. The request also specifies optional metadata. 1845// If the bucket is versioning enabled, S3 returns version ID in response. 1846func ExampleS3_PutObject_shared01() { 1847 svc := s3.New(session.New()) 1848 input := &s3.PutObjectInput{ 1849 Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), 1850 Bucket: aws.String("examplebucket"), 1851 Key: aws.String("exampleobject"), 1852 Metadata: map[string]*string{ 1853 "metadata1": aws.String("value1"), 1854 "metadata2": aws.String("value2"), 1855 }, 1856 } 1857 1858 result, err := svc.PutObject(input) 1859 if err != nil { 1860 if aerr, ok := err.(awserr.Error); ok { 1861 switch aerr.Code() { 1862 default: 1863 fmt.Println(aerr.Error()) 1864 } 1865 } else { 1866 // Print the error, cast err to awserr.Error to get the Code and 1867 // Message from an error. 1868 fmt.Println(err.Error()) 1869 } 1870 return 1871 } 1872 1873 fmt.Println(result) 1874} 1875 1876// To upload an object (specify optional headers) 1877// 1878// The following example uploads an object. The request specifies optional request headers 1879// to directs S3 to use specific storage class and use server-side encryption. 1880func ExampleS3_PutObject_shared02() { 1881 svc := s3.New(session.New()) 1882 input := &s3.PutObjectInput{ 1883 Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), 1884 Bucket: aws.String("examplebucket"), 1885 Key: aws.String("HappyFace.jpg"), 1886 ServerSideEncryption: aws.String("AES256"), 1887 StorageClass: aws.String("STANDARD_IA"), 1888 } 1889 1890 result, err := svc.PutObject(input) 1891 if err != nil { 1892 if aerr, ok := err.(awserr.Error); ok { 1893 switch aerr.Code() { 1894 default: 1895 fmt.Println(aerr.Error()) 1896 } 1897 } else { 1898 // Print the error, cast err to awserr.Error to get the Code and 1899 // Message from an error. 1900 fmt.Println(err.Error()) 1901 } 1902 return 1903 } 1904 1905 fmt.Println(result) 1906} 1907 1908// To create an object. 1909// 1910// The following example creates an object. If the bucket is versioning enabled, S3 1911// returns version ID in response. 1912func ExampleS3_PutObject_shared03() { 1913 svc := s3.New(session.New()) 1914 input := &s3.PutObjectInput{ 1915 Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), 1916 Bucket: aws.String("examplebucket"), 1917 Key: aws.String("objectkey"), 1918 } 1919 1920 result, err := svc.PutObject(input) 1921 if err != nil { 1922 if aerr, ok := err.(awserr.Error); ok { 1923 switch aerr.Code() { 1924 default: 1925 fmt.Println(aerr.Error()) 1926 } 1927 } else { 1928 // Print the error, cast err to awserr.Error to get the Code and 1929 // Message from an error. 1930 fmt.Println(err.Error()) 1931 } 1932 return 1933 } 1934 1935 fmt.Println(result) 1936} 1937 1938// To upload an object and specify server-side encryption and object tags 1939// 1940// The following example uploads and object. The request specifies the optional server-side 1941// encryption option. The request also specifies optional object tags. If the bucket 1942// is versioning enabled, S3 returns version ID in response. 1943func ExampleS3_PutObject_shared04() { 1944 svc := s3.New(session.New()) 1945 input := &s3.PutObjectInput{ 1946 Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), 1947 Bucket: aws.String("examplebucket"), 1948 Key: aws.String("exampleobject"), 1949 ServerSideEncryption: aws.String("AES256"), 1950 Tagging: aws.String("key1=value1&key2=value2"), 1951 } 1952 1953 result, err := svc.PutObject(input) 1954 if err != nil { 1955 if aerr, ok := err.(awserr.Error); ok { 1956 switch aerr.Code() { 1957 default: 1958 fmt.Println(aerr.Error()) 1959 } 1960 } else { 1961 // Print the error, cast err to awserr.Error to get the Code and 1962 // Message from an error. 1963 fmt.Println(err.Error()) 1964 } 1965 return 1966 } 1967 1968 fmt.Println(result) 1969} 1970 1971// To upload an object and specify optional tags 1972// 1973// The following example uploads an object. The request specifies optional object tags. 1974// The bucket is versioned, therefore S3 returns version ID of the newly created object. 1975func ExampleS3_PutObject_shared05() { 1976 svc := s3.New(session.New()) 1977 input := &s3.PutObjectInput{ 1978 Body: aws.ReadSeekCloser(strings.NewReader("c:\\HappyFace.jpg")), 1979 Bucket: aws.String("examplebucket"), 1980 Key: aws.String("HappyFace.jpg"), 1981 Tagging: aws.String("key1=value1&key2=value2"), 1982 } 1983 1984 result, err := svc.PutObject(input) 1985 if err != nil { 1986 if aerr, ok := err.(awserr.Error); ok { 1987 switch aerr.Code() { 1988 default: 1989 fmt.Println(aerr.Error()) 1990 } 1991 } else { 1992 // Print the error, cast err to awserr.Error to get the Code and 1993 // Message from an error. 1994 fmt.Println(err.Error()) 1995 } 1996 return 1997 } 1998 1999 fmt.Println(result) 2000} 2001 2002// To upload an object and specify canned ACL. 2003// 2004// The following example uploads and object. The request specifies optional canned ACL 2005// (access control list) to all READ access to authenticated users. If the bucket is 2006// versioning enabled, S3 returns version ID in response. 2007func ExampleS3_PutObject_shared06() { 2008 svc := s3.New(session.New()) 2009 input := &s3.PutObjectInput{ 2010 ACL: aws.String("authenticated-read"), 2011 Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), 2012 Bucket: aws.String("examplebucket"), 2013 Key: aws.String("exampleobject"), 2014 } 2015 2016 result, err := svc.PutObject(input) 2017 if err != nil { 2018 if aerr, ok := err.(awserr.Error); ok { 2019 switch aerr.Code() { 2020 default: 2021 fmt.Println(aerr.Error()) 2022 } 2023 } else { 2024 // Print the error, cast err to awserr.Error to get the Code and 2025 // Message from an error. 2026 fmt.Println(err.Error()) 2027 } 2028 return 2029 } 2030 2031 fmt.Println(result) 2032} 2033 2034// To grant permissions using object ACL 2035// 2036// The following example adds grants to an object ACL. The first permission grants user1 2037// and user2 FULL_CONTROL and the AllUsers group READ permission. 2038func ExampleS3_PutObjectAcl_shared00() { 2039 svc := s3.New(session.New()) 2040 input := &s3.PutObjectAclInput{ 2041 AccessControlPolicy: &s3.AccessControlPolicy{}, 2042 Bucket: aws.String("examplebucket"), 2043 GrantFullControl: aws.String("emailaddress=user1@example.com,emailaddress=user2@example.com"), 2044 GrantRead: aws.String("uri=http://acs.amazonaws.com/groups/global/AllUsers"), 2045 Key: aws.String("HappyFace.jpg"), 2046 } 2047 2048 result, err := svc.PutObjectAcl(input) 2049 if err != nil { 2050 if aerr, ok := err.(awserr.Error); ok { 2051 switch aerr.Code() { 2052 case s3.ErrCodeNoSuchKey: 2053 fmt.Println(s3.ErrCodeNoSuchKey, aerr.Error()) 2054 default: 2055 fmt.Println(aerr.Error()) 2056 } 2057 } else { 2058 // Print the error, cast err to awserr.Error to get the Code and 2059 // Message from an error. 2060 fmt.Println(err.Error()) 2061 } 2062 return 2063 } 2064 2065 fmt.Println(result) 2066} 2067 2068// To add tags to an existing object 2069// 2070// The following example adds tags to an existing object. 2071func ExampleS3_PutObjectTagging_shared00() { 2072 svc := s3.New(session.New()) 2073 input := &s3.PutObjectTaggingInput{ 2074 Bucket: aws.String("examplebucket"), 2075 Key: aws.String("HappyFace.jpg"), 2076 Tagging: &s3.Tagging{ 2077 TagSet: []*s3.Tag{ 2078 { 2079 Key: aws.String("Key3"), 2080 Value: aws.String("Value3"), 2081 }, 2082 { 2083 Key: aws.String("Key4"), 2084 Value: aws.String("Value4"), 2085 }, 2086 }, 2087 }, 2088 } 2089 2090 result, err := svc.PutObjectTagging(input) 2091 if err != nil { 2092 if aerr, ok := err.(awserr.Error); ok { 2093 switch aerr.Code() { 2094 default: 2095 fmt.Println(aerr.Error()) 2096 } 2097 } else { 2098 // Print the error, cast err to awserr.Error to get the Code and 2099 // Message from an error. 2100 fmt.Println(err.Error()) 2101 } 2102 return 2103 } 2104 2105 fmt.Println(result) 2106} 2107 2108// To restore an archived object 2109// 2110// The following example restores for one day an archived copy of an object back into 2111// Amazon S3 bucket. 2112func ExampleS3_RestoreObject_shared00() { 2113 svc := s3.New(session.New()) 2114 input := &s3.RestoreObjectInput{ 2115 Bucket: aws.String("examplebucket"), 2116 Key: aws.String("archivedobjectkey"), 2117 RestoreRequest: &s3.RestoreRequest{ 2118 Days: aws.Int64(1), 2119 GlacierJobParameters: &s3.GlacierJobParameters{ 2120 Tier: aws.String("Expedited"), 2121 }, 2122 }, 2123 } 2124 2125 result, err := svc.RestoreObject(input) 2126 if err != nil { 2127 if aerr, ok := err.(awserr.Error); ok { 2128 switch aerr.Code() { 2129 case s3.ErrCodeObjectAlreadyInActiveTierError: 2130 fmt.Println(s3.ErrCodeObjectAlreadyInActiveTierError, aerr.Error()) 2131 default: 2132 fmt.Println(aerr.Error()) 2133 } 2134 } else { 2135 // Print the error, cast err to awserr.Error to get the Code and 2136 // Message from an error. 2137 fmt.Println(err.Error()) 2138 } 2139 return 2140 } 2141 2142 fmt.Println(result) 2143} 2144 2145// To upload a part 2146// 2147// The following example uploads part 1 of a multipart upload. The example specifies 2148// a file name for the part data. The Upload ID is same that is returned by the initiate 2149// multipart upload. 2150func ExampleS3_UploadPart_shared00() { 2151 svc := s3.New(session.New()) 2152 input := &s3.UploadPartInput{ 2153 Body: aws.ReadSeekCloser(strings.NewReader("fileToUpload")), 2154 Bucket: aws.String("examplebucket"), 2155 Key: aws.String("examplelargeobject"), 2156 PartNumber: aws.Int64(1), 2157 UploadId: aws.String("xadcOB_7YPBOJuoFiQ9cz4P3Pe6FIZwO4f7wN93uHsNBEw97pl5eNwzExg0LAT2dUN91cOmrEQHDsP3WA60CEg--"), 2158 } 2159 2160 result, err := svc.UploadPart(input) 2161 if err != nil { 2162 if aerr, ok := err.(awserr.Error); ok { 2163 switch aerr.Code() { 2164 default: 2165 fmt.Println(aerr.Error()) 2166 } 2167 } else { 2168 // Print the error, cast err to awserr.Error to get the Code and 2169 // Message from an error. 2170 fmt.Println(err.Error()) 2171 } 2172 return 2173 } 2174 2175 fmt.Println(result) 2176} 2177 2178// To upload a part by copying byte range from an existing object as data source 2179// 2180// The following example uploads a part of a multipart upload by copying a specified 2181// byte range from an existing object as data source. 2182func ExampleS3_UploadPartCopy_shared00() { 2183 svc := s3.New(session.New()) 2184 input := &s3.UploadPartCopyInput{ 2185 Bucket: aws.String("examplebucket"), 2186 CopySource: aws.String("/bucketname/sourceobjectkey"), 2187 CopySourceRange: aws.String("bytes=1-100000"), 2188 Key: aws.String("examplelargeobject"), 2189 PartNumber: aws.Int64(2), 2190 UploadId: aws.String("exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"), 2191 } 2192 2193 result, err := svc.UploadPartCopy(input) 2194 if err != nil { 2195 if aerr, ok := err.(awserr.Error); ok { 2196 switch aerr.Code() { 2197 default: 2198 fmt.Println(aerr.Error()) 2199 } 2200 } else { 2201 // Print the error, cast err to awserr.Error to get the Code and 2202 // Message from an error. 2203 fmt.Println(err.Error()) 2204 } 2205 return 2206 } 2207 2208 fmt.Println(result) 2209} 2210 2211// To upload a part by copying data from an existing object as data source 2212// 2213// The following example uploads a part of a multipart upload by copying data from an 2214// existing object as data source. 2215func ExampleS3_UploadPartCopy_shared01() { 2216 svc := s3.New(session.New()) 2217 input := &s3.UploadPartCopyInput{ 2218 Bucket: aws.String("examplebucket"), 2219 CopySource: aws.String("/bucketname/sourceobjectkey"), 2220 Key: aws.String("examplelargeobject"), 2221 PartNumber: aws.Int64(1), 2222 UploadId: aws.String("exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"), 2223 } 2224 2225 result, err := svc.UploadPartCopy(input) 2226 if err != nil { 2227 if aerr, ok := err.(awserr.Error); ok { 2228 switch aerr.Code() { 2229 default: 2230 fmt.Println(aerr.Error()) 2231 } 2232 } else { 2233 // Print the error, cast err to awserr.Error to get the Code and 2234 // Message from an error. 2235 fmt.Println(err.Error()) 2236 } 2237 return 2238 } 2239 2240 fmt.Println(result) 2241} 2242