gpt4 book ai didi

amazon-web-services - 可以从 SQS url 获取 AWS 区域吗?

转载 作者:IT王子 更新时间:2023-10-29 00:41:20 24 4
gpt4 key购买 nike

我有一个 SQS URL,其中也包含区域。我正在使用官方 Go SDK 在此 SQS 上执行操作,这需要 AWS 区域来初始化 session 。目前,我已经编写了一个实用函数来解析 URL 并返回 AWS 区域。

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

示例初始化代码:

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

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

从 URL 获取区域的示例函数

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

只是想知道这是否是正确的方法。

是否会出现 SQS URL 的 URL 区域与 SQS 所在区域不同的情况?

我是否应该再添加一个要在服务中设置的环境变量?

最佳答案

引自此处: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.

如前所述,他们有时会出于某种原因更改 URL 的结构。队列区域可能仍会保留在 url 中的某处,但不一定在您期望的位置。

所以,综合考虑,我认为引入新的环境变量是正确的方法。

关于amazon-web-services - 可以从 SQS url 获取 AWS 区域吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48398312/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com