tile360.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package funcgraph
  2. import (
  3. "3dshow-supplier/conf"
  4. "fmt"
  5. "strings"
  6. "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
  7. functiongraph "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/functiongraph/v2"
  8. "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/functiongraph/v2/model"
  9. region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/functiongraph/v2/region"
  10. )
  11. const (
  12. ak = "RA1D7CFVCVKUFX1FHHPB"
  13. sk = "cDrR2NgAF2KaA4MRkcK19r93P3P6hLKOPhHvPu9p"
  14. )
  15. func createFuncGraphClient() *functiongraph.FunctionGraphClient {
  16. auth := basic.NewCredentialsBuilder().
  17. WithAk(ak).
  18. WithSk(sk).
  19. Build()
  20. return functiongraph.NewFunctionGraphClient(
  21. functiongraph.FunctionGraphClientBuilder().
  22. WithRegion(region.ValueOf("cn-east-3")).
  23. WithCredential(auth).
  24. Build())
  25. }
  26. func Tile360onvRequest(assetId string, groupId string, sourcePath string, natsUrl string) error {
  27. ConvStreamTopic := conf.AppConfig.Nats.TileConvStreamTopic
  28. streamTopics := strings.Split(ConvStreamTopic, "#")
  29. client := createFuncGraphClient()
  30. request := &model.AsyncInvokeFunctionRequest{Body: map[string]interface{}{
  31. "groupId": groupId,
  32. "assetId": assetId,
  33. "sourcePath": sourcePath,
  34. "notifyNatsUrl": natsUrl,
  35. "notifyStream": streamTopics[0],
  36. "notifySubject": streamTopics[1],
  37. }}
  38. request.FunctionUrn = "urn:fss:cn-east-3:0956c65fd600f29f2ff6c00dbb3d1e2e:function:default:osgconv:v1"
  39. response, err := client.AsyncInvokeFunction(request)
  40. if err == nil {
  41. fmt.Printf("%+v\n", response)
  42. return nil
  43. }
  44. fmt.Println(err)
  45. return err
  46. }