为了账号安全,请及时绑定邮箱和手机立即绑定

Pulumi 意外地对共享访问签名 (SAS) 的某些部分进行编码

Pulumi 意外地对共享访问签名 (SAS) 的某些部分进行编码

Go
烙印99 2022-08-15 19:17:59
我们在下面提供了 golang 代码,用于从 Azure 获取共享访问签名。它的工作原理是,但是打印的sas有一些字段,即“日期字段”,错误地编码了。...conStr := ConvertPulumiStringToString(account.PrimaryConnectionString)httpsOnly := truenow := time.Now()sas, err := storage.GetAccountBlobContainerSAS(ctx, &storage.GetAccountBlobContainerSASArgs{        ConnectionString:   <-conStr,        ContainerName:      "container",        Expiry:             now.AddDate(10, 0, 0).Format(time.RFC3339),        HttpsOnly:          &httpsOnly,        Permissions: storage.GetAccountBlobContainerSASPermissions{            Add:    false,            Create: false,            Delete: false,            List:   true,            Read:   true,            Write:  false,        },        Start: now.Format(time.RFC3339),    })    println(sas.Sas)我们得到这个st=2021-03-16T10%3A58%3A24%2B01%3A00我们期望这种格式st=2021-03-16T10:16:30Z我尝试过查看pulumi文档,但它非常有限。任何帮助是值得赞赏的。
查看完整描述

1 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

问题是,使用 RFC3339 时,时区需要为 UTC 才能与 Azure 和 pulumi 配合使用。


conStr := ConvertPulumiStringToString(account.PrimaryConnectionString)

httpsOnly := true

now := time.Now().UTC()


sas, err := storage.GetAccountBlobContainerSAS(ctx, &storage.GetAccountBlobContainerSASArgs{

        ConnectionString:   <-conStr,

        ContainerName:      "container",

        Expiry:             now.AddDate(10, 0, 0).Format(time.RFC3339),

        HttpsOnly:          &httpsOnly,

        Permissions: storage.GetAccountBlobContainerSASPermissions{

            Add:    false,

            Create: false,

            Delete: false,

            List:   true,

            Read:   true,

            Write:  false,

        },

        Start: now.Format(time.RFC3339),

    })

    println(sas.Sas)


查看完整回答
反对 回复 2022-08-15
  • 1 回答
  • 0 关注
  • 88 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信