Created
March 2, 2017 18:33
-
-
Save jeffotoni/3aaac690bc418e0a3d837a1de292c8f7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
..######......#######.....##......##....######## | |
.##....##....##.....##....##..##..##....##...... | |
.##.................##....##..##..##....##...... | |
..######......#######.....##..##..##....######.. | |
.......##...........##....##..##..##....##...... | |
.##....##....##.....##....##..##..##....##...... | |
..######......#######......###..###.....##...... | |
* | |
* S3WF Framework | |
* | |
* Framework desenvolvido pela S3WF | |
* | |
* @package S3WFHTML | |
* @author @jeffotoni | |
* @copyright Copyright (c) 2007 - 2017 | |
* @license http://s3wf.com.br/ | |
* @link http://s3wf.com.br | |
* @since Version 1.0 | |
* @filesource | |
*/ | |
// --------------------------------------------------------------------- | |
// | |
package main | |
import ( | |
"fmt" | |
"log" | |
"os" | |
"github.com/aws/aws-sdk-go/aws" | |
"github.com/aws/aws-sdk-go/aws/session" | |
"github.com/aws/aws-sdk-go/service/s3/s3manager" | |
) | |
const MinUploadPartSize int64 = 1024 * 1024 * 5 | |
const DefaultUploadConcurrency = 5 | |
const DefaultUploadPartSize = MinUploadPartSize | |
func main() { | |
bucketName := "nomeBucket" | |
keyName := "musica/file.avi" //nome diretorio + file | |
regiao := "us-east-1" | |
nomeFile := "fileLarge2.avi" | |
file, err := os.Open(nomeFile) | |
if err != nil { | |
log.Fatalln(err) | |
} | |
defer file.Close() | |
config := &aws.Config{ | |
Region: aws.String(regiao), | |
} | |
sess := session.New(config) | |
uploader := s3manager.NewUploader(sess) | |
fmt.Println("Iniciando Upload...") | |
paramUp := &s3manager.UploadInput{ | |
Bucket: &bucketName, | |
Key: &keyName, | |
Body: file, | |
} | |
// Perform an upload. | |
result, err := uploader.Upload(paramUp, func(u *s3manager.Uploader) { | |
u.PartSize = 10 * 1024 * 1024 // 10MB part size | |
u.LeavePartsOnError = true // Don't delete the parts if the upload fails. | |
fmt.Println("ok") | |
}) | |
if err != nil { | |
if multierr, ok := err.(s3manager.MultiUploadFailure); ok { | |
// Process error and its associated uploadID | |
fmt.Println("Error multier:", multierr.Code(), multierr.Message(), multierr.UploadID()) | |
} else { | |
// Process error generically | |
fmt.Println("Error generico :", err.Error()) | |
} | |
} | |
log.Println(result) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment