我需要使用golang和official aws go sdk獲取資源的公共永久(未簽名)URL。在Java AWS S3 SDK中有一個名爲getResourceUrl()
的方法什麼是等價的?如何在golang中從AWS S3獲取資源URL
1
A
回答
3
這就是你如何使用去SDK presigned網址:
func GetFileLink(key string) (string, error) {
svc := s3.New(some params)
params := &s3.GetObjectInput{
Bucket: aws.String(a bucket name),
Key: aws.String(key),
}
req, _ := svc.GetObjectRequest(params)
url, err := req.Presign(15 * time.Minute) // Set link expiration time
if err != nil {
global.Log("[AWS GET LINK]:", params, err)
}
return url, err
}
如果你想要的是一個公共接入對象的只是URL,你可以建立自己的網址:
https://<region>.amazonaws.com/<bucket-name>/<key>
us-east-2
在哪裏?因此,使用去這將是這樣的:
url := "https://%s.amazonaws.com/%s/%s"
url = fmt.Sprintf(url, "us-east-2", "my-bucket-name", "some-file.txt")
Here是S3所有可用區域的列表。
+0
謝謝。我結束了這個: 'fmt.Sprintf(「https://s3-%s.amazonaws.com/%s/%s」,region,bucket,key)''。還有一個關鍵(url路徑)的問題,因爲它可以包含分號等非轉義字符......這就是爲什麼在Java SDK中有一個單獨的方法... – oleynikd
相關問題
- 1. 如何從PHP中的AWS S3獲取資源?
- 2. 如何從Golang使用AWS S3 SDK
- 3. 從URL獲取資源
- 4. 如何從URL獲取Amazon AWS S3存儲桶中的文件?
- 5. 如何從python中的資源URL獲取完整的URL
- 6. 如何使用CloudFront從aws s3獲取別名的對象url
- 7. 如何從restangular資源中讀取URL?
- 8. 獲取資源的URL
- 9. Aws :: S3 undefined方法'with_prefix'在::資源
- 10. 從URL資源中讀取
- 11. AWS S3使用URL獲取對象
- 12. 在golang中獲取s3對象過期
- 13. 嘗試從資源庫Url獲取UIImage
- 14. 如何從類庫中獲取資源
- 15. 如何從資源中獲取文件
- 16. 如何從資源中獲取視圖?
- 17. 從libGDX資源獲取android資源ID或URL
- 18. AWS S3 NotResource /拒絕和資源/條件
- 19. 讓AWS Lambda訪問私有S3資源
- 20. Springboot AWS Cloud S3資源加載
- 21. 亞馬遜S3 - 紅寶石。獲取剛上傳的資源的URL
- 22. AWS S3 php api:文件上傳後如何獲取url?
- 23. 無法通過python獲取aws資源
- 24. 如何在Rails 3.2中獲取資源的完整URL?
- 25. 如何在Rails 3.1中獲取資源的絕對URL?
- 26. 如何在Android中獲取ImageView資源
- 27. 如何在build.gradle中獲取資源值?
- 28. 從AWS S3獲取對象作爲流
- 29. 從AWS S3獲取音頻Blob
- 30. Android - 如何從資源獲取名稱?
我的谷歌富說https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/s3-example-presigned-urls.html –
我擴大了我的答案與如何得到未預先簽署的網址。 – Topo