Esta página es solo para los clientes actuales del servicio S3 Glacier que utilizan Vaults y el original de 2012. REST API
Si busca soluciones de almacenamiento de archivos, le sugerimos que utilice las clases de almacenamiento S3 Glacier en Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval y S3 Glacier Deep Archive. Para obtener más información sobre estas opciones de almacenamiento, consulte Clases de almacenamiento de S3 Glacier y Almacenamiento
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de AWS SDK for .NET con Amazon S3 Glacier
La API de AWS SDK for .NET está disponible en AWSSDK.dll
. Para obtener más información sobre la descarga de AWS SDK for .NET, vaya a Bibliotecas de código de muestra
nota
La API de bajo nivel y la de alto nivel ofrecen clientes seguros para subprocesos que brindan acceso a S3 Glacier. Como práctica recomendada, sus aplicaciones deben crear un cliente y reutilizar el cliente entre subprocesos.
Temas
Uso de la API de bajo nivel
La clase AmazonGlacierClient
de bajo nivel proporciona todos los métodos que se asignan a las operaciones subyacentes de REST incluidas en Amazon S3 Glacier (S3 Glacier) (Referencia de la API para Amazon S3 Glacier). Al llamar a alguno de estos métodos, debe crear el objeto de solicitud correspondiente y proporcionar un objeto de respuesta en el que el método pueda devolver una respuesta de S3 Glacier a la operación.
Por ejemplo, la clase AmazonGlacierClient
contiene el método CreateVault
para crear un almacén. Este método se corresponde con la operación de REST Create Vault (consulte Creación de un almacén (almacén PUT)). Para poder utilizar este método, debe crear instancias de las clases CreateVaultRequest
y CreateVaultResponse
a fin de proporcionar información de la solicitud y recibir una respuesta de S3 Glacier tal y como se muestra en el siguiente fragmento de código C#:
AmazonGlacierClient client; client = new AmazonGlacierClient(Amazon.RegionEndpoint.USEast1); CreateVaultRequest request = new CreateVaultRequest() { AccountId = "-", VaultName = "*** Provide vault name ***" }; CreateVaultResponse response = client.CreateVault(request);
En todos los ejemplos de bajo nivel de la guía se utiliza este patrón.
nota
En el segmento de código anterior, se especifica AccountId
al crear la solicitud. Sin embargo, cuando se utiliza AWS SDK for .NET, el AccountId
de la solicitud es opcional, por lo que este valor no se utiliza en ningún ejemplo de bajo nivel de esta guía. El valor AccountId
es el ID de la Cuenta de AWS. Este valor debe coincidir con el ID de la Cuenta de AWS asociada con las credenciales que se utilizaron para firmar la solicitud. Puede especificar el ID de la Cuenta de AWS o, si lo desea, el carácter “-”, en cuyo caso S3 Glacier utiliza el ID de la Cuenta de AWS asociada a las credenciales empleadas para firmar la solicitud. Si especifica el ID de cuenta, no incluya ningún guion en él. Cuando se utiliza AWS SDK for .NET, si no se proporciona el ID de cuenta, la biblioteca lo establece en '-'.
Uso de la API de alto nivel
Para simplificar aún más el desarrollo de las aplicaciones, AWS SDK for .NET dispone de la clase ArchiveTransferManager
, que ofrece un mayor nivel de abstracción para algunos de los métodos de la API de bajo nivel. Esta clase tiene métodos útiles, como Upload
y Download
, para operaciones con archivos.
Por ejemplo, en el siguiente fragmento de código C#, se utiliza el método Upload
de alto nivel para cargar un archivo.
string vaultName = "examplevault"; string archiveToUpload = "c:\folder\exampleArchive.zip"; var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1); string archiveId = manager.Upload(vaultName, "archive description", archiveToUpload).ArchiveId;
Tenga en cuenta que las operaciones que realice se aplicarán a la región de AWS que especificó al crear el objeto ArchiveTransferManager
. En todos los ejemplos de alto nivel de esta guía, se utiliza este patrón.
nota
La clase ArchiveTransferManager
de alto nivel sigue necesitando el cliente AmazonGlacierClient
de bajo nivel, que puede pasarse de forma explícita o que se puede crear a través de ArchiveTransferManager
.
Ejecución de los ejemplos de código
La forma más sencilla de comenzar con los ejemplos de código .NET es instalar AWS SDK for .NET. Para obtener más información, vaya a Amazon SDK para .NET
En el siguiente procedimiento, se detallan los pasos necesarios para probar los ejemplos de código que se incluyen en esta guía.
1 |
Cree un perfil de credenciales para sus credenciales de AWS según lo descrito en el tema de Amazon SDK para .NET Configuración de credenciales de AWS. |
2 |
Cree un proyecto de Visual Studio con la plantilla Proyecto vacío de AWS. |
3 |
Reemplace el código en el archivo de proyecto, |
4 |
Ejecute el código. Verifique que el objeto se cree con la AWS Management Console. Para obtener más información acerca de la AWS Management Console, visite http://aws.amazon.com/console/ |
Configuración del punto de enlace
De forma predeterminada, AWS SDK for .NET establece el punto de conexión en la región de Oeste de EE. UU. (Oregón) (https://glacier.us-west-2.amazonaws.com
). Puede establecerlo en otras regiones de AWS, tal y como se muestra en los siguientes fragmentos de C#.
En el fragmento siguiente, se muestra cómo establecer el punto de conexión en la región Oeste de EE. UU. (Oregón) (us-west-2
) en la API de bajo nivel.
AmazonGlacierClient client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2);
En el fragmento siguiente, se muestra cómo establecer el punto de conexión en la región Oeste de EE. UU. (Oregón) en la API de alto nivel.
var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);
Para ver una lista actualizada de las regiones de AWS y los puntos de conexión admitidos, consulte Acceso a Amazon S3 Glacier.