Quelqu'un at-il un exemple de création d'une URL signée avec une expiration utilisant ASP .Net? J'explore en utilisant LitS3 ou ThreeSharp dans mon projet, et n'ai pas vu de méthodes spécifiques pour le faire dans l'un de ces projets. Merci.Création de liens expirant vers le contenu hébergé S3 ou Cloudfront avec ASP .Net
2
A
Répondre
5
Voici ce qui a fonctionné pour moi avec le SDK AWS et MVC 3 (basé sur les réponses ci-dessus et ce J'ai trouvé sur http://www.ec2studio.com/articles/s3.html):
public ActionResult GetS3Object(string bucket, string key)
{
string accessKeyID = ConfigurationManager.AppSettings["AWSAccessKey"];
string secretAccessKeyID = ConfigurationManager.AppSettings["AWSSecretKey"];
using (AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKeyID, secretAccessKeyID))
{
GetPreSignedUrlRequest request = new GetPreSignedUrlRequest()
.WithBucketName(bucket)
.WithKey(key)
.WithExpires(DateTime.Now.Add(new TimeSpan(7, 0, 0, 0)));
return Redirect(client.GetPreSignedURL(request));
}
}
1
this (mentionné dans this thread dans les forums de discussion AWS) bibliothèque de classes pour générer des URL signées dans Amazon S3. Si quelqu'un a des suggestions/méthodes supplémentaires à essayer, faites le moi savoir.
Modifier: ThreeSharp a la fonctionnalité que je recherchais. De l'application ThreeSharpConsoleSample:
using (UrlGetRequest request = new UrlGetRequest("mytestbucket", "mytestfile.txt"))
{
request.ExpiresIn = 60 * 10000;
using (UrlGetResponse response = service.UrlGet(request))
{
Console.WriteLine("Try this url in your web browser (it will only work for 60 seconds)\n");
string url = response.StreamResponseToString();
Console.WriteLine(url);
}
}
Console.WriteLine("\npress enter >");
Console.ReadLine();
2
en utilisant l'amazone .net SDK vous pouvez obtenir preSignedUrl
using (AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client("your access key ID", "you secret key"))
{
GetPreSignedUrlRequest getPreSignedUrl = new GetPreSignedUrlRequest().WithBucketName(bucketName);
getPreSignedUrl.Key = key;
getPreSignedUrl.Expires = DateTime.Now.AddSeconds(60);
}
Questions connexes
- 1. Liens vers du contenu dynamique dans Rails?
- 2. balisage ou RTF? dans (ASP) .NET avec C#
- 3. s3 cloudfront répertoriant tous les contenus dans le compartiment pour les utilisateurs anonymes
- 4. Meilleur moyen de trouver automatiquement des liens vers votre contenu?
- 5. MathML ou OMML vers PNG avec .NET?
- 6. Création de liens symboliques vers des branches dans SVN?
- 7. Création de liens dynamiques avec le contrôle Répéteur
- 8. Asp .Net MVC RedirectToAction avec l'URL absolu
- 9. FileStream Accès refusé dans le service Web ASP hébergé
- 10. Bibliothèque .NET ou application asp.net pour Amazon S3
- 11. Création de liens dans Flex
- 12. Supprimer d'Amazon S3
- 13. Liens pointant vers le chemin absolu
- 14. JSR168 Portlet Étrange page expirant
- 15. ASP Updatepanel dans le contenu disparaît
- 16. Interrogation de asp: Image ou asp: ImageButton?
- 17. Problème avec les liens de HTTP vers HTTPS dans Firefox
- 18. Avec Django, quelle est la bonne façon de configurer les chemins vers le contenu d'administration et le contenu statique?
- 19. Je cherche des liens vers la documentation cdb/windbg + .net
- 20. Définir le contenu ASP: ContentPlaceHolder par programme
- 21. Création d'une classe COM .NET IDispatch dont le contenu est disponible uniquement au moment de l'exécution
- 22. Création d'une solution de sauvegarde Amazon EC2 sur Amazon S3
- 23. Existe-t-il des difficultés non-lisibles avec le déchargement du stockage d'images vers Amazon CloudFront à l'aide de C#?
- 24. .NET & ASP vs PHP
- 25. Hébergement de sites statiques via EC2 ELB et Cloudfront
- 26. Création de liens de navigation dans Struts 2
- 27. Téléchargement vers Amazon S3 Services à partir de l'application iPhone
- 28. Création de l'application interactive avec .NET
- 29. ASP .NET WebSite avec DLL d'importation
- 30. Choix: Migration d'ASP classique vers .NET ou migration vers une plate-forme Open Source