MCPcopy Create free account
hub / github.com/apache/nifi-minifi-cpp / getObject

Method getObject

extensions/aws/s3/S3WrapperBase.cpp:164–189  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

162}
163
164minifi::utils::optional<GetObjectResult> S3WrapperBase::getObject(const GetObjectRequestParameters& get_object_params, const std::shared_ptr<io::BaseStream>& out_body) {
165 Aws::S3::Model::GetObjectRequest request;
166 request.SetBucket(get_object_params.bucket);
167 request.SetKey(get_object_params.object_key);
168 if (!get_object_params.version.empty()) {
169 request.SetVersionId(get_object_params.version);
170 }
171 if (get_object_params.requester_pays) {
172 request.SetRequestPayer(Aws::S3::Model::RequestPayer::requester);
173 }
174 auto aws_result = sendGetObjectRequest(request);
175 if (!aws_result) {
176 return minifi::utils::nullopt;
177 }
178
179 GetObjectResult result;
180 result.setFilePaths(get_object_params.object_key);
181 result.mime_type = aws_result->GetContentType();
182 result.etag = minifi::utils::StringUtils::removeFramingCharacters(aws_result->GetETag(), '"');
183 result.expiration = getExpiration(aws_result.value().GetExpiration());
184 result.ssealgorithm = getEncryptionString(aws_result->GetServerSideEncryption());
185 result.version = aws_result->GetVersionId();
186 result.write_size = writeFetchedBody(aws_result->GetBody(), aws_result->GetContentLength(), out_body);
187
188 return result;
189}
190
191} // namespace s3
192} // namespace aws

Callers 1

processMethod · 0.80

Calls 3

setFilePathsMethod · 0.80
valueMethod · 0.80
emptyMethod · 0.45

Tested by

no test coverage detected