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 132// 133// The following example creates a bucket. 134func ExampleS3_CreateBucket_shared00() { 135 svc := s3.New(session.New()) 136 input := &s3.CreateBucketInput{ 137 Bucket: aws.String("examplebucket"), 138 } 139 140 result, err := svc.CreateBucket(input) 141 if err != nil { 142 if aerr, ok := err.(awserr.Error); ok { 143 switch aerr.Code() { 144 case s3.ErrCodeBucketAlreadyExists: 145 fmt.Println(s3.ErrCodeBucketAlreadyExists, aerr.Error()) 146 case s3.ErrCodeBucketAlreadyOwnedByYou: 147 fmt.Println(s3.ErrCodeBucketAlreadyOwnedByYou, aerr.Error()) 148 default: 149 fmt.Println(aerr.Error()) 150 } 151 } else { 152 // Print the error, cast err to awserr.Error to get the Code and 153 // Message from an error. 154 fmt.Println(err.Error()) 155 } 156 return 157 } 158 159 fmt.Println(result) 160} 161 162// To create a bucket in a specific region 163// 164// The following example creates a bucket. The request specifies an AWS region where 165// to create the bucket. 166func ExampleS3_CreateBucket_shared01() { 167 svc := s3.New(session.New()) 168 input := &s3.CreateBucketInput{ 169 Bucket: aws.String("examplebucket"), 170 CreateBucketConfiguration: &s3.CreateBucketConfiguration{ 171 LocationConstraint: aws.String("eu-west-1"), 172 }, 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 version 471// 472// The following example removes tag set associated with the specified object version. 473// The request specifies both the object key and object version. 474func ExampleS3_DeleteObjectTagging_shared00() { 475 svc := s3.New(session.New()) 476 input := &s3.DeleteObjectTaggingInput{ 477 Bucket: aws.String("examplebucket"), 478 Key: aws.String("HappyFace.jpg"), 479 VersionId: aws.String("ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"), 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 501// 502// The following example removes tag set associated with the specified object. If the 503// bucket is versioning enabled, the operation removes tag set from the latest object 504// version. 505func ExampleS3_DeleteObjectTagging_shared01() { 506 svc := s3.New(session.New()) 507 input := &s3.DeleteObjectTaggingInput{ 508 Bucket: aws.String("examplebucket"), 509 Key: aws.String("HappyFace.jpg"), 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 default: 956 fmt.Println(aerr.Error()) 957 } 958 } else { 959 // Print the error, cast err to awserr.Error to get the Code and 960 // Message from an error. 961 fmt.Println(err.Error()) 962 } 963 return 964 } 965 966 fmt.Println(result) 967} 968 969// To retrieve an object 970// 971// The following example retrieves an object for an S3 bucket. 972func ExampleS3_GetObject_shared01() { 973 svc := s3.New(session.New()) 974 input := &s3.GetObjectInput{ 975 Bucket: aws.String("examplebucket"), 976 Key: aws.String("HappyFace.jpg"), 977 } 978 979 result, err := svc.GetObject(input) 980 if err != nil { 981 if aerr, ok := err.(awserr.Error); ok { 982 switch aerr.Code() { 983 case s3.ErrCodeNoSuchKey: 984 fmt.Println(s3.ErrCodeNoSuchKey, aerr.Error()) 985 default: 986 fmt.Println(aerr.Error()) 987 } 988 } else { 989 // Print the error, cast err to awserr.Error to get the Code and 990 // Message from an error. 991 fmt.Println(err.Error()) 992 } 993 return 994 } 995 996 fmt.Println(result) 997} 998 999// To retrieve object ACL 1000// 1001// The following example retrieves access control list (ACL) of an object. 1002func ExampleS3_GetObjectAcl_shared00() { 1003 svc := s3.New(session.New()) 1004 input := &s3.GetObjectAclInput{ 1005 Bucket: aws.String("examplebucket"), 1006 Key: aws.String("HappyFace.jpg"), 1007 } 1008 1009 result, err := svc.GetObjectAcl(input) 1010 if err != nil { 1011 if aerr, ok := err.(awserr.Error); ok { 1012 switch aerr.Code() { 1013 case s3.ErrCodeNoSuchKey: 1014 fmt.Println(s3.ErrCodeNoSuchKey, aerr.Error()) 1015 default: 1016 fmt.Println(aerr.Error()) 1017 } 1018 } else { 1019 // Print the error, cast err to awserr.Error to get the Code and 1020 // Message from an error. 1021 fmt.Println(err.Error()) 1022 } 1023 return 1024 } 1025 1026 fmt.Println(result) 1027} 1028 1029// To retrieve tag set of an object 1030// 1031// The following example retrieves tag set of an object. 1032func ExampleS3_GetObjectTagging_shared00() { 1033 svc := s3.New(session.New()) 1034 input := &s3.GetObjectTaggingInput{ 1035 Bucket: aws.String("examplebucket"), 1036 Key: aws.String("HappyFace.jpg"), 1037 } 1038 1039 result, err := svc.GetObjectTagging(input) 1040 if err != nil { 1041 if aerr, ok := err.(awserr.Error); ok { 1042 switch aerr.Code() { 1043 default: 1044 fmt.Println(aerr.Error()) 1045 } 1046 } else { 1047 // Print the error, cast err to awserr.Error to get the Code and 1048 // Message from an error. 1049 fmt.Println(err.Error()) 1050 } 1051 return 1052 } 1053 1054 fmt.Println(result) 1055} 1056 1057// To retrieve tag set of a specific object version 1058// 1059// The following example retrieves tag set of an object. The request specifies object 1060// version. 1061func ExampleS3_GetObjectTagging_shared01() { 1062 svc := s3.New(session.New()) 1063 input := &s3.GetObjectTaggingInput{ 1064 Bucket: aws.String("examplebucket"), 1065 Key: aws.String("exampleobject"), 1066 VersionId: aws.String("ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"), 1067 } 1068 1069 result, err := svc.GetObjectTagging(input) 1070 if err != nil { 1071 if aerr, ok := err.(awserr.Error); ok { 1072 switch aerr.Code() { 1073 default: 1074 fmt.Println(aerr.Error()) 1075 } 1076 } else { 1077 // Print the error, cast err to awserr.Error to get the Code and 1078 // Message from an error. 1079 fmt.Println(err.Error()) 1080 } 1081 return 1082 } 1083 1084 fmt.Println(result) 1085} 1086 1087// To retrieve torrent files for an object 1088// 1089// The following example retrieves torrent files of an object. 1090func ExampleS3_GetObjectTorrent_shared00() { 1091 svc := s3.New(session.New()) 1092 input := &s3.GetObjectTorrentInput{ 1093 Bucket: aws.String("examplebucket"), 1094 Key: aws.String("HappyFace.jpg"), 1095 } 1096 1097 result, err := svc.GetObjectTorrent(input) 1098 if err != nil { 1099 if aerr, ok := err.(awserr.Error); ok { 1100 switch aerr.Code() { 1101 default: 1102 fmt.Println(aerr.Error()) 1103 } 1104 } else { 1105 // Print the error, cast err to awserr.Error to get the Code and 1106 // Message from an error. 1107 fmt.Println(err.Error()) 1108 } 1109 return 1110 } 1111 1112 fmt.Println(result) 1113} 1114 1115// To determine if bucket exists 1116// 1117// This operation checks to see if a bucket exists. 1118func ExampleS3_HeadBucket_shared00() { 1119 svc := s3.New(session.New()) 1120 input := &s3.HeadBucketInput{ 1121 Bucket: aws.String("acl1"), 1122 } 1123 1124 result, err := svc.HeadBucket(input) 1125 if err != nil { 1126 if aerr, ok := err.(awserr.Error); ok { 1127 switch aerr.Code() { 1128 case s3.ErrCodeNoSuchBucket: 1129 fmt.Println(s3.ErrCodeNoSuchBucket, aerr.Error()) 1130 default: 1131 fmt.Println(aerr.Error()) 1132 } 1133 } else { 1134 // Print the error, cast err to awserr.Error to get the Code and 1135 // Message from an error. 1136 fmt.Println(err.Error()) 1137 } 1138 return 1139 } 1140 1141 fmt.Println(result) 1142} 1143 1144// To retrieve metadata of an object without returning the object itself 1145// 1146// The following example retrieves an object metadata. 1147func ExampleS3_HeadObject_shared00() { 1148 svc := s3.New(session.New()) 1149 input := &s3.HeadObjectInput{ 1150 Bucket: aws.String("examplebucket"), 1151 Key: aws.String("HappyFace.jpg"), 1152 } 1153 1154 result, err := svc.HeadObject(input) 1155 if err != nil { 1156 if aerr, ok := err.(awserr.Error); ok { 1157 switch aerr.Code() { 1158 default: 1159 fmt.Println(aerr.Error()) 1160 } 1161 } else { 1162 // Print the error, cast err to awserr.Error to get the Code and 1163 // Message from an error. 1164 fmt.Println(err.Error()) 1165 } 1166 return 1167 } 1168 1169 fmt.Println(result) 1170} 1171 1172// To list object versions 1173// 1174// The following example return versions of an object with specific key name prefix. 1175// The request limits the number of items returned to two. If there are are more than 1176// two object version, S3 returns NextToken in the response. You can specify this token 1177// value in your next request to fetch next set of object versions. 1178func ExampleS3_ListBuckets_shared00() { 1179 svc := s3.New(session.New()) 1180 input := &s3.ListBucketsInput{} 1181 1182 result, err := svc.ListBuckets(input) 1183 if err != nil { 1184 if aerr, ok := err.(awserr.Error); ok { 1185 switch aerr.Code() { 1186 default: 1187 fmt.Println(aerr.Error()) 1188 } 1189 } else { 1190 // Print the error, cast err to awserr.Error to get the Code and 1191 // Message from an error. 1192 fmt.Println(err.Error()) 1193 } 1194 return 1195 } 1196 1197 fmt.Println(result) 1198} 1199 1200// List next set of multipart uploads when previous result is truncated 1201// 1202// The following example specifies the upload-id-marker and key-marker from previous 1203// truncated response to retrieve next setup of multipart uploads. 1204func ExampleS3_ListMultipartUploads_shared00() { 1205 svc := s3.New(session.New()) 1206 input := &s3.ListMultipartUploadsInput{ 1207 Bucket: aws.String("examplebucket"), 1208 KeyMarker: aws.String("nextkeyfrompreviousresponse"), 1209 MaxUploads: aws.Int64(2), 1210 UploadIdMarker: aws.String("valuefrompreviousresponse"), 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// To list in-progress multipart uploads on a bucket 1232// 1233// The following example lists in-progress multipart uploads on a specific bucket. 1234func ExampleS3_ListMultipartUploads_shared01() { 1235 svc := s3.New(session.New()) 1236 input := &s3.ListMultipartUploadsInput{ 1237 Bucket: aws.String("examplebucket"), 1238 } 1239 1240 result, err := svc.ListMultipartUploads(input) 1241 if err != nil { 1242 if aerr, ok := err.(awserr.Error); ok { 1243 switch aerr.Code() { 1244 default: 1245 fmt.Println(aerr.Error()) 1246 } 1247 } else { 1248 // Print the error, cast err to awserr.Error to get the Code and 1249 // Message from an error. 1250 fmt.Println(err.Error()) 1251 } 1252 return 1253 } 1254 1255 fmt.Println(result) 1256} 1257 1258// To list object versions 1259// 1260// The following example return versions of an object with specific key name prefix. 1261// The request limits the number of items returned to two. If there are are more than 1262// two object version, S3 returns NextToken in the response. You can specify this token 1263// value in your next request to fetch next set of object versions. 1264func ExampleS3_ListObjectVersions_shared00() { 1265 svc := s3.New(session.New()) 1266 input := &s3.ListObjectVersionsInput{ 1267 Bucket: aws.String("examplebucket"), 1268 Prefix: aws.String("HappyFace.jpg"), 1269 } 1270 1271 result, err := svc.ListObjectVersions(input) 1272 if err != nil { 1273 if aerr, ok := err.(awserr.Error); ok { 1274 switch aerr.Code() { 1275 default: 1276 fmt.Println(aerr.Error()) 1277 } 1278 } else { 1279 // Print the error, cast err to awserr.Error to get the Code and 1280 // Message from an error. 1281 fmt.Println(err.Error()) 1282 } 1283 return 1284 } 1285 1286 fmt.Println(result) 1287} 1288 1289// To list objects in a bucket 1290// 1291// The following example list two objects in a bucket. 1292func ExampleS3_ListObjects_shared00() { 1293 svc := s3.New(session.New()) 1294 input := &s3.ListObjectsInput{ 1295 Bucket: aws.String("examplebucket"), 1296 MaxKeys: aws.Int64(2), 1297 } 1298 1299 result, err := svc.ListObjects(input) 1300 if err != nil { 1301 if aerr, ok := err.(awserr.Error); ok { 1302 switch aerr.Code() { 1303 case s3.ErrCodeNoSuchBucket: 1304 fmt.Println(s3.ErrCodeNoSuchBucket, aerr.Error()) 1305 default: 1306 fmt.Println(aerr.Error()) 1307 } 1308 } else { 1309 // Print the error, cast err to awserr.Error to get the Code and 1310 // Message from an error. 1311 fmt.Println(err.Error()) 1312 } 1313 return 1314 } 1315 1316 fmt.Println(result) 1317} 1318 1319// To get object list 1320// 1321// The following example retrieves object list. The request specifies max keys to limit 1322// response to include only 2 object keys. 1323func ExampleS3_ListObjectsV2_shared00() { 1324 svc := s3.New(session.New()) 1325 input := &s3.ListObjectsV2Input{ 1326 Bucket: aws.String("examplebucket"), 1327 MaxKeys: aws.Int64(2), 1328 } 1329 1330 result, err := svc.ListObjectsV2(input) 1331 if err != nil { 1332 if aerr, ok := err.(awserr.Error); ok { 1333 switch aerr.Code() { 1334 case s3.ErrCodeNoSuchBucket: 1335 fmt.Println(s3.ErrCodeNoSuchBucket, aerr.Error()) 1336 default: 1337 fmt.Println(aerr.Error()) 1338 } 1339 } else { 1340 // Print the error, cast err to awserr.Error to get the Code and 1341 // Message from an error. 1342 fmt.Println(err.Error()) 1343 } 1344 return 1345 } 1346 1347 fmt.Println(result) 1348} 1349 1350// To list parts of a multipart upload. 1351// 1352// The following example lists parts uploaded for a specific multipart upload. 1353func ExampleS3_ListParts_shared00() { 1354 svc := s3.New(session.New()) 1355 input := &s3.ListPartsInput{ 1356 Bucket: aws.String("examplebucket"), 1357 Key: aws.String("bigobject"), 1358 UploadId: aws.String("example7YPBOJuoFiQ9cz4P3Pe6FIZwO4f7wN93uHsNBEw97pl5eNwzExg0LAT2dUN91cOmrEQHDsP3WA60CEg--"), 1359 } 1360 1361 result, err := svc.ListParts(input) 1362 if err != nil { 1363 if aerr, ok := err.(awserr.Error); ok { 1364 switch aerr.Code() { 1365 default: 1366 fmt.Println(aerr.Error()) 1367 } 1368 } else { 1369 // Print the error, cast err to awserr.Error to get the Code and 1370 // Message from an error. 1371 fmt.Println(err.Error()) 1372 } 1373 return 1374 } 1375 1376 fmt.Println(result) 1377} 1378 1379// Put bucket acl 1380// 1381// The following example replaces existing ACL on a bucket. The ACL grants the bucket 1382// owner (specified using the owner ID) and write permission to the LogDelivery group. 1383// Because this is a replace operation, you must specify all the grants in your request. 1384// To incrementally add or remove ACL grants, you might use the console. 1385func ExampleS3_PutBucketAcl_shared00() { 1386 svc := s3.New(session.New()) 1387 input := &s3.PutBucketAclInput{ 1388 Bucket: aws.String("examplebucket"), 1389 GrantFullControl: aws.String("id=examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484"), 1390 GrantWrite: aws.String("uri=http://acs.amazonaws.com/groups/s3/LogDelivery"), 1391 } 1392 1393 result, err := svc.PutBucketAcl(input) 1394 if err != nil { 1395 if aerr, ok := err.(awserr.Error); ok { 1396 switch aerr.Code() { 1397 default: 1398 fmt.Println(aerr.Error()) 1399 } 1400 } else { 1401 // Print the error, cast err to awserr.Error to get the Code and 1402 // Message from an error. 1403 fmt.Println(err.Error()) 1404 } 1405 return 1406 } 1407 1408 fmt.Println(result) 1409} 1410 1411// To set cors configuration on a bucket. 1412// 1413// The following example enables PUT, POST, and DELETE requests from www.example.com, 1414// and enables GET requests from any domain. 1415func ExampleS3_PutBucketCors_shared00() { 1416 svc := s3.New(session.New()) 1417 input := &s3.PutBucketCorsInput{ 1418 Bucket: aws.String(""), 1419 CORSConfiguration: &s3.CORSConfiguration{ 1420 CORSRules: []*s3.CORSRule{ 1421 { 1422 AllowedHeaders: []*string{ 1423 aws.String("*"), 1424 }, 1425 AllowedMethods: []*string{ 1426 aws.String("PUT"), 1427 aws.String("POST"), 1428 aws.String("DELETE"), 1429 }, 1430 AllowedOrigins: []*string{ 1431 aws.String("http://www.example.com"), 1432 }, 1433 ExposeHeaders: []*string{ 1434 aws.String("x-amz-server-side-encryption"), 1435 }, 1436 MaxAgeSeconds: aws.Int64(3000), 1437 }, 1438 { 1439 AllowedHeaders: []*string{ 1440 aws.String("Authorization"), 1441 }, 1442 AllowedMethods: []*string{ 1443 aws.String("GET"), 1444 }, 1445 AllowedOrigins: []*string{ 1446 aws.String("*"), 1447 }, 1448 MaxAgeSeconds: aws.Int64(3000), 1449 }, 1450 }, 1451 }, 1452 } 1453 1454 result, err := svc.PutBucketCors(input) 1455 if err != nil { 1456 if aerr, ok := err.(awserr.Error); ok { 1457 switch aerr.Code() { 1458 default: 1459 fmt.Println(aerr.Error()) 1460 } 1461 } else { 1462 // Print the error, cast err to awserr.Error to get the Code and 1463 // Message from an error. 1464 fmt.Println(err.Error()) 1465 } 1466 return 1467 } 1468 1469 fmt.Println(result) 1470} 1471 1472// Put bucket lifecycle 1473// 1474// The following example replaces existing lifecycle configuration, if any, on the specified 1475// bucket. 1476func ExampleS3_PutBucketLifecycleConfiguration_shared00() { 1477 svc := s3.New(session.New()) 1478 input := &s3.PutBucketLifecycleConfigurationInput{ 1479 Bucket: aws.String("examplebucket"), 1480 LifecycleConfiguration: &s3.BucketLifecycleConfiguration{ 1481 Rules: []*s3.LifecycleRule{ 1482 { 1483 Expiration: &s3.LifecycleExpiration{ 1484 Days: aws.Int64(3650), 1485 }, 1486 Filter: &s3.LifecycleRuleFilter{ 1487 Prefix: aws.String("documents/"), 1488 }, 1489 ID: aws.String("TestOnly"), 1490 Status: aws.String("Enabled"), 1491 Transitions: []*s3.Transition{ 1492 { 1493 Days: aws.Int64(365), 1494 StorageClass: aws.String("GLACIER"), 1495 }, 1496 }, 1497 }, 1498 }, 1499 }, 1500 } 1501 1502 result, err := svc.PutBucketLifecycleConfiguration(input) 1503 if err != nil { 1504 if aerr, ok := err.(awserr.Error); ok { 1505 switch aerr.Code() { 1506 default: 1507 fmt.Println(aerr.Error()) 1508 } 1509 } else { 1510 // Print the error, cast err to awserr.Error to get the Code and 1511 // Message from an error. 1512 fmt.Println(err.Error()) 1513 } 1514 return 1515 } 1516 1517 fmt.Println(result) 1518} 1519 1520// Set logging configuration for a bucket 1521// 1522// The following example sets logging policy on a bucket. For the Log Delivery group 1523// to deliver logs to the destination bucket, it needs permission for the READ_ACP action 1524// which the policy grants. 1525func ExampleS3_PutBucketLogging_shared00() { 1526 svc := s3.New(session.New()) 1527 input := &s3.PutBucketLoggingInput{ 1528 Bucket: aws.String("sourcebucket"), 1529 BucketLoggingStatus: &s3.BucketLoggingStatus{ 1530 LoggingEnabled: &s3.LoggingEnabled{ 1531 TargetBucket: aws.String("targetbucket"), 1532 TargetGrants: []*s3.TargetGrant{ 1533 { 1534 Grantee: &s3.Grantee{ 1535 Type: aws.String("Group"), 1536 URI: aws.String("http://acs.amazonaws.com/groups/global/AllUsers"), 1537 }, 1538 Permission: aws.String("READ"), 1539 }, 1540 }, 1541 TargetPrefix: aws.String("MyBucketLogs/"), 1542 }, 1543 }, 1544 } 1545 1546 result, err := svc.PutBucketLogging(input) 1547 if err != nil { 1548 if aerr, ok := err.(awserr.Error); ok { 1549 switch aerr.Code() { 1550 default: 1551 fmt.Println(aerr.Error()) 1552 } 1553 } else { 1554 // Print the error, cast err to awserr.Error to get the Code and 1555 // Message from an error. 1556 fmt.Println(err.Error()) 1557 } 1558 return 1559 } 1560 1561 fmt.Println(result) 1562} 1563 1564// Set notification configuration for a bucket 1565// 1566// The following example sets notification configuration on a bucket to publish the 1567// object created events to an SNS topic. 1568func ExampleS3_PutBucketNotificationConfiguration_shared00() { 1569 svc := s3.New(session.New()) 1570 input := &s3.PutBucketNotificationConfigurationInput{ 1571 Bucket: aws.String("examplebucket"), 1572 NotificationConfiguration: &s3.NotificationConfiguration{ 1573 TopicConfigurations: []*s3.TopicConfiguration{ 1574 { 1575 Events: []*string{ 1576 aws.String("s3:ObjectCreated:*"), 1577 }, 1578 TopicArn: aws.String("arn:aws:sns:us-west-2:123456789012:s3-notification-topic"), 1579 }, 1580 }, 1581 }, 1582 } 1583 1584 result, err := svc.PutBucketNotificationConfiguration(input) 1585 if err != nil { 1586 if aerr, ok := err.(awserr.Error); ok { 1587 switch aerr.Code() { 1588 default: 1589 fmt.Println(aerr.Error()) 1590 } 1591 } else { 1592 // Print the error, cast err to awserr.Error to get the Code and 1593 // Message from an error. 1594 fmt.Println(err.Error()) 1595 } 1596 return 1597 } 1598 1599 fmt.Println(result) 1600} 1601 1602// Set bucket policy 1603// 1604// The following example sets a permission policy on a bucket. 1605func ExampleS3_PutBucketPolicy_shared00() { 1606 svc := s3.New(session.New()) 1607 input := &s3.PutBucketPolicyInput{ 1608 Bucket: aws.String("examplebucket"), 1609 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/*\" ] } ]}"), 1610 } 1611 1612 result, err := svc.PutBucketPolicy(input) 1613 if err != nil { 1614 if aerr, ok := err.(awserr.Error); ok { 1615 switch aerr.Code() { 1616 default: 1617 fmt.Println(aerr.Error()) 1618 } 1619 } else { 1620 // Print the error, cast err to awserr.Error to get the Code and 1621 // Message from an error. 1622 fmt.Println(err.Error()) 1623 } 1624 return 1625 } 1626 1627 fmt.Println(result) 1628} 1629 1630// Set replication configuration on a bucket 1631// 1632// The following example sets replication configuration on a bucket. 1633func ExampleS3_PutBucketReplication_shared00() { 1634 svc := s3.New(session.New()) 1635 input := &s3.PutBucketReplicationInput{ 1636 Bucket: aws.String("examplebucket"), 1637 ReplicationConfiguration: &s3.ReplicationConfiguration{ 1638 Role: aws.String("arn:aws:iam::123456789012:role/examplerole"), 1639 Rules: []*s3.ReplicationRule{ 1640 { 1641 Destination: &s3.Destination{ 1642 Bucket: aws.String("arn:aws:s3:::destinationbucket"), 1643 StorageClass: aws.String("STANDARD"), 1644 }, 1645 Prefix: aws.String(""), 1646 Status: aws.String("Enabled"), 1647 }, 1648 }, 1649 }, 1650 } 1651 1652 result, err := svc.PutBucketReplication(input) 1653 if err != nil { 1654 if aerr, ok := err.(awserr.Error); ok { 1655 switch aerr.Code() { 1656 default: 1657 fmt.Println(aerr.Error()) 1658 } 1659 } else { 1660 // Print the error, cast err to awserr.Error to get the Code and 1661 // Message from an error. 1662 fmt.Println(err.Error()) 1663 } 1664 return 1665 } 1666 1667 fmt.Println(result) 1668} 1669 1670// Set request payment configuration on a bucket. 1671// 1672// The following example sets request payment configuration on a bucket so that person 1673// requesting the download is charged. 1674func ExampleS3_PutBucketRequestPayment_shared00() { 1675 svc := s3.New(session.New()) 1676 input := &s3.PutBucketRequestPaymentInput{ 1677 Bucket: aws.String("examplebucket"), 1678 RequestPaymentConfiguration: &s3.RequestPaymentConfiguration{ 1679 Payer: aws.String("Requester"), 1680 }, 1681 } 1682 1683 result, err := svc.PutBucketRequestPayment(input) 1684 if err != nil { 1685 if aerr, ok := err.(awserr.Error); ok { 1686 switch aerr.Code() { 1687 default: 1688 fmt.Println(aerr.Error()) 1689 } 1690 } else { 1691 // Print the error, cast err to awserr.Error to get the Code and 1692 // Message from an error. 1693 fmt.Println(err.Error()) 1694 } 1695 return 1696 } 1697 1698 fmt.Println(result) 1699} 1700 1701// Set tags on a bucket 1702// 1703// The following example sets tags on a bucket. Any existing tags are replaced. 1704func ExampleS3_PutBucketTagging_shared00() { 1705 svc := s3.New(session.New()) 1706 input := &s3.PutBucketTaggingInput{ 1707 Bucket: aws.String("examplebucket"), 1708 Tagging: &s3.Tagging{ 1709 TagSet: []*s3.Tag{ 1710 { 1711 Key: aws.String("Key1"), 1712 Value: aws.String("Value1"), 1713 }, 1714 { 1715 Key: aws.String("Key2"), 1716 Value: aws.String("Value2"), 1717 }, 1718 }, 1719 }, 1720 } 1721 1722 result, err := svc.PutBucketTagging(input) 1723 if err != nil { 1724 if aerr, ok := err.(awserr.Error); ok { 1725 switch aerr.Code() { 1726 default: 1727 fmt.Println(aerr.Error()) 1728 } 1729 } else { 1730 // Print the error, cast err to awserr.Error to get the Code and 1731 // Message from an error. 1732 fmt.Println(err.Error()) 1733 } 1734 return 1735 } 1736 1737 fmt.Println(result) 1738} 1739 1740// Set versioning configuration on a bucket 1741// 1742// The following example sets versioning configuration on bucket. The configuration 1743// enables versioning on the bucket. 1744func ExampleS3_PutBucketVersioning_shared00() { 1745 svc := s3.New(session.New()) 1746 input := &s3.PutBucketVersioningInput{ 1747 Bucket: aws.String("examplebucket"), 1748 VersioningConfiguration: &s3.VersioningConfiguration{ 1749 MFADelete: aws.String("Disabled"), 1750 Status: aws.String("Enabled"), 1751 }, 1752 } 1753 1754 result, err := svc.PutBucketVersioning(input) 1755 if err != nil { 1756 if aerr, ok := err.(awserr.Error); ok { 1757 switch aerr.Code() { 1758 default: 1759 fmt.Println(aerr.Error()) 1760 } 1761 } else { 1762 // Print the error, cast err to awserr.Error to get the Code and 1763 // Message from an error. 1764 fmt.Println(err.Error()) 1765 } 1766 return 1767 } 1768 1769 fmt.Println(result) 1770} 1771 1772// Set website configuration on a bucket 1773// 1774// The following example adds website configuration to a bucket. 1775func ExampleS3_PutBucketWebsite_shared00() { 1776 svc := s3.New(session.New()) 1777 input := &s3.PutBucketWebsiteInput{ 1778 Bucket: aws.String("examplebucket"), 1779 WebsiteConfiguration: &s3.WebsiteConfiguration{ 1780 ErrorDocument: &s3.ErrorDocument{ 1781 Key: aws.String("error.html"), 1782 }, 1783 IndexDocument: &s3.IndexDocument{ 1784 Suffix: aws.String("index.html"), 1785 }, 1786 }, 1787 } 1788 1789 result, err := svc.PutBucketWebsite(input) 1790 if err != nil { 1791 if aerr, ok := err.(awserr.Error); ok { 1792 switch aerr.Code() { 1793 default: 1794 fmt.Println(aerr.Error()) 1795 } 1796 } else { 1797 // Print the error, cast err to awserr.Error to get the Code and 1798 // Message from an error. 1799 fmt.Println(err.Error()) 1800 } 1801 return 1802 } 1803 1804 fmt.Println(result) 1805} 1806 1807// To upload an object (specify optional headers) 1808// 1809// The following example uploads an object. The request specifies optional request headers 1810// to directs S3 to use specific storage class and use server-side encryption. 1811func ExampleS3_PutObject_shared00() { 1812 svc := s3.New(session.New()) 1813 input := &s3.PutObjectInput{ 1814 Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), 1815 Bucket: aws.String("examplebucket"), 1816 Key: aws.String("HappyFace.jpg"), 1817 ServerSideEncryption: aws.String("AES256"), 1818 StorageClass: aws.String("STANDARD_IA"), 1819 } 1820 1821 result, err := svc.PutObject(input) 1822 if err != nil { 1823 if aerr, ok := err.(awserr.Error); ok { 1824 switch aerr.Code() { 1825 default: 1826 fmt.Println(aerr.Error()) 1827 } 1828 } else { 1829 // Print the error, cast err to awserr.Error to get the Code and 1830 // Message from an error. 1831 fmt.Println(err.Error()) 1832 } 1833 return 1834 } 1835 1836 fmt.Println(result) 1837} 1838 1839// To upload an object and specify optional tags 1840// 1841// The following example uploads an object. The request specifies optional object tags. 1842// The bucket is versioned, therefore S3 returns version ID of the newly created object. 1843func ExampleS3_PutObject_shared01() { 1844 svc := s3.New(session.New()) 1845 input := &s3.PutObjectInput{ 1846 Body: aws.ReadSeekCloser(strings.NewReader("c:\\HappyFace.jpg")), 1847 Bucket: aws.String("examplebucket"), 1848 Key: aws.String("HappyFace.jpg"), 1849 Tagging: aws.String("key1=value1&key2=value2"), 1850 } 1851 1852 result, err := svc.PutObject(input) 1853 if err != nil { 1854 if aerr, ok := err.(awserr.Error); ok { 1855 switch aerr.Code() { 1856 default: 1857 fmt.Println(aerr.Error()) 1858 } 1859 } else { 1860 // Print the error, cast err to awserr.Error to get the Code and 1861 // Message from an error. 1862 fmt.Println(err.Error()) 1863 } 1864 return 1865 } 1866 1867 fmt.Println(result) 1868} 1869 1870// To upload object and specify user-defined metadata 1871// 1872// The following example creates an object. The request also specifies optional metadata. 1873// If the bucket is versioning enabled, S3 returns version ID in response. 1874func ExampleS3_PutObject_shared02() { 1875 svc := s3.New(session.New()) 1876 input := &s3.PutObjectInput{ 1877 Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), 1878 Bucket: aws.String("examplebucket"), 1879 Key: aws.String("exampleobject"), 1880 Metadata: map[string]*string{ 1881 "metadata1": aws.String("value1"), 1882 "metadata2": aws.String("value2"), 1883 }, 1884 } 1885 1886 result, err := svc.PutObject(input) 1887 if err != nil { 1888 if aerr, ok := err.(awserr.Error); ok { 1889 switch aerr.Code() { 1890 default: 1891 fmt.Println(aerr.Error()) 1892 } 1893 } else { 1894 // Print the error, cast err to awserr.Error to get the Code and 1895 // Message from an error. 1896 fmt.Println(err.Error()) 1897 } 1898 return 1899 } 1900 1901 fmt.Println(result) 1902} 1903 1904// To create an object. 1905// 1906// The following example creates an object. If the bucket is versioning enabled, S3 1907// returns version ID in response. 1908func ExampleS3_PutObject_shared03() { 1909 svc := s3.New(session.New()) 1910 input := &s3.PutObjectInput{ 1911 Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), 1912 Bucket: aws.String("examplebucket"), 1913 Key: aws.String("objectkey"), 1914 } 1915 1916 result, err := svc.PutObject(input) 1917 if err != nil { 1918 if aerr, ok := err.(awserr.Error); ok { 1919 switch aerr.Code() { 1920 default: 1921 fmt.Println(aerr.Error()) 1922 } 1923 } else { 1924 // Print the error, cast err to awserr.Error to get the Code and 1925 // Message from an error. 1926 fmt.Println(err.Error()) 1927 } 1928 return 1929 } 1930 1931 fmt.Println(result) 1932} 1933 1934// To upload an object 1935// 1936// The following example uploads an object to a versioning-enabled bucket. The source 1937// file is specified using Windows file syntax. S3 returns VersionId of the newly created 1938// object. 1939func ExampleS3_PutObject_shared04() { 1940 svc := s3.New(session.New()) 1941 input := &s3.PutObjectInput{ 1942 Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), 1943 Bucket: aws.String("examplebucket"), 1944 Key: aws.String("HappyFace.jpg"), 1945 } 1946 1947 result, err := svc.PutObject(input) 1948 if err != nil { 1949 if aerr, ok := err.(awserr.Error); ok { 1950 switch aerr.Code() { 1951 default: 1952 fmt.Println(aerr.Error()) 1953 } 1954 } else { 1955 // Print the error, cast err to awserr.Error to get the Code and 1956 // Message from an error. 1957 fmt.Println(err.Error()) 1958 } 1959 return 1960 } 1961 1962 fmt.Println(result) 1963} 1964 1965// To upload an object and specify canned ACL. 1966// 1967// The following example uploads and object. The request specifies optional canned ACL 1968// (access control list) to all READ access to authenticated users. If the bucket is 1969// versioning enabled, S3 returns version ID in response. 1970func ExampleS3_PutObject_shared05() { 1971 svc := s3.New(session.New()) 1972 input := &s3.PutObjectInput{ 1973 ACL: aws.String("authenticated-read"), 1974 Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), 1975 Bucket: aws.String("examplebucket"), 1976 Key: aws.String("exampleobject"), 1977 } 1978 1979 result, err := svc.PutObject(input) 1980 if err != nil { 1981 if aerr, ok := err.(awserr.Error); ok { 1982 switch aerr.Code() { 1983 default: 1984 fmt.Println(aerr.Error()) 1985 } 1986 } else { 1987 // Print the error, cast err to awserr.Error to get the Code and 1988 // Message from an error. 1989 fmt.Println(err.Error()) 1990 } 1991 return 1992 } 1993 1994 fmt.Println(result) 1995} 1996 1997// To upload an object and specify server-side encryption and object tags 1998// 1999// The following example uploads and object. The request specifies the optional server-side 2000// encryption option. The request also specifies optional object tags. If the bucket 2001// is versioning enabled, S3 returns version ID in response. 2002func ExampleS3_PutObject_shared06() { 2003 svc := s3.New(session.New()) 2004 input := &s3.PutObjectInput{ 2005 Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), 2006 Bucket: aws.String("examplebucket"), 2007 Key: aws.String("exampleobject"), 2008 ServerSideEncryption: aws.String("AES256"), 2009 Tagging: aws.String("key1=value1&key2=value2"), 2010 } 2011 2012 result, err := svc.PutObject(input) 2013 if err != nil { 2014 if aerr, ok := err.(awserr.Error); ok { 2015 switch aerr.Code() { 2016 default: 2017 fmt.Println(aerr.Error()) 2018 } 2019 } else { 2020 // Print the error, cast err to awserr.Error to get the Code and 2021 // Message from an error. 2022 fmt.Println(err.Error()) 2023 } 2024 return 2025 } 2026 2027 fmt.Println(result) 2028} 2029 2030// To grant permissions using object ACL 2031// 2032// The following example adds grants to an object ACL. The first permission grants user1 2033// and user2 FULL_CONTROL and the AllUsers group READ permission. 2034func ExampleS3_PutObjectAcl_shared00() { 2035 svc := s3.New(session.New()) 2036 input := &s3.PutObjectAclInput{ 2037 AccessControlPolicy: &s3.AccessControlPolicy{}, 2038 Bucket: aws.String("examplebucket"), 2039 GrantFullControl: aws.String("emailaddress=user1@example.com,emailaddress=user2@example.com"), 2040 GrantRead: aws.String("uri=http://acs.amazonaws.com/groups/global/AllUsers"), 2041 Key: aws.String("HappyFace.jpg"), 2042 } 2043 2044 result, err := svc.PutObjectAcl(input) 2045 if err != nil { 2046 if aerr, ok := err.(awserr.Error); ok { 2047 switch aerr.Code() { 2048 case s3.ErrCodeNoSuchKey: 2049 fmt.Println(s3.ErrCodeNoSuchKey, aerr.Error()) 2050 default: 2051 fmt.Println(aerr.Error()) 2052 } 2053 } else { 2054 // Print the error, cast err to awserr.Error to get the Code and 2055 // Message from an error. 2056 fmt.Println(err.Error()) 2057 } 2058 return 2059 } 2060 2061 fmt.Println(result) 2062} 2063 2064// To add tags to an existing object 2065// 2066// The following example adds tags to an existing object. 2067func ExampleS3_PutObjectTagging_shared00() { 2068 svc := s3.New(session.New()) 2069 input := &s3.PutObjectTaggingInput{ 2070 Bucket: aws.String("examplebucket"), 2071 Key: aws.String("HappyFace.jpg"), 2072 Tagging: &s3.Tagging{ 2073 TagSet: []*s3.Tag{ 2074 { 2075 Key: aws.String("Key3"), 2076 Value: aws.String("Value3"), 2077 }, 2078 { 2079 Key: aws.String("Key4"), 2080 Value: aws.String("Value4"), 2081 }, 2082 }, 2083 }, 2084 } 2085 2086 result, err := svc.PutObjectTagging(input) 2087 if err != nil { 2088 if aerr, ok := err.(awserr.Error); ok { 2089 switch aerr.Code() { 2090 default: 2091 fmt.Println(aerr.Error()) 2092 } 2093 } else { 2094 // Print the error, cast err to awserr.Error to get the Code and 2095 // Message from an error. 2096 fmt.Println(err.Error()) 2097 } 2098 return 2099 } 2100 2101 fmt.Println(result) 2102} 2103 2104// To restore an archived object 2105// 2106// The following example restores for one day an archived copy of an object back into 2107// Amazon S3 bucket. 2108func ExampleS3_RestoreObject_shared00() { 2109 svc := s3.New(session.New()) 2110 input := &s3.RestoreObjectInput{ 2111 Bucket: aws.String("examplebucket"), 2112 Key: aws.String("archivedobjectkey"), 2113 RestoreRequest: &s3.RestoreRequest{ 2114 Days: aws.Int64(1), 2115 GlacierJobParameters: &s3.GlacierJobParameters{ 2116 Tier: aws.String("Expedited"), 2117 }, 2118 }, 2119 } 2120 2121 result, err := svc.RestoreObject(input) 2122 if err != nil { 2123 if aerr, ok := err.(awserr.Error); ok { 2124 switch aerr.Code() { 2125 case s3.ErrCodeObjectAlreadyInActiveTierError: 2126 fmt.Println(s3.ErrCodeObjectAlreadyInActiveTierError, aerr.Error()) 2127 default: 2128 fmt.Println(aerr.Error()) 2129 } 2130 } else { 2131 // Print the error, cast err to awserr.Error to get the Code and 2132 // Message from an error. 2133 fmt.Println(err.Error()) 2134 } 2135 return 2136 } 2137 2138 fmt.Println(result) 2139} 2140 2141// To upload a part 2142// 2143// The following example uploads part 1 of a multipart upload. The example specifies 2144// a file name for the part data. The Upload ID is same that is returned by the initiate 2145// multipart upload. 2146func ExampleS3_UploadPart_shared00() { 2147 svc := s3.New(session.New()) 2148 input := &s3.UploadPartInput{ 2149 Body: aws.ReadSeekCloser(strings.NewReader("fileToUpload")), 2150 Bucket: aws.String("examplebucket"), 2151 Key: aws.String("examplelargeobject"), 2152 PartNumber: aws.Int64(1), 2153 UploadId: aws.String("xadcOB_7YPBOJuoFiQ9cz4P3Pe6FIZwO4f7wN93uHsNBEw97pl5eNwzExg0LAT2dUN91cOmrEQHDsP3WA60CEg--"), 2154 } 2155 2156 result, err := svc.UploadPart(input) 2157 if err != nil { 2158 if aerr, ok := err.(awserr.Error); ok { 2159 switch aerr.Code() { 2160 default: 2161 fmt.Println(aerr.Error()) 2162 } 2163 } else { 2164 // Print the error, cast err to awserr.Error to get the Code and 2165 // Message from an error. 2166 fmt.Println(err.Error()) 2167 } 2168 return 2169 } 2170 2171 fmt.Println(result) 2172} 2173 2174// To upload a part by copying byte range from an existing object as data source 2175// 2176// The following example uploads a part of a multipart upload by copying a specified 2177// byte range from an existing object as data source. 2178func ExampleS3_UploadPartCopy_shared00() { 2179 svc := s3.New(session.New()) 2180 input := &s3.UploadPartCopyInput{ 2181 Bucket: aws.String("examplebucket"), 2182 CopySource: aws.String("/bucketname/sourceobjectkey"), 2183 CopySourceRange: aws.String("bytes=1-100000"), 2184 Key: aws.String("examplelargeobject"), 2185 PartNumber: aws.Int64(2), 2186 UploadId: aws.String("exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"), 2187 } 2188 2189 result, err := svc.UploadPartCopy(input) 2190 if err != nil { 2191 if aerr, ok := err.(awserr.Error); ok { 2192 switch aerr.Code() { 2193 default: 2194 fmt.Println(aerr.Error()) 2195 } 2196 } else { 2197 // Print the error, cast err to awserr.Error to get the Code and 2198 // Message from an error. 2199 fmt.Println(err.Error()) 2200 } 2201 return 2202 } 2203 2204 fmt.Println(result) 2205} 2206 2207// To upload a part by copying data from an existing object as data source 2208// 2209// The following example uploads a part of a multipart upload by copying data from an 2210// existing object as data source. 2211func ExampleS3_UploadPartCopy_shared01() { 2212 svc := s3.New(session.New()) 2213 input := &s3.UploadPartCopyInput{ 2214 Bucket: aws.String("examplebucket"), 2215 CopySource: aws.String("/bucketname/sourceobjectkey"), 2216 Key: aws.String("examplelargeobject"), 2217 PartNumber: aws.Int64(1), 2218 UploadId: aws.String("exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"), 2219 } 2220 2221 result, err := svc.UploadPartCopy(input) 2222 if err != nil { 2223 if aerr, ok := err.(awserr.Error); ok { 2224 switch aerr.Code() { 2225 default: 2226 fmt.Println(aerr.Error()) 2227 } 2228 } else { 2229 // Print the error, cast err to awserr.Error to get the Code and 2230 // Message from an error. 2231 fmt.Println(err.Error()) 2232 } 2233 return 2234 } 2235 2236 fmt.Println(result) 2237} 2238