Coding
使用 Ruby 3.0 計算 AWS S3 Authorization 簽署值
最近在工作上需要使用 AWS S3 下載檔案,對方給了我關於該 AWS S3 的 Bucket name、Access Key 與 Secret Key,需要按照 AWS S3 的文件前去下載該檔案。 從 AWS 的文件中可以看出來,為了要計算簽署值,需要先準備簽署的本體,本體裡面有一段 CanonicalizedResource,他的格式如下 上面的格式裡的第一個字 “/” 千萬不要漏掉,我在這邊卡了好久,就是因為漏了這個字。 翻譯白話的意思就是說,假設我要去下載 https://glee-bucket.s3.amazonaws.com/files/abc.jpg,那麼這個網址的 Bucket name 就叫做 glee-bucket,URI 就是 /files/abc.jpg,最終做出的 CanonicalizedResource 就是: 最後再把這個請求的資料 依據整個本體的格式 做成 然後就可以用 Ruby 中的 HMAC-SHA1-Digest 來計算了: 用 Shell Script 測試簽署值是否可以下載檔案