Trabajo con buckets de S3 en un dispositivo Snowball Edge - AWS Snowball Edge Guía para desarrolladores

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.

Trabajo con buckets de S3 en un dispositivo Snowball Edge

Puede crear buckets de Amazon S3 en sus dispositivos Snowball Edge para almacenar y recuperar objetos en las instalaciones para las aplicaciones que requieren acceso local a los datos, procesamiento local de los datos y residencia de datos. El almacenamiento compatible con S3 en dispositivos Snow Family proporciona una nueva clase de almacenamiento, SNOW, que utiliza las API de Amazon S3 y está diseñada para almacenar datos de manera duradera y redundante en múltiples dispositivos Snowball Edge. Puede usar las mismas API y características en los buckets de Snowball Edge que en Amazon S3, como políticas de ciclo de vida, cifrado y etiquetado.

Uso del AWS CLI

Siga estas instrucciones para trabajar con buckets de Amazon S3 en su dispositivo mediante la AWS CLI.

Para configurar el AWS CLI
  1. Cree un perfil para los puntos de conexión de objetos en ~/.aws/config.

    [profile your-profile] aws_access_key_id = your-access-id aws_secret_access_key = your-access-key region = snow ca_bundle = dev/apps/ca-certs/your-ca_bundle
  2. Obtenga un certificado de su dispositivo. Para más información, consulte la Guía para desarrolladores de Snowball Edge.

  3. Si instaló el SDK en un entorno virtual, actívelo con el siguiente comando:

    source your-virtual-environment-name/bin/activate

Después de configurar las operaciones, puede obtener acceso a ellas mediante llamadas a la API con la AWS CLI. En los ejemplos siguientes, cert es el certificado de dispositivo que acaba de obtener mediante IAM.

Acceso a operaciones de objetos

aws s3api --profile your-profile list-objects-v2 --endpoint-url https://s3api-endpoint-ip

Acceso a operaciones de buckets

aws s3control --profile your-profile list-regional-buckets --account-id bucket-owner --endpoint-url https://s3ctrlapi-endpoint-ip

Uso del SDK para Java

Utilice el siguiente ejemplo para trabajar con objetos de Amazon S3 mediante el SDK para Java.

import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.http.SdkHttpClient; import software.amazon.awssdk.http.apache.ApacheHttpClient; import software.amazon.awssdk.regions.Region; import java.net.URI; AwsBasicCredentials creds = AwsBasicCredentials.create(accessKey, secretKey); // set creds by getting Access Key and Secret Key from snowball edge SdkHttpClient httpClient = ApacheHttpClient.builder().tlsTrustManagersProvider(trustManagersProvider).build(); // set trust managers provider with client certificate from snowball edge String s3SnowEndpoint = "10.0.0.0"; // set s3-snow object api endpoint from describe service S3Client s3Client = S3Client.builder().httpClient(httpClient).region(Region.of("snow")).endpointOverride(new URI(s3SnowEndpoint)).credentialsProvider(StaticCredentialsProvider.create(creds)).build();

Formato de ARN de bucket

Puede utilizar el formato de nombre de recurso de Amazon (ARN) que se muestra aquí para identificar un bucket de Amazon S3 en un dispositivo Snowball Edge:

arn:partition:s3:snow:account-id:device/device-id/bucket/bucket-name

Donde partition es la partición de la región en la que pidió el dispositivo Snowball Edge. device-id es el job_id si se trata de un dispositivo Snowball Edge independiente o el cluster_id si tiene un clúster de Snowball Edge.

Creación de un bucket de S3 en un dispositivo Snowball Edge

Puede crear buckets de Amazon S3 en su dispositivo Snowball Edge para almacenar y recuperar objetos en la periferia para las aplicaciones que requieren acceso local a los datos, procesamiento local de los datos y residencia de datos. El almacenamiento compatible con S3 en dispositivos Snow Family proporciona una nueva clase de almacenamiento, SNOW, que utiliza Amazon S3 y está diseñada para almacenar datos de manera duradera y redundante en múltiples dispositivos. Puede usar las mismas API y características que en los buckets de Amazon S3, como políticas de ciclo de vida, cifrado y etiquetado.

En el siguiente ejemplo se crea un bucket de Amazon S3 para un dispositivo Snowball Edge mediante la AWS CLI. Para ejecutar este comando, sustituya los marcadores de posición de entrada del usuario con su propia información.

aws s3control --profile your-profile create-bucket --bucket your-snow-bucket --endpoint-url https://s3ctrlapi-endpoint-ip

Crear y administrar una configuración del ciclo de vida de un objeto mediante AWS CLI

Puede utilizar Ciclo de vida de Amazon S3 para optimizar la capacidad del almacenamiento compatible con Amazon S3 en dispositivos Snow Family. Puede crear reglas de ciclo de vida para hacer que los objetos venzan a medida que lleguen al final de su ciclo de vida o para que se sustituyan por versiones más recientes. Puede crear, habilitar, deshabilitar o eliminar una regla de ciclo de vida. Para obtener más información sobre Ciclo de vida de Amazon S3, consulte Administración del ciclo de vida del almacenamiento.

nota

El Cuenta de AWS que crea el depósito es el propietario del mismo y es el único que puede crear, habilitar, deshabilitar o eliminar una regla del ciclo de vida.

Para crear y administrar una configuración de ciclo de vida para un bucket de almacenamiento compatible con Amazon S3 en dispositivos Snow Family mediante la AWS Command Line Interface (AWS CLI), consulte los siguientes ejemplos.

Uso de PUT para aplicar una configuración de ciclo de vida en un bucket de Snowball Edge

El siguiente AWS CLI ejemplo coloca una política de configuración del ciclo de vida en un bucket de Snowball Edge. Esta política especifica que todos los objetos que tienen el prefijo marcado (myprefix) y las etiquetas vencen después de 10 días. Para utilizar este ejemplo, reemplace cada marcador de posición de entrada del usuario con su propia información.

En primer lugar, guarde la política de configuración del ciclo de vida en un archivo JSON. En este ejemplo, el archivo se denomina lifecycle-example.json.

{ "Rules": [{ "ID": "id-1", "Filter": { "And": { "Prefix": "myprefix", "Tags": [{ "Value": "mytagvalue1", "Key": "mytagkey1" }, { "Value": "mytagvalue2", "Key": "mytagkey2" } ], } }, "Status": "Enabled", "Expiration": { "Days": 10 } }] }

Después de guardar el archivo, envíe el archivo JSON como parte del comando put-bucket-lifecycle-configuration. Para utilizar este comando, reemplace cada marcador de posición de entrada del usuario con su propia información.

aws s3control put-bucket-lifecycle-configuration --bucket example-snow-bucket --profile your-profile --lifecycle-configuration file://lifecycle-example.json --endpoint-url https://s3ctrlapi-endpoint-ip

Para obtener más información sobre este comando, consulte put-bucket-lifecycle-configurationla Referencia de AWS CLI comandos.

Trabajo con buckets de S3 en un dispositivo Snowball Edge

Con el almacenamiento compatible con Amazon S3 en dispositivos Snow Family, puede crear buckets de Amazon S3 en sus dispositivos Snowball Edge para almacenar y recuperar objetos en las instalaciones para las aplicaciones que requieren acceso local a los datos, procesamiento local de los datos y residencia de datos. El almacenamiento compatible con S3 en dispositivos Snow Family proporciona una nueva clase de almacenamiento, SNOW, que utiliza las API de Amazon S3 y está diseñada para almacenar datos de manera duradera y redundante en múltiples dispositivos Snowball Edge. Puede usar las mismas API y características en los buckets de Snowball Edge que en Amazon S3, como políticas de ciclo de vida, cifrado y etiquetado. Puede utilizar el almacenamiento compatible con Amazon S3 en los dispositivos de la familia Snow mediante AWS Command Line Interface (AWS CLI) o AWS los SDK.

Determinación de si puede obtener acceso a un bucket de almacenamiento compatible con Amazon S3 en dispositivos Snow Family

En el siguiente ejemplo, se utiliza el comando head-bucket para determinar si un bucket de Amazon S3 existe y si tiene permiso de acceso a él mediante la AWS CLI. Para utilizar este comando, reemplace cada marcador de posición de entrada del usuario con su propia información.

aws s3api head-bucket --bucket sample-bucket --profile your-profile --endpoint-url https://s3api-endpoint-ip

Obtenga una lista de depósitos o grupos regionales

Utilice list-regional-buckets o list buckets para enumerar el almacenamiento compatible con Amazon S3 en los cubos de dispositivos de la familia Snow utilizando el AWS CLI.

aws s3control list-regional-buckets --account-id 123456789012 --profile your-profile --endpoint-url https://s3ctrlapi-endpoint-ip

Para obtener más información sobre el list-regional-buckets comando, consulte list-regional-bucketsla Referencia de AWS CLI comandos.

aws s3 list-buckets --account-id 123456789012 --endpoint-url https://s3api-endpoint-ip

Para obtener más información sobre el list-buckets comando, consulte list-buckets en la Referencia de comandos AWS CLI

En el siguiente ejemplo de SDK para Java, se obtiene una lista de buckets en dispositivos Snowball Edge. Para obtener más información, consulte la referencia ListBucketsde la API de Amazon Simple Storage Service.

import com.amazonaws.services.s3.model.*; public void listBuckets() { ListBucketsRequest reqListBuckets = new ListBucketsRequest() .withAccountId(AccountId) ListBucketsResult respListBuckets = s3APIClient.RegionalBuckets(reqListBuckets); System.out.printf("ListBuckets Response: %s%n", respListBuckets.toString()); }

En el siguiente PowerShell ejemplo, se obtiene una lista de los depósitos de los dispositivos Snowball Edge.

Get-S3CRegionalBucketList -AccountId 012345678910 -Endpoint "https://snowball_ip" -Region snow

En el siguiente ejemplo de.NET se obtiene una lista de los depósitos de los dispositivos Snowball Edge.

using Amazon.S3Control; using Amazon.S3Control.Model; namespace SnowTest; internal class Program { static async Task Main(string[] args) { var config = new AmazonS3ControlConfig { ServiceURL = "https://snowball_ip", AuthenticationRegion = "snow" // Note that this is not RegionEndpoint }; var client = new AmazonS3ControlClient(config); var response = await client.ListRegionalBucketsAsync(new ListRegionalBucketsRequest() { AccountId = "012345678910" }); } }

Obtención de un bucket

En el siguiente ejemplo, se obtiene un bucket de almacenamiento compatible con Amazon S3 en dispositivos Snow Family mediante la AWS CLI. Para utilizar este comando, reemplace cada marcador de posición de entrada del usuario con su propia información.

aws s3control get-bucket --account-id 123456789012 --bucket DOC-EXAMPLE-BUCKET --profile your-profile --endpoint-url https://s3ctrlapi-endpoint-ip

Para obtener más información acerca de este comando, consulte get-bucket en la Referencia de comandos de AWS CLI .

En el siguiente ejemplo de almacenamiento compatible con Amazon S3 en dispositivos Snow Family, se obtiene un bucket mediante el SDK para Java. Para obtener más información, consulte la referencia GetBucketde la API de Amazon Simple Storage Service.

import com.amazonaws.services.s3control.model.*; public void getBucket(String bucketName) { GetBucketRequest reqGetBucket = new GetBucketRequest() .withBucket(bucketName) .withAccountId(AccountId); GetBucketResult respGetBucket = s3ControlClient.getBucket(reqGetBucket); System.out.printf("GetBucket Response: %s%n", respGetBucket.toString()); }

Eliminación de un bucket

importante
  • El Cuenta de AWS que crea el depósito es el propietario del mismo y es el único que puede eliminarlo.

  • Los buckets de dispositivos Snow Family deben estar vacíos para poder eliminarlos.

  • No se puede recuperar un bucket después de que se haya eliminado.

En el siguiente ejemplo, se elimina un bucket de almacenamiento compatible con Amazon S3 en dispositivos Snow Family mediante la AWS CLI. Para utilizar este comando, reemplace cada marcador de posición de entrada del usuario con su propia información.

aws s3control delete-bucket --account-id 123456789012 --bucket DOC-EXAMPLE-BUCKET --profile your-profile --endpoint-url https://s3ctrlapi-endpoint-ip

Para obtener más información acerca de este comando, consulte delete-bucket en la Referencia de comandos de AWS CLI .