Penyepaduan perkhidmatan awan membolehkan pembangun mengakses perkhidmatan utama seperti storan objek dan pembelajaran mesin melalui bahasa Go. Untuk menyepadukan Amazon S3, gunakan github.com/aws/aws-sdk-go/s3 untuk menyepadukan API Google Cloud Vision, gunakan cloud.google.com/go/vision.
Penyatuan Perkhidmatan Cloud dalam Fungsi Go
Perkhidmatan awan menyediakan perkhidmatan utama seperti penyimpanan objek, analisis data dan pembelajaran mesin. Dengan menyepadukan perkhidmatan awan ke dalam aplikasi, pembangun boleh mengakses keupayaan ini tanpa perlu membangunkan dan menyelenggara infrastruktur itu sendiri.
Go ialah bahasa pengaturcaraan popular yang sesuai untuk pembangunan awan kerana keselarasan dan prestasinya yang sangat baik. Go menyediakan beberapa perpustakaan dan pakej yang memudahkan penyepaduan dengan perkhidmatan awan.
Sepadukan Amazon S3 menggunakan Go
Amazon S3 (Perkhidmatan Storan Mudah) ialah perkhidmatan penyimpanan objek yang popular. Untuk menyepadukan Amazon S3 menggunakan Go, anda boleh menggunakan pakej github.com/aws/aws-sdk-go/s3
. github.com/aws/aws-sdk-go/s3
包。
import ( "context" "fmt" "io" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/s3" ) // uploadFileToS3 上传文件到 Amazon S3 存储桶中。 func uploadFileToS3(w io.Writer, bucket, key, filePath string) error { // 创建一个新的 S3 客户端。 sess := session.Must(session.NewSession()) client := s3.New(sess) // 使用文件路径打开一个文件。 file, err := os.Open(filePath) if err != nil { return fmt.Errorf("os.Open: %v", err) } defer file.Close() // 上传文件到指定的存储桶和键中。 _, err = client.PutObjectWithContext(context.Background(), &s3.PutObjectInput{ Bucket: aws.String(bucket), Key: aws.String(key), Body: file, }) if err != nil { return fmt.Errorf("PutObjectWithContext: %v", err) } fmt.Fprintf(w, "Uploaded file to %s/%s\n", bucket, key) return nil }
使用 Go 集成 Google Cloud Vision API
Google Cloud Vision API 是一种图像分析服务。要使用 Go 集成 Google Cloud Vision API,可以使用 cloud.google.com/go/vision
import ( "context" "fmt" "log" vision "cloud.google.com/go/vision/apiv1" "cloud.google.com/go/vision/v2/apiv1/visionpb" ) // detectLabelsFromGCS 分析存储在 Google Cloud Storage 的图像。 func detectLabelsFromGCS(w io.Writer, gcsURI string) error { ctx := context.Background() c, err := vision.NewImageAnnotatorClient(ctx) if err != nil { return fmt.Errorf("vision.NewImageAnnotatorClient: %v", err) } defer c.Close() image := &visionpb.Image{ Source: &visionpb.ImageSource{ GcsImageUri: gcsURI, }, } annotations, err := c.DetectLabels(ctx, image, nil, 10) if err != nil { return fmt.Errorf("DetectLabels: %v", err) } if len(annotations) == 0 { fmt.Fprintln(w, "No labels found.") } else { fmt.Fprintln(w, "Labels:") for _, annotation := range annotations { fmt.Fprintln(w, annotation.Description) } } return nil }
cloud.google.com/go/vision
. 🎜rreeeeAtas ialah kandungan terperinci Penyepaduan perkhidmatan awan bagi fungsi golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!