185
return context.WithTimeout(ctx, defaultBlobstoreTimeout)
186
}
187
>
func Upload(ctx context.Context, s3cli S3API, URI archiver.URI, key string, data []byte) error {
util.go
188
>
ctx, cancel := ensureContextTimeout(ctx)
189
>
defer cancel()
190
>
191
>
_, err := s3cli.PutObject(ctx, &s3.PutObjectInput{
192
>
Bucket: aws.String(URI.Hostname()),
193
>
Key: aws.String(key),
194
>
Body: bytes.NewReader(data),
195
>
})
196
>
if err != nil {
197
if _, ok := errors.AsType[*types.NoSuchBucket](err); ok {
198
return serviceerror.NewInvalidArgument(errBucketNotExists.Error())