Руководство по AWS Snowball: методы и примеры передачи данных

AWS Snowball — это решение для физической транспортировки данных, предоставляемое Amazon Web Services (AWS). Он разработан, чтобы помочь клиентам безопасно и быстро передавать большие объемы данных в автономном режиме. Устройства Snowball – это надежные портативные устройства хранения данных, выпускаемые в двух вариантах: Snowball и Snowball Edge.

  1. Импорт данных в Snowball:
    Чтобы импортировать данные в Snowball, вам необходимо создать задание в Консоли управления AWS. Ниже приведен пример создания задания импорта Snowball с использованием AWS SDK для Python (Boto3):
import boto3
# Create a Snowball client
snowball_client = boto3.client('snowball')
# Create an import job
response = snowball_client.create_job(
    JobType='IMPORT',
    Resources={
        'S3Resources': [
            {
                'BucketArn': 'arn:aws:s3:::my-bucket',
                'KeyRange': {
                    'BeginMarker': 'path/to/start',
                    'EndMarker': 'path/to/end'
                }
            }
        ]
    },
    SnowballCapacityPreference='T100',
    Notification={
        'SnsTopicArn': 'arn:aws:sns:us-west-2:123456789012:my-topic',
        'JobStatesToNotify': [
            'NEW',
            'IMPORTING',
            'IMPORT_COMPLETE',
            'IMPORT_FAILED'
        ],
        'NotifyAll': True
    }
)
# Print the job ID
print(response['JobId'])
  1. Экспорт данных из Snowball:
    Чтобы экспортировать данные из Snowball, вы можете создать задание экспорта. Вот пример использования AWS SDK для Python (Boto3):
import boto3
# Create a Snowball client
snowball_client = boto3.client('snowball')
# Create an export job
response = snowball_client.create_job(
    JobType='EXPORT',
    Resources={
        'S3Resources': [
            {
                'BucketArn': 'arn:aws:s3:::my-bucket',
                'KeyRange': {
                    'BeginMarker': 'path/to/start',
                    'EndMarker': 'path/to/end'
                }
            }
        ]
    },
    SnowballCapacityPreference='T100',
    Notification={
        'SnsTopicArn': 'arn:aws:sns:us-west-2:123456789012:my-topic',
        'JobStatesToNotify': [
            'NEW',
            'EXPORTING',
            'EXPORT_COMPLETE',
            'EXPORT_FAILED'
        ],
        'NotifyAll': True
    }
)
# Print the job ID
print(response['JobId'])
  1. Проверка статуса задания.
    Вы можете использовать метод describe_job, чтобы проверить статус задания Snowball. Вот пример использования AWS SDK для Python (Boto3):
import boto3
# Create a Snowball client
snowball_client = boto3.client('snowball')
# Get the job status
response = snowball_client.describe_job(JobId='JOB_ID')
# Print the job status
print(response['JobMetadata']['JobState'])