Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Hochladen eines Archivs in einer einzigen Operation mitAWS SDK for .NETim Amazon S3 Glacier
Sowohl dasAPIs auf hoher Ebene und Low-LevelMit dem Amazon SDK for .NET wird eine Methode zum Hochladen eines Archivs in einer einzigen Operation bereitgestellt.
Themen
Hochladen eines Archivs mithilfe der High-Level-API von AWS SDK for .NET
Die ArchiveTransferManager
-Klasse der High-Level-API bietet die Upload
-Methode, mit der Sie ein Archiv in einen Tresor hochladen können.
Anmerkung
Sie können die Upload
-Methode zum Hochladen von kleinen und großen Dateien verwenden. Die Größe der hochzuladenden Datei entscheidet bei dieser Methode darüber, ob die Datei in einer einziger Operationen hochgeladen wird oder ob die API für mehrteilige Uploads verwendet wird, um die Datei in mehreren Teilen hochzuladen.
Beispiel: Hochladen eines Archivs mithilfe der High-Level-API von AWS SDK for .NET
Im folgenden C#-Codebeispiel wird ein Archiv in einen Tresor hochgeladen (examplevault
) in der Region USA West (Oregon).
Eine schrittweise Anleitung für das Ausführen dieses Beispiels finden Sie unter Ausführen von Codebeispielen. Sie müssen den Code wie gezeigt mit dem Namen der hochzuladenden Datei aktualisieren.
using System; using Amazon.Glacier; using Amazon.Glacier.Transfer; using Amazon.Runtime; namespace glacier.amazon.com.docsamples { class ArchiveUploadHighLevel { static string vaultName = "examplevault"; static string archiveToUpload = "*** Provide file name (with full path) to upload ***"; public static void Main(string[] args) { try { var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2); // Upload an archive. string archiveId = manager.Upload(vaultName, "upload archive test", archiveToUpload).ArchiveId; Console.WriteLine("Archive ID: (Copy and save this ID for use in other examples.) : {0}", archiveId); Console.WriteLine("To continue, press Enter"); Console.ReadKey(); } catch (AmazonGlacierException e) { Console.WriteLine(e.Message); } catch (AmazonServiceException e) { Console.WriteLine(e.Message); } catch (Exception e) { Console.WriteLine(e.Message); } Console.WriteLine("To continue, press Enter"); Console.ReadKey(); } } }
Hochladen eines Archivs in einer einzigen Operation mit der Low-Level-API von AWS SDK for .NET
Die Low-Level-API bietet Methoden für alle Archivvorgänge. Im Folgenden werden die Schritte zum Hochladen eines Archivs mit AWS SDK for .NET beschrieben.
-
Erstellen einer Instance der
AmazonGlacierClient
-Klasse (Client).Sie müssen eine angebenAWSRegion, in der das Archiv hochgeladen werden soll. Alle Operationen, die Sie mit diesem Client durchführen, gelten für diesenAWSRegion :
-
Um die Anforderungsinformationen bereitzustellen, erstellen Sie eine Instance der
UploadArchiveRequest
-Klasse.Zusätzlich zu den hochzuladenden Daten müssen Sie eine Prüfsumme (SHA-256-Struktur-Hash) für die Nutzlast, den Tresornamen und Ihre Konto-ID angeben.
Wenn Sie keine Konto-ID angeben, wird die Konto-ID übernommen, die den Anmeldeinformationen zugeordnet ist, die Sie zum Signieren der Anforderung verwenden. Weitere Informationen finden Sie unter Verwendung derAWS SDK for .NETmit Amazon S3 Glacier .
-
Führen Sie die
UploadArchive
-Methode aus, indem das Anforderungsobjekt als Parameter festgelegt wird.Als Antwort gibt S3 Glacier eine Archiv-ID für das neu hochgeladenen Archiv zurück.
Beispiel: Hochladen eines Archivs in einer einzigen Operation mit der Low-Level-API von AWS SDK for .NET
Im folgenden C#-Codebeispiel werden die vorstehenden Schritte veranschaulicht. Im folgenden Beispiel wird AWS SDK for .NET zum Hochladen eines Archivs in einen Tresor (examplevault
) verwendet.
Anmerkung
Weitere Informationen zur zugrunde liegenden REST-API für das Hochladen eines Archivs in einer einzigen Anforderung finden Sie unter Upload Archive (POST archive).
Eine schrittweise Anleitung für das Ausführen dieses Beispiels finden Sie unter Ausführen von Codebeispielen. Sie müssen den Code wie gezeigt mit dem Namen der hochzuladenden Datei aktualisieren.
using System; using System.IO; using Amazon.Glacier; using Amazon.Glacier.Model; using Amazon.Runtime; namespace glacier.amazon.com.docsamples { class ArchiveUploadSingleOpLowLevel { static string vaultName = "examplevault"; static string archiveToUpload = "*** Provide file name (with full path) to upload ***"; public static void Main(string[] args) { AmazonGlacierClient client; try { using (client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2)) { Console.WriteLine("Uploading an archive."); string archiveId = UploadAnArchive(client); Console.WriteLine("Archive ID: {0}", archiveId); } } catch (AmazonGlacierException e) { Console.WriteLine(e.Message); } catch (AmazonServiceException e) { Console.WriteLine(e.Message); } catch (Exception e) { Console.WriteLine(e.Message); } Console.WriteLine("To continue, press Enter"); Console.ReadKey(); } static string UploadAnArchive(AmazonGlacierClient client) { using (FileStream fileStream = new FileStream(archiveToUpload, FileMode.Open, FileAccess.Read)) { string treeHash = TreeHashGenerator.CalculateTreeHash(fileStream); UploadArchiveRequest request = new UploadArchiveRequest() { VaultName = vaultName, Body = fileStream, Checksum = treeHash }; UploadArchiveResponse response = client.UploadArchive(request); string archiveID = response.ArchiveId; return archiveID; } } } }