Arquivo da tag: Amazon S3
s3cmd ERROR: Test failed: 400 (InvalidToken): The provided token is malformed or otherwise invalid
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Unable to export ec2 instance to S3

CrossFTP – FTP and Amazon S3 Client
How to Make Files Uploaded to S3 Default to Public
{
"Version": "2008-10-17",
"Statement": [{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [ "s3:GetObject" ],
"Resource": [ "arn:aws:s3:::MY_BUCKET_NAME/*" ]
}]
}
https://schier.co/blog/2014/09/11/how-to-make-files-uploaded-to-s3-default-to-public.html
Upload an Object Using the AWS SDK for PHP
Java S3 Upload for Part
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.model.AbortMultipartUploadRequest;
import com.amazonaws.services.s3.model.CompleteMultipartUploadRequest;
import com.amazonaws.services.s3.model.InitiateMultipartUploadRequest;
import com.amazonaws.services.s3.model.InitiateMultipartUploadResult;
import com.amazonaws.services.s3.model.PartETag;
import com.amazonaws.services.s3.model.UploadPartRequest;
public class UploadObjectMPULowLevelAPI {
public static void main(String[] args) throws IOException {
String existingBucketName = "*** Provide-Your-Existing-BucketName ***";
String keyName = "*** Provide-Key-Name ***";
String filePath = "*** Provide-File-Path ***";
AmazonS3 s3Client = new AmazonS3Client(new ProfileCredentialsProvider());
// Create a list of UploadPartResponse objects. You get one of these
// for each part upload.
List partETags = new ArrayList();
// Step 1: Initialize.
InitiateMultipartUploadRequest initRequest = new
InitiateMultipartUploadRequest(existingBucketName, keyName);
InitiateMultipartUploadResult initResponse =
s3Client.initiateMultipartUpload(initRequest);
File file = new File(filePath);
long contentLength = file.length();
long partSize = 5242880; // Set part size to 5 MB.
try {
// Step 2: Upload parts.
long filePosition = 0;
for (int i = 1; filePosition < contentLength; i++) {
// Last part can be less than 5 MB. Adjust part size.
partSize = Math.min(partSize, (contentLength - filePosition));
// Create request to upload a part.
UploadPartRequest uploadRequest = new UploadPartRequest()
.withBucketName(existingBucketName).withKey(keyName)
.withUploadId(initResponse.getUploadId()).withPartNumber(i)
.withFileOffset(filePosition)
.withFile(file)
.withPartSize(partSize);
// Upload part and add response to our list.
partETags.add(
s3Client.uploadPart(uploadRequest).getPartETag());
filePosition += partSize;
}
// Step 3: Complete.
CompleteMultipartUploadRequest compRequest = new
CompleteMultipartUploadRequest(
existingBucketName,
keyName,
initResponse.getUploadId(),
partETags);
s3Client.completeMultipartUpload(compRequest);
} catch (Exception e) {
s3Client.abortMultipartUpload(new AbortMultipartUploadRequest(
existingBucketName, keyName, initResponse.getUploadId()));
}
}
}
https://docs.aws.amazon.com/pt_br/AmazonS3/latest/dev/llJavaUploadFile.html
https://github.com/alexmojaki/s3-stream-upload
https://docs.aws.amazon.com/AmazonS3/latest/dev/HLTrackProgressMPUJava.html
Example: Setting up a Static Website Using a Custom Domain
Hospedando o seu site no S3 da Amazon
Eu achava que ia ser mais complicado, mas no fim é bem fácil.
Segue um roteiro básico:
1. Acesse o console do S3
2. Clique em Create Bucket
3. Preencha colocando um subdomínio do seu site (www, no meu caso)
e escolha onde quer que ele fique (meu público alvo é o Brasil, então coloquei em São Paulo)
4. Clique no seu bucket (que apareceu à sua esquerda), clique em Properties (no lado direito da tela)
5. Vá para a aba Website, clique em enabled e escolha o seu documento inicial (no meu caso, index.html)
6. Clique em save
7. Agora você precisa configurar o seu subdomínio no DNS. Basta acrescentar um registro CNAME do seu subdomínio apontando para o endpoint que aparece na parte de baixo da aba Website.
8. Depois que o dns se propagar, seu site funcionará no seu subdomínio. O que você pode fazer é subir uma aplicação em algum lugar que redirecione para o seu subdomínio quando alguém acessar o domínio ou usar um site como WWWizer que automaticamente faz isso pra você.
http://www.vidageek.net/2012/04/11/hospedando-o-seu-site-no-s3-da-amazon