/
api_op_BatchPutDocument.go
176 lines (158 loc) · 6.13 KB
/
api_op_BatchPutDocument.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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
// Code generated by smithy-go-codegen DO NOT EDIT.
package kendra
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/service/kendra/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Adds one or more documents to an index. The BatchPutDocument API enables you to
// ingest inline documents or a set of documents stored in an Amazon S3 bucket. Use
// this API to ingest your text and unstructured text into an index, add custom
// attributes to the documents, and to attach an access control list to the
// documents added to the index. The documents are indexed asynchronously. You can
// see the progress of the batch using Amazon Web Services CloudWatch. Any error
// messages related to processing the batch are sent to your Amazon Web Services
// CloudWatch log. You can also use the BatchGetDocumentStatus API to monitor the
// progress of indexing your documents. For an example of ingesting inline
// documents using Python and Java SDKs, see Adding files directly to an index (https://docs.aws.amazon.com/kendra/latest/dg/in-adding-binary-doc.html)
// .
func (c *Client) BatchPutDocument(ctx context.Context, params *BatchPutDocumentInput, optFns ...func(*Options)) (*BatchPutDocumentOutput, error) {
if params == nil {
params = &BatchPutDocumentInput{}
}
result, metadata, err := c.invokeOperation(ctx, "BatchPutDocument", params, optFns, c.addOperationBatchPutDocumentMiddlewares)
if err != nil {
return nil, err
}
out := result.(*BatchPutDocumentOutput)
out.ResultMetadata = metadata
return out, nil
}
type BatchPutDocumentInput struct {
// One or more documents to add to the index. Documents have the following file
// size limits.
// - 50 MB total size for any file
// - 5 MB extracted text for any file
// For more information, see Quotas (https://docs.aws.amazon.com/kendra/latest/dg/quotas.html)
// .
//
// This member is required.
Documents []types.Document
// The identifier of the index to add the documents to. You need to create the
// index first using the CreateIndex API.
//
// This member is required.
IndexId *string
// Configuration information for altering your document metadata and content
// during the document ingestion process when you use the BatchPutDocument API.
// For more information on how to create, modify and delete document metadata, or
// make other content alterations when you ingest documents into Amazon Kendra, see
// Customizing document metadata during the ingestion process (https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html)
// .
CustomDocumentEnrichmentConfiguration *types.CustomDocumentEnrichmentConfiguration
// The Amazon Resource Name (ARN) of an IAM role with permission to access your S3
// bucket. For more information, see IAM access roles for Amazon Kendra (https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html)
// .
RoleArn *string
noSmithyDocumentSerde
}
type BatchPutDocumentOutput struct {
// A list of documents that were not added to the index because the document
// failed a validation check. Each document contains an error message that
// indicates why the document couldn't be added to the index. If there was an error
// adding a document to an index the error is reported in your Amazon Web Services
// CloudWatch log. For more information, see Monitoring Amazon Kendra with Amazon
// CloudWatch logs (https://docs.aws.amazon.com/kendra/latest/dg/cloudwatch-logs.html)
// .
FailedDocuments []types.BatchPutDocumentResponseFailedDocument
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationBatchPutDocumentMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsAwsjson11_serializeOpBatchPutDocument{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpBatchPutDocument{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "BatchPutDocument"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = addClientRequestID(stack); err != nil {
return err
}
if err = addComputeContentLength(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = addComputePayloadSHA256(stack); err != nil {
return err
}
if err = addRetry(stack, options); err != nil {
return err
}
if err = addRawResponseToMetadata(stack); err != nil {
return err
}
if err = addRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpBatchPutDocumentValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opBatchPutDocument(options.Region), middleware.Before); err != nil {
return err
}
if err = addRecursionDetection(stack); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opBatchPutDocument(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "BatchPutDocument",
}
}