Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
À utiliser UploadPart
avec un AWS SDK ou CLI
Les exemples de code suivants montrent comment utiliserUploadPart
.
Les exemples d’actions sont des extraits de code de programmes de plus grande envergure et doivent être exécutés en contexte. Vous pouvez voir cette action en contexte dans les exemples de code suivants :
- C++
-
- SDKpour C++
-
//! Upload a part to an S3 bucket.
/*!
\param bucket: The name of the S3 bucket where the object will be uploaded.
\param key: The unique identifier (key) for the object within the S3 bucket.
\param uploadID: An upload ID string.
\param partNumber:
\param checksumAlgorithm: Checksum algorithm, ignored when NOT_SET.
\param calculatedHash: A data integrity hash to set, depending on the checksum algorithm,
ignored when it is an empty string.
\param body: An shared_ptr IOStream of the data to be uploaded.
\param client: The S3 client instance used to perform the upload operation.
\return UploadPartOutcome: The outcome.
*/
Aws::S3::Model::UploadPartOutcome AwsDoc::S3::uploadPart(const Aws::String &bucket,
const Aws::String &key,
const Aws::String &uploadID,
int partNumber,
Aws::S3::Model::ChecksumAlgorithm checksumAlgorithm,
const Aws::String &calculatedHash,
const std::shared_ptr<Aws::IOStream> &body,
const Aws::S3::S3Client &client) {
Aws::S3::Model::UploadPartRequest request;
request.SetBucket(bucket);
request.SetKey(key);
request.SetUploadId(uploadID);
request.SetPartNumber(partNumber);
if (checksumAlgorithm != Aws::S3::Model::ChecksumAlgorithm::NOT_SET) {
request.SetChecksumAlgorithm(checksumAlgorithm);
}
request.SetBody(body);
if (!calculatedHash.empty()) {
switch (checksumAlgorithm) {
case Aws::S3::Model::ChecksumAlgorithm::NOT_SET:
request.SetContentMD5(calculatedHash);
break;
case Aws::S3::Model::ChecksumAlgorithm::CRC32:
request.SetChecksumCRC32(calculatedHash);
break;
case Aws::S3::Model::ChecksumAlgorithm::CRC32C:
request.SetChecksumCRC32C(calculatedHash);
break;
case Aws::S3::Model::ChecksumAlgorithm::SHA1:
request.SetChecksumSHA1(calculatedHash);
break;
case Aws::S3::Model::ChecksumAlgorithm::SHA256:
request.SetChecksumSHA256(calculatedHash);
break;
}
}
return client.UploadPart(request);
}
- CLI
-
- AWS CLI
-
La commande suivante télécharge la première partie d'un téléchargement en plusieurs parties initié par la create-multipart-upload
commande :
aws s3api upload-part --bucket my-bucket
--key 'multipart/01
' --part-number 1
--body part01
--upload-id "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R"
L'body
option prend le nom ou le chemin d'un fichier local à télécharger (n'utilisez pas le préfixe file ://). La taille minimale des pièces est de 5 Mo. L'identifiant de téléchargement est renvoyé par create-multipart-upload
et peut également être récupéré aveclist-multipart-uploads
. Le bucket et la clé sont spécifiés lorsque vous créez le téléchargement partitionné.
Sortie :
{
"ETag": "\"e868e0f4719e394144ef36531ee6824c\""
}
Enregistrez la ETag valeur de chaque pièce pour plus tard. Ils sont nécessaires pour effectuer le téléchargement en plusieurs parties.
- Rust
-
- SDKpour Rust
-
let upload_part_res = client
.upload_part()
.key(&key)
.bucket(&bucket_name)
.upload_id(upload_id)
.body(stream)
.part_number(part_number)
.send()
.await?;
upload_parts.push(
CompletedPart::builder()
.e_tag(upload_part_res.e_tag.unwrap_or_default())
.part_number(part_number)
.build(),
);
let completed_multipart_upload: CompletedMultipartUpload = CompletedMultipartUpload::builder()
.set_parts(Some(upload_parts))
.build();
Pour obtenir la liste complète des guides AWS SDK de développement et des exemples de code, consultezUtilisation de ce service avec un AWS SDK. Cette rubrique inclut également des informations sur la mise en route et des détails sur SDK les versions précédentes.