2010-10-05 5 views
2

Est-il possible de définir l'autorisation de fichier au moment du téléchargement des fichiers via l'API Amazon S3.Comment définir l'autorisation sur les fichiers au moment du téléchargement via l'API Amazon s3

Dans ma solution actuelle, je suis en mesure de télécharger le fichier sur mon compartiment, mais je ne peux pas afficher le fichier via l'URL mentionnée dans la section des propriétés du fichier. Il s'ouvre lorsque je passe les clés d'accès dans la chaîne de requête.

Y at-il des paramètres requis dans Amazon S3 ou j'ai besoin de définir les autorisations pour tous les fichiers au moment du téléchargement.

Merci à l'avance.

Kamal Kant Pansari

Répondre

3

Ajouter un en-tête à votre demande PUT:

x-amz-acl: public-read

2

Vous pouvez également utiliser politiques baquets de fonction.

Voici un exemple de la politique de seau qui indique s3 amazone de faire tous les fichiers disponibles, y compris publiquement de nouveaux fichiers que vous téléchargerez:

{ 
    "Version":"2008-10-17", 
    "Statement":[{ 
    "Sid":"AllowPublicRead", 
     "Effect":"Allow", 
     "Principal": { 
      "AWS": "*" 
     }, 
     "Action":["s3:GetObject"], 
     "Resource":["arn:aws:s3:::your.bucket.name/*" 
     ] 
    } 
    ] 
} 

your.bucket.name Remplacez votre nom réel du godet

Vous pouvez afficher et modifier les stratégies de compartiment avec S3 Browser Freeware. Vous pouvez trouver plus d'exemples de stratégies de compartiment here.

2

En C# lorsque vous créez un objet réponse de> mazon, vous trouverez en réponse Addheader.

Vous devez définir en-tête comme

response.Addheader("x-amz-acl","public-read"); 

Amazon fournissant ces méthodes dans son API de services Web de bien vouloir se référer.

Questions connexes