/
api_op_GetFaceDetection.go
123 lines (105 loc) · 4.92 KB
/
api_op_GetFaceDetection.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
// Code generated by smithy-go-codegen DO NOT EDIT.
package rekognition
import (
"context"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/service/rekognition/types"
"github.com/awslabs/smithy-go/middleware"
smithyhttp "github.com/awslabs/smithy-go/transport/http"
)
// Gets face detection results for a Amazon Rekognition Video analysis started by
// StartFaceDetection. Face detection with Amazon Rekognition Video is an
// asynchronous operation. You start face detection by calling StartFaceDetection
// which returns a job identifier (JobId). When the face detection operation
// finishes, Amazon Rekognition Video publishes a completion status to the Amazon
// Simple Notification Service topic registered in the initial call to
// StartFaceDetection. To get the results of the face detection operation, first
// check that the status value published to the Amazon SNS topic is SUCCEEDED. If
// so, call GetFaceDetection and pass the job identifier (JobId) from the initial
// call to StartFaceDetection. GetFaceDetection returns an array of detected faces
// (Faces) sorted by the time the faces were detected. Use MaxResults parameter to
// limit the number of labels returned. If there are more results than specified in
// MaxResults, the value of NextToken in the operation response contains a
// pagination token for getting the next set of results. To get the next page of
// results, call GetFaceDetection and populate the NextToken request parameter with
// the token value returned from the previous call to GetFaceDetection.
func (c *Client) GetFaceDetection(ctx context.Context, params *GetFaceDetectionInput, optFns ...func(*Options)) (*GetFaceDetectionOutput, error) {
if params == nil {
params = &GetFaceDetectionInput{}
}
result, metadata, err := c.invokeOperation(ctx, "GetFaceDetection", params, optFns, addOperationGetFaceDetectionMiddlewares)
if err != nil {
return nil, err
}
out := result.(*GetFaceDetectionOutput)
out.ResultMetadata = metadata
return out, nil
}
type GetFaceDetectionInput struct {
// Unique identifier for the face detection job. The JobId is returned from
// StartFaceDetection.
//
// This member is required.
JobId *string
// Maximum number of results to return per paginated call. The largest value you
// can specify is 1000. If you specify a value greater than 1000, a maximum of 1000
// results is returned. The default value is 1000.
MaxResults *int32
// If the previous response was incomplete (because there are more faces to
// retrieve), Amazon Rekognition Video returns a pagination token in the response.
// You can use this pagination token to retrieve the next set of faces.
NextToken *string
}
type GetFaceDetectionOutput struct {
// An array of faces detected in the video. Each element contains a detected face's
// details and the time, in milliseconds from the start of the video, the face was
// detected.
Faces []*types.FaceDetection
// The current status of the face detection job.
JobStatus types.VideoJobStatus
// If the response is truncated, Amazon Rekognition returns this token that you can
// use in the subsequent request to retrieve the next set of faces.
NextToken *string
// If the job fails, StatusMessage provides a descriptive error message.
StatusMessage *string
// Information about a video that Amazon Rekognition Video analyzed. Videometadata
// is returned in every page of paginated responses from a Amazon Rekognition video
// operation.
VideoMetadata *types.VideoMetadata
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
}
func addOperationGetFaceDetectionMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetFaceDetection{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetFaceDetection{}, middleware.After)
if err != nil {
return err
}
awsmiddleware.AddRequestInvocationIDMiddleware(stack)
smithyhttp.AddContentLengthMiddleware(stack)
addResolveEndpointMiddleware(stack, options)
v4.AddComputePayloadSHA256Middleware(stack)
addRetryMiddlewares(stack, options)
addHTTPSignerV4Middleware(stack, options)
awsmiddleware.AddAttemptClockSkewMiddleware(stack)
addClientUserAgent(stack)
smithyhttp.AddErrorCloseResponseBodyMiddleware(stack)
smithyhttp.AddCloseResponseBodyMiddleware(stack)
addOpGetFaceDetectionValidationMiddleware(stack)
stack.Initialize.Add(newServiceMetadataMiddleware_opGetFaceDetection(options.Region), middleware.Before)
addRequestIDRetrieverMiddleware(stack)
addResponseErrorMiddleware(stack)
return nil
}
func newServiceMetadataMiddleware_opGetFaceDetection(region string) awsmiddleware.RegisterServiceMetadata {
return awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "rekognition",
OperationName: "GetFaceDetection",
}
}