Не удалось настроить DAX с DynamoDB в python

Я установил кластер DAX, который, кажется, работает. Я могу подключиться к нему с помощью Telnet.

Вот моя часть моего скрипта, которая работает с DynamoDB

dynamodb = boto3.resource('dynamodb', region_name='us-east-1')

Но это я только добавляю туда конечную точку DAX

dynamodb = boto3.resource('dynamodb', region_name='us-east-1', 
               endpoint_url='dax-test.awj2jy.clustercfg.dax.use1.cache.amazonaws.com:8111'
                      )

скрипт не работает

Traceback (most recent call last): File "get.py", line 25, in <module> endpoint_url='dax-test.awj2jy.clustercfg.dax.use1.cache.amazonaws.com:8111' File "/home/ubuntu/dax/lib/python3.5/site-packages/boto3/__init__.py", line 92, in resource return _get_default_session().resource(*args, **kwargs) File "/home/ubuntu/dax/lib/python3.5/site-packages/boto3/session.py", line 389, in resource aws_session_token=aws_session_token, config=config) File "/home/ubuntu/dax/lib/python3.5/site-packages/boto3/session.py", line 263, in client aws_session_token=aws_session_token, config=config) File "/home/ubuntu/dax/lib/python3.5/site-packages/botocore/session.py", line 836, in create_client client_config=config, api_version=api_version) File "/home/ubuntu/dax/lib/python3.5/site-packages/botocore/client.py", line 71, in create_client verify, credentials, scoped_config, client_config, endpoint_bridge) File "/home/ubuntu/dax/lib/python3.5/site-packages/botocore/client.py", line 281, in _get_client_args verify, credentials, scoped_config, client_config, endpoint_bridge) File "/home/ubuntu/dax/lib/python3.5/site-packages/botocore/args.py", line 79, in get_client_args timeout=(new_config.connect_timeout, new_config.read_timeout)) File "/home/ubuntu/dax/lib/python3.5/site-packages/botocore/endpoint.py", line 273, in create_endpoint raise ValueError("Invalid endpoint: %s" % endpoint_url) ValueError: Invalid endpoint: dax-test.awj2jy.clustercfg.dax.use1.cache.amazonaws.com:8111

Есть ли что-то еще, что я должен сделать? Я использую boto3 v1.4.5

1 ответ

Решение

Протокол DAX не совместим с протоколом DynamoDB на основе HTTP. У DAX в настоящее время есть SDK для Java. SDK для других языков активно развиваются. Для получения дополнительной информации о том, как использовать Java SDK для DAX, обратитесь к руководству пользователя.

Хотя вы можете использовать boto3 для обеспечения кластера DAX. Вы пока не можете подключиться к кластеру, используя Python.

Другие вопросы по тегам