duanpu2272 2018-01-23 09:33
浏览 58
已采纳

是否可以从SQS网址获取AWS区域?

I have an SQS URL which includes region as well. I am using official Go SDK to perform operations on this SQS which require AWS region to initialize the session. Currently, I have written a utility function to parse the URL and return AWS region.

Sample URL: https://sqs.us-east-1.amazonaws.com/774557911234/my_sqs_name

Sample Initialization code:

sess, err := session.NewSession()
if err != nil {
    return
}

s := sqs.New(sess, aws.NewConfig().WithRegion(getRegionFromSQSURL(config.SQSURL))

Sample function to get region from URL

func getRegionFromSQSURL(url string) string {
    return strings.Split(url, ".")[1]
}

Just wondering if this is the correct approach.

Would there be any case where SQS URL will have a different region in URL than the region in which SQS exists?

Should I just add one more environment variable to be set in the service?

  • 写回答

3条回答 默认 最新

  • doudi1750 2018-01-23 09:39
    关注

    Cited from here: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-message-identifiers.html

    Important

    In your system, always store the entire queue URL exactly as Amazon SQS returns it to you when you create the queue (for example, http://sqs.us-east-2.amazonaws.com/123456789012/queue2). Don't build the queue URL from its separate components each time you need to specify the queue URL in a request because Amazon SQS can change the components that make up the queue URL.

    As explained, they can change the structure of the URL sometimes in the future for whatever reason. Queue region will probably still stay somewhere in the url, but not necessarily in the spot that you expect it to be.

    So, all thinks considered, I think that introducing new environment variable is the right way to go.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 python变量和列表之间的相互影响
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)