亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Go 中向 AWS S3 預簽名 URL 添加標頭?

如何在 Go 中向 AWS S3 預簽名 URL 添加標頭?

Go
牛魔王的故事 2022-07-11 15:25:48
我正在使用預簽名 URL 將文件上傳到 AWS S3 存儲桶。這工作正常,但如果我嘗試添加x-amz-tagging標頭,我會收到錯誤“請求中存在未簽名的標頭”。生成預簽名 URL 的后端是用 Go 編寫的:// Upload generates a new URL where a file can be uploadedfunc (s *S3) Upload(key string, c Config) (string, error) {    req, _ := s.client.PutObjectRequest(&s3.PutObjectInput{        Bucket: aws.String(s.bucketName),        Key:    aws.String(key),    })    return req.Presign(c.ExpiresIn)}S3 預簽名上傳 url 錯誤的答案表明我們需要將標頭聲明為預簽名 URL 的一部分。如何為此添加標題聲明?為 Amazon S3 存儲桶創建預簽名 URL 中給出的示例未涵蓋此內容。
查看完整描述

2 回答

?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

預簽名的 URL 請求只需要 Tagging 字段下的標簽。當您使用此 URL 發出請求時,即您傳遞帶有“x-amz-tagging”作為鍵和標簽的標頭(例如,“temp=true&public=yes”)。


下面是一個使用預簽名 url 上傳帶有標簽的圖像(通過標題)的示例,該 url 也被請求帶有標簽(帶有標簽)。


  const uploadImage = async (filepath, presignedURL) => {

    const headers = new Headers();

    headers.append('x-amz-tagging', 'temp=true&public=yes');

    const response = await fetch(filepath);

    const blob = await response.blob();

    return await fetch(

      presignedURL,

      {

        method: 'PUT',

        body: blob,

        headers,

      },

    );

};


查看完整回答
反對 回復 2022-07-11
?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

如果我沒記錯的話,您可以像這樣添加元數據:


  'Bucket': 'bucket',

  'Key': 'signed.json',

  'Metadata': {

    'x-amz-tagging': 'whatever'

  },

所以它看起來像這樣:


// Upload generates a new URL where a file can be uploaded

func (s *S3) Upload(key string, c Config) (string, error) {

    req, _ := s.client.PutObjectRequest(&s3.PutObjectInput{

        Bucket: aws.String(s.bucketName),

        Key:    aws.String(key),

        Body: {

                'x-amz-tagging': 'whatever'

       },

    })


    return req.Presign(c.ExpiresIn)

}

我是即時寫的,所以它可能不起作用,需要一些調整。請參閱文檔 - 但它應該看起來像這樣。測試一下,讓我知道。


在此處閱讀更多信息:https ://docs.aws.amazon.com/sdk-for-go/api/service/s3/#PutObjectInput


查看完整回答
反對 回復 2022-07-11
  • 2 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號