本文整理汇总了Golang中github.com/goamz/goamz/aws.EnvAuth函数的典型用法代码示例。如果您正苦于以下问题:Golang EnvAuth函数的具体用法?Golang EnvAuth怎么用?Golang EnvAuth使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了EnvAuth函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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
}
开发者ID:koron,项目名称:sqs-notify,代码行数:36,代码来源:aws.go
示例2: SetUp
func (s *AmazonServer) SetUp(c *C) {
auth, err := aws.EnvAuth()
if err != nil {
c.Fatal(err)
}
s.auth = auth
}
开发者ID:aalness,项目名称:goamz,代码行数:7,代码来源:iami_test.go
示例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()
}
开发者ID:dutchcoders,项目名称:goamz,代码行数:29,代码来源:autoscaling_test.go
示例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
}
开发者ID:postfix,项目名称:pit,代码行数:33,代码来源:recomender.go
示例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
}
开发者ID:postfix,项目名称:pit,代码行数:32,代码来源:instances.go
示例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))
}
}
开发者ID:0x434D53,项目名称:s3server,代码行数:28,代码来源:goamz_test.go
示例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)
}
开发者ID:mf1389004071,项目名称:platform,代码行数:25,代码来源:sign_test.go
示例8: SetUp
func (s *AmazonServer) SetUp(c *gocheck.C) {
auth, err := aws.EnvAuth()
if err != nil {
c.Fatal(err.Error())
}
s.auth = auth
}
开发者ID:dutchcoders,项目名称:goamz,代码行数:7,代码来源:s3i_test.go
示例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"})
}
开发者ID:dutchcoders,项目名称:goamz,代码行数:8,代码来源:aws_test.go
示例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{}))
}
开发者ID:aalness,项目名称:goamz,代码行数:8,代码来源:aws_test.go
示例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
}
开发者ID:jlouis,项目名称:go-watcher,代码行数:14,代码来源:s3.go
示例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
}
开发者ID:ReinhardHsu,项目名称:platform,代码行数:10,代码来源:suite_test.go
示例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
}
开发者ID:dutchcoders,项目名称:goamz,代码行数:10,代码来源:suite.go
示例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")
}
开发者ID:aalness,项目名称:goamz,代码行数:11,代码来源:aws_test.go
示例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 {
}
}
开发者ID:kenegozi,项目名称:go-solr-proxy,代码行数:14,代码来源:document_handler.go
示例16: DestroyS3Backup
func (rc *Recommender) DestroyS3Backup() (success bool) {
log.Info("Destroying backup on 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)
if err := bucket.Del(rc.getS3Path()); err != nil {
log.Info("Problem trying to remove backup from S3:", err)
return false
}
return true
}
开发者ID:postfix,项目名称:pit,代码行数:18,代码来源:recomender.go
示例17: setUpAuth
func setUpAuth(c *C) {
if !*amazon {
c.Skip("Test against amazon not enabled.")
}
if *local {
c.Log("Using local server")
dynamodb_region = aws.Region{DynamoDBEndpoint: "http://127.0.0.1:8000"}
dynamodb_auth = aws.Auth{AccessKey: "DUMMY_KEY", SecretKey: "DUMMY_SECRET"}
} else {
c.Log("Using REAL AMAZON SERVER")
dynamodb_region = aws.USEast
auth, err := aws.EnvAuth()
if err != nil {
c.Fatal(err)
}
dynamodb_auth = auth
}
}
开发者ID:himanshugpt,项目名称:evergreen,代码行数:18,代码来源:dynamodb_test.go
示例18: main
func main() {
initFlags()
filter := ec2.NewFilter()
for _, t := range tags {
filter.Add(t.FilterName, t.FilterValue)
}
auth, err := aws.EnvAuth()
if err != nil {
log.Fatal(err)
}
e := ec2.New(auth, region)
for {
resp, err := e.DescribeInstances(nil, filter)
if err != nil {
log.Fatal(err)
}
instances := flattenReservations(resp.Reservations)
tagKeys := tags.Keys()
if len(tagKeys) == 0 {
tagKeys = allTagKeys(instances)
}
targetGroups := groupByTags(instances, tagKeys)
b := marshalTargetGroups(targetGroups)
if dest == "-" {
_, err = os.Stdout.Write(b)
} else {
err = atomicWriteFile(dest, b, ".new")
}
if err != nil {
log.Fatal(err)
}
if sleep == 0 {
break
} else {
time.Sleep(sleep)
}
}
}
开发者ID:keegancsmith,项目名称:prometheus-ec2-discovery,代码行数:44,代码来源:prometheus-ec2-discovery.go
示例19: NewS3Connection
func NewS3Connection(bucket string, region string, public bool) *S3 {
var acl s3.ACL
var auth aws.Auth
var err error
// set auth
auth, err = aws.EnvAuth()
if err != nil {
auth, err = aws.SharedAuth()
if err != nil {
log.Fatal(err)
}
}
// set region
if region == "" {
region = os.Getenv("AWS_REGION")
if region == "" {
region = "us-east-1"
}
}
awsRegion := aws.Regions[region]
acl = s3.ACL("private")
if public {
acl = s3.ACL("public-read")
}
// establish connection
conn := s3.New(auth, awsRegion)
// set bucket
bkt := conn.Bucket(bucket)
return &S3{
Auth: auth,
Region: awsRegion,
bucket: bkt,
conn: conn,
ACL: acl,
}
}
开发者ID:nextrevision,项目名称:sapt,代码行数:42,代码来源:s3.go
示例20: SaveBackup
func (rc *Recommender) SaveBackup() {
log.Info("Storing backup on S3:", rc.identifier)
rc.mutex.Lock()
records := make([][]uint64, len(rc.records))
i := 0
for recID, record := range rc.records {
records[i] = make([]uint64, len(record.scores)*2+1)
records[i][0] = recID
elemPos := 1
for k, v := range record.scores {
records[i][elemPos] = k
records[i][elemPos+1] = uint64(v)
elemPos += 2
}
i++
}
rc.mutex.Unlock()
jsonToUpload, err := json.Marshal(records)
auth, err := aws.EnvAuth()
if err != nil {
log.Error("Problem trying to connect with AWS:", err)
return
}
s := s3.New(auth, rc.s3Region)
bucket := s.Bucket(S3BUCKET)
err = bucket.Put(
rc.getS3Path(),
rc.compress(jsonToUpload),
"text/plain",
s3.BucketOwnerFull,
s3.Options{})
if err != nil {
log.Error("Problem trying to upload backup to S3 from:", rc.identifier, "Error:", err)
}
log.Info("New backup stored on S3, bucket:", S3BUCKET, "Path:", rc.getS3Path())
}
开发者ID:postfix,项目名称:pit,代码行数:41,代码来源:recomender.go
注:本文中的github.com/goamz/goamz/aws.EnvAuth函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论