So, I was looking at the source code for botocore and it seems that botocore adds a request header called amz-sdk-invocation-id
in the headers in a function called add_retry_headers
.
Does this mean that every boto3 request is idempotent?
What about requests that take a client-token
parameters like EC2. client-token
is supposed to provide idempotency for creating ec2 instances. How would that work? I mean what would happen if client-token
are different but amz-sdk-invocation-id
are same or if amz-sdk-invocation-id
are different but client-token
are the same?