Управление потоками доставки 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.____())