Skip to content

Botocore 1.33.2 breaks pynamodb connection #1205

@guimorg

Description

@guimorg

In botocore 1.33.2 there is a breaking change which makes pynamodb incompatible with it.

------------------------------------------------------------------------ pynamodb/connection/base.py: ------------------------------------------------------------------------ 369 def _make_api_call(self, operation_name: str, operation_kwargs: Dict, settings: OperationSettings = OperationSettings.default) -> Dict: 370 """ 371 This private method is here for two reasons: 372 1. It's faster to avoid using botocore's response parsing 373 2. It provides a place to monkey patch HTTP requests for unit testing 374 """ 375 operation_model = self.client._service_model.operation_model(operation_name) 376 if self._convert_to_request_dict__endpoint_url: 377 request_context = { 378 'client_region': self.region, 379 'client_config': self.client.meta.config, 380 'has_streaming_input': operation_model.has_streaming_input, 381 'auth_type': operation_model.auth_type, 382 } 383 384 endpoint_url, additional_headers = self.client._resolve_endpoint_ruleset( 385 operation_model, operation_kwargs, request_context 386 ) 387 request_dict = self.client._convert_to_request_dict( 388 api_params=operation_kwargs, 389 operation_model=operation_model, 390 endpoint_url=endpoint_url, 391 context=request_context, 392 headers=additional_headers, 393 )

Line 384 receives a ValueError: too many values to unpack (expected 2).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions