НачатьНачать бесплатно

Управление потоками доставки Firehose

Работа дата-инженера нередко включает управление разрешениями и пользователями, а также использование графических интерфейсов вместо скриптов. В этом курсе мы покажем, как работать с boto3 для взаимодействия с Kinesis и Lambda, а также как выполнять определённые операции в AWS.

На протяжении всего курса операции в AWS уже выполнены за вас, чтобы вы могли сосредоточиться на программировании.

Скринкасты помогут вам понять, как всё устроено в целом. Вы можете самостоятельно попробовать эти операции в AWS — это полностью опционально:

  • Знание платформы AWS проверяться не будет
  • Операции в AWS выполняются за вас на протяжении всего курса, поэтому мы настоятельно рекомендуем сначала завершить курс
  • Если вы всё же решите попробовать что-то в AWS, обязательно останавливайте свои инстансы сразу после выхода, иначе вас ждёт внушительный счёт

А пока вы начинаете изучать, как работать с потоками Firehose. Ваш предшественник создал несколько потоков Firehose, и вам нужно удалить их все, чтобы начать работу с чистого листа.

Давайте обнулим AWS-аккаунт города!

Это упражнение является частью курса

Потоковая обработка данных с AWS Kinesis и Lambda

Посмотреть курс

Инструкции к упражнению

  • Импортируйте boto3 и создайте клиент boto3 для Firehose.
  • Получите список потоков доставки Firehose.
  • Переберите содержимое ответа и удалите каждый поток.
  • Убедитесь, что все потоки доставки удалены, выведя результат .list_delivery_streams().

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Import boto3 and create boto3 Firehose client
import ____
firehose = boto3.____('____', 
    aws_access_key_id=AWS_KEY_ID, aws_secret_access_key=AWS_SECRET, 
    region_name='us-east-1', endpoint_url=endpoints['FIREHOSE'])

# Get list of delivery streams
response = firehose.____()

# Iterate over the response contents and delete every stream
for stream_name in response['DeliveryStreamNames']:
    firehose.____(DeliveryStreamName=stream_name)
    print(f"Deleted stream: {stream_name}")

# Print list of delivery streams
print(firehose.____())
Редактировать и запускать код