本文整理汇总了Golang中github.com/goamz/goamz/aws.EnvAuth函数的典型用法代码示例。如果您正苦于以下问题:Golang EnvAuth函数的具体用法?Golang EnvAuth怎么用?Golang EnvAuth使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了EnvAuth函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: GetAuth
// GetAuth returns aws.Auth from credentials or envrionment variables.
func GetAuth(name string) (aws.Auth, error) {
f, err := loadCredFile()
if err != nil {
if os.IsExist(err) {
return aws.Auth{}, err
}
return aws.EnvAuth()
}
var prof ini.Section
var ok bool
if name != "" {
prof, ok = f[name]
}
if !ok {
prof, ok = f["default"]
}
if !ok {
return aws.Auth{}, errors.New("cannot find section")
}
// Parse auth info from a ini's section.
a := aws.Auth{
AccessKey: prof["aws_access_key_id"],
SecretKey: prof["aws_secret_access_key"],
}
if a.AccessKey == "" {
return aws.Auth{}, errors.New("empty aws_access_key_id in credentials")
}
if a.SecretKey == "" {
return aws.Auth{}, errors.New("empty aws_secret_access_key in credentials")
}
return a, nil
}
示例2: SetUp
func (s *AmazonServer) SetUp(c *C) {
auth, err := aws.EnvAuth()
if err != nil {
c.Fatal(err)
}
s.auth = auth
}
示例3: TestBasicGroupRequest
func TestBasicGroupRequest(t *testing.T) {
var as *AutoScaling
awsAuth, err := aws.EnvAuth()
if err != nil {
mockTest = true
t.Log("Running mock tests as AWS environment variables are not set")
awsAuth := aws.Auth{AccessKey: "abc", SecretKey: "123"}
as = New(awsAuth, aws.Region{AutoScalingEndpoint: testServer.URL})
testServer.Start()
go testServer.WaitRequest()
testServer.Response(200, nil, BasicGroupResponse)
} else {
as = New(awsAuth, aws.USWest2)
}
groupResp, err := as.DescribeAutoScalingGroups(nil, 10, "")
if err != nil {
t.Fatal(err)
}
if len(groupResp.AutoScalingGroups) > 0 {
firstGroup := groupResp.AutoScalingGroups[0]
if len(firstGroup.AutoScalingGroupName) > 0 {
t.Logf("Found AutoScaling group %s\n",
firstGroup.AutoScalingGroupName)
}
}
testServer.Flush()
}
示例4: LoadBackup
func (rc *Recommender) LoadBackup() (success bool) {
log.Info("Loading backup from S3:", rc.identifier)
auth, err := aws.EnvAuth()
if err != nil {
log.Error("Problem trying to connect with AWS:", err)
return false
}
s := s3.New(auth, rc.s3Region)
bucket := s.Bucket(S3BUCKET)
jsonData, err := bucket.Get(rc.getS3Path())
if err != nil {
log.Info("Problem trying to get backup from S3:", err)
return false
}
dataFromJSON := [][]uint64{}
json.Unmarshal(rc.uncompress(jsonData), &dataFromJSON)
log.Info("Data loaded from S3:", rc.identifier, "len:", len(dataFromJSON))
recs := 0
for _, record := range dataFromJSON {
scores := make(map[uint64]uint8)
for i := 1; i < len(record); i += 2 {
scores[record[i]] = uint8(record[i+1])
}
recs += len(scores)
rc.AddRecord(record[0], scores)
}
return true
}
示例5: InitAndKeepAlive
func InitAndKeepAlive(prefix string, awsRegion string, keepAlive bool) (im *Model) {
if awsAuth, err := aws.EnvAuth(); err == nil {
im = &Model{
prefix: prefix,
tableName: fmt.Sprintf("%s_%s", prefix, cTable),
conn: &dynamodb.Server{
Auth: awsAuth,
Region: aws.Regions[awsRegion],
},
}
im.initTable()
if keepAlive {
im.registerHostName(hostName)
}
im.updateInstances()
if keepAlive {
go func() {
for {
im.registerHostName(hostName)
im.updateInstances()
time.Sleep(time.Second)
}
}()
}
} else {
log.Error("Problem trying to connect with DynamoDB, Error:", err)
return
}
return
}
示例6: TestPutGet
func TestPutGet(t *testing.T) {
Reset(t)
auth, err := aws.EnvAuth()
if err != nil {
t.Error(err)
}
s := s3.New(auth, localRegion)
b := s.Bucket("TestBucket")
err = b.PutBucket("acl")
if err != nil {
t.Fatal(err)
}
o, err := b.GetBucketContents()
if err != nil {
t.Fatal(err)
}
if len(*o) != 0 {
t.Fatalf("Bucket should be empty, but has %d object", len(*o))
}
}
示例7: ExampleV4Signer
func ExampleV4Signer() {
// Get auth from env vars
auth, err := aws.EnvAuth()
if err != nil {
fmt.Println(err)
}
// Create a signer with the auth, name of the service, and aws region
signer := aws.NewV4Signer(auth, "dynamodb", aws.USEast)
// Create a request
req, err := http.NewRequest("POST", aws.USEast.DynamoDBEndpoint, strings.NewReader("sample_request"))
if err != nil {
fmt.Println(err)
}
// Date or x-amz-date header is required to sign a request
req.Header.Add("Date", time.Now().UTC().Format(http.TimeFormat))
// Sign the request
signer.Sign(req)
// Issue signed request
http.DefaultClient.Do(req)
}
示例8: SetUp
func (s *AmazonServer) SetUp(c *gocheck.C) {
auth, err := aws.EnvAuth()
if err != nil {
c.Fatal(err.Error())
}
s.auth = auth
}
示例9: TestEnvAuthAlt
func (s *S) TestEnvAuthAlt(c *gocheck.C) {
os.Clearenv()
os.Setenv("AWS_SECRET_KEY", "secret")
os.Setenv("AWS_ACCESS_KEY", "access")
auth, err := aws.EnvAuth()
c.Assert(err, gocheck.IsNil)
c.Assert(auth, gocheck.Equals, aws.Auth{SecretKey: "secret", AccessKey: "access"})
}
示例10: TestEnvAuthAlt
func (s *S) TestEnvAuthAlt(c *C) {
os.Clearenv()
os.Setenv("AWS_SECRET_KEY", "secret")
os.Setenv("AWS_ACCESS_KEY", "access")
auth, err := aws.EnvAuth()
c.Assert(err, IsNil)
c.Assert(*auth, Equals, *aws.NewAuth("access", "secret", "", time.Time{}))
}
示例11: Connect
//Connect starts the connection to aws, and returns
// any error, default strategy is to connect 5 times, wait 4 seconds and with delay of 200 ms
// make sure to source the credential file on the server
// Region is harcoded to EUWest
// Auth is read from environment.
func (c *Connection) Connect() error {
auth, err := aws.EnvAuth()
if err != nil {
return err
}
c.Auth = auth
c.Region = aws.EUWest
return nil
}
示例12: SetUpSuite
func (s *SuiteI) SetUpSuite(c *C) {
if !*integration {
c.Skip("Integration tests not enabled (-i flag)")
}
auth, err := aws.EnvAuth()
if err != nil {
c.Fatal(err.Error())
}
s.auth = auth
}
示例13: SetUpSuite
func (s *LiveSuite) SetUpSuite(c *gocheck.C) {
if !Amazon {
c.Skip("amazon tests not enabled (-amazon flag)")
}
auth, err := aws.EnvAuth()
if err != nil {
c.Fatal(err.Error())
}
s.auth = auth
}
示例14: TestEnvAuthToken
func (s *S) TestEnvAuthToken(c *C) {
os.Clearenv()
os.Setenv("AWS_SECRET_KEY", "secret")
os.Setenv("AWS_ACCESS_KEY", "access")
os.Setenv("AWS_SESSION_TOKEN", "token")
auth, err := aws.EnvAuth()
c.Assert(err, IsNil)
c.Assert(auth.SecretKey(), Equals, "secret")
c.Assert(auth.AccessKey(), Equals, "access")
c.Assert(auth.Token(), Equals, "token")
}
示例15: Cache
func (d *SolrDocument) Cache(awsConfig *AWSConfig) {
if d.Name == "" {
return
}
documentName := fmt.Sprintf("%v/%v", d.Name, d.Id)
auth, _ := aws.EnvAuth()
region := aws.Region{Name: awsConfig.RegionName, S3Endpoint: awsConfig.S3Endpoint}
svc := s3.New(auth, region)
bucketName := awsConfig.BucketName
bucket := svc.Bucket(bucketName)
err := bucket.Put(documentName, d.content, "text/xml", s3.AuthenticatedRead, s3.Options{})
if err != nil {
}
}