我是AWS和Golang的新手,我正在尝试创建一个lambda函数,它将触发AWS Athena查询并使用AWS SES服务通过电子邮件发送结果。即使在搜索了一个小时后,我也找不到lambda函数(Golang中)的工作示例来执行对Athena的查询并获得查询的输出。
在搜索时,我在Java、Python和Node Js中找到了相同的代码,但在Golang中没有。
甚至Go-SDK页面也会重定向到Java示例。但不幸的是,我甚至不懂Java。
我也看过这个AWS SDK for Go API Reference页面,但是我不明白程序的流程是什么,选择哪个操作。
我已经试着为此创建程序,这可能是完全错误的,我不知道下一步该怎么办。下面是代码-
package main
import (
"fmt"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/athena"
)
func main() {
// Create a new session in the us-west-2 region.
sess, err := session.NewSession(&aws.Config{
Region: aws.String("us-east-1")},
)
// Create an Athena session.
client := athena.New(sess)
// Example sending a request using the StartQueryExecutionRequest method.
query := "SELECT * FROM table1 ;"
params := query
req, resp := client.StartQueryExecutionRequest(params)
err1 := req.Send()
if err1 == nil { // resp is now filled
fmt.Println(resp)
}
}
如果有人可以帮助我执行Athena查询并在Golang中获得结果(最好),或者可以共享一些资源,我将不胜感激。一旦我得到了它,我就可以使用AWS SES发送电子邮件。
3条答案
按热度按时间uqcuzwp81#
用这个开始吧。
kgsdhlau2#
@埃弗顿的代码正在Athena上执行查询,其响应被保存在S3 bucket上并且没有返回。因此,我添加了执行Athena查询并获取响应的代码。希望这可以帮助其他人。
lrpiutwd3#
以防有人怀疑
示例代码,使用aws-sdk-go-v2