Repository: aws/aws-cli

Issue:
cli aws s3 sync - no output
aws-cli/1.11.82 Python/2.7.9 Windows/8 botocore/1.5.45

aws s3 sync doesn't show output.
It acts like having the option --quiet added.


Discussion:
My guess is there are no files that actually need syncing (i.e. the files are all up-to-date with each other)? If you can run the command with ``--debug`` and add it to the issue, I can confirm that.
Here you go.

```
C:\MyBin>aws s3 sync C:/MyData/試/ "s3://chanryan-share/test/" --exclude
"?:\*\Thumbs.db" --storage-class STANDARD_IA --sse AES256 --delete --debug
2017-05-04 00:24:23,197 - MainThread - awscli.clidriver - DEBUG - CLI
version: aws-cli/1.11.82 Python/2.7.9 Windows/8 botocore/1.5.45
2017-05-04 00:24:23,197 - MainThread - awscli.clidriver - DEBUG - Arguments
entered to CLI: ['s3', 'sync', 'C:/MyData/\xb8\xd5/',
's3://chanryan-share/test/', '--exclude', '?:\\*\\Thumbs.db',
'--storage-class', 'STANDARD_IA', '--sse', 'AES256', '--delete', '--debug']
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
session-initialized: calling handler <function add_scalar_parsers at
0x0000000003BD64A8>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
session-initialized: calling handler <function
inject_assume_role_provider_cache at 0x00000000036EB908>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
building-command-table.s3: calling handler <function add_waiters at
0x0000000003BDB438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.s3.anonymous: calling handler <function uri_param at
0x0000000003351438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
building-command-table.sync: calling handler <function
register_sync_strategies at 0x0000000003BCED68>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
building-command-table.sync: calling handler <function add_waiters at
0x0000000003BDB438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
building-arg-table.sync: calling handler <bound method
SizeOnlySync.add_sync_argument of
<awscli.customizations.s3.syncstrategy.sizeonly.SizeOnlySync object at
0x0000000003F72DA0>>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
building-arg-table.sync: calling handler <bound method
ExactTimestampsSync.add_sync_argument of
<awscli.customizations.s3.syncstrategy.exacttimestamps.ExactTimestampsSync
object at 0x0000000003F729E8>>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
building-arg-table.sync: calling handler <bound method
DeleteSync.add_sync_argument of
<awscli.customizations.s3.syncstrategy.delete.DeleteSync object at
0x0000000003F72DD8>>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.sse-c-key: calling handler <function uri_param at
0x0000000003351438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.grants: calling handler <function uri_param at
0x0000000003351438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.content-language: calling handler <function
uri_param at 0x0000000003351438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.page-size: calling handler <function uri_param at
0x0000000003351438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.anonymous: calling handler <function uri_param at
0x0000000003351438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.sse-c-copy-source-key: calling handler <function
uri_param at 0x0000000003351438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.exact-timestamps: calling handler <function
uri_param at 0x0000000003351438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
process-cli-arg.custom.sync: calling handler
<awscli.argprocess.ParamShorthandParser object at 0x00000000033AFDD8>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.paths: calling handler <function uri_param at
0x0000000003351438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.anonymous: calling handler <function uri_param at
0x0000000003351438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.size-only: calling handler <function uri_param at
0x0000000003351438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
process-cli-arg.custom.sync: calling handler
<awscli.argprocess.ParamShorthandParser object at 0x00000000033AFDD8>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.source-region: calling handler <function uri_param
at 0x0000000003351438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.content-encoding: calling handler <function
uri_param at 0x0000000003351438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.content-disposition: calling handler <function
uri_param at 0x0000000003351438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.cache-control: calling handler <function uri_param
at 0x0000000003351438>
2017-05-04 00:24:23,197 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.metadata: calling handler <function uri_param at
0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.dryrun: calling handler <function uri_param at
0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
process-cli-arg.custom.sync: calling handler
<awscli.argprocess.ParamShorthandParser object at 0x00000000033AFDD8>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.sse-c: calling handler <function uri_param at
0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.expires: calling handler <function uri_param at
0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.sse-c-copy-source: calling handler <function
uri_param at 0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.ignore-glacier-warnings: calling handler <function
uri_param at 0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
process-cli-arg.custom.sync: calling handler
<awscli.argprocess.ParamShorthandParser object at 0x00000000033AFDD8>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.content-type: calling handler <function uri_param
at 0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.sse: calling handler <function uri_param at
0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.metadata-directive: calling handler <function
uri_param at 0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.only-show-errors: calling handler <function
uri_param at 0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
process-cli-arg.custom.sync: calling handler
<awscli.argprocess.ParamShorthandParser object at 0x00000000033AFDD8>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.force-glacier-transfer: calling handler <function
uri_param at 0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
process-cli-arg.custom.sync: calling handler
<awscli.argprocess.ParamShorthandParser object at 0x00000000033AFDD8>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.quiet: calling handler <function uri_param at
0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
process-cli-arg.custom.sync: calling handler
<awscli.argprocess.ParamShorthandParser object at 0x00000000033AFDD8>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.acl: calling handler <function uri_param at
0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.storage-class: calling handler <function uri_param
at 0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
process-cli-arg.custom.sync: calling handler
<awscli.argprocess.ParamShorthandParser object at 0x00000000033AFDD8>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.sse-kms-key-id: calling handler <function
uri_param at 0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.website-redirect: calling handler <function
uri_param at 0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.follow-symlinks: calling handler <function
uri_param at 0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
process-cli-arg.custom.sync: calling handler
<awscli.argprocess.ParamShorthandParser object at 0x00000000033AFDD8>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.custom.sync.delete: calling handler <function uri_param at
0x0000000003351438>
2017-05-04 00:24:23,213 - MainThread - botocore.hooks - DEBUG - Event
process-cli-arg.custom.sync: calling handler
<awscli.argprocess.ParamShorthandParser object at 0x00000000033AFDD8>
2017-05-04 00:24:23,213 - MainThread - botocore.credentials - DEBUG -
Looking for credentials via: env
2017-05-04 00:24:23,213 - MainThread - botocore.credentials - DEBUG -
Looking for credentials via: assume-role
2017-05-04 00:24:23,213 - MainThread - botocore.credentials - DEBUG -
Looking for credentials via: shared-credentials-file
2017-05-04 00:24:23,213 - MainThread - botocore.credentials - INFO - Found
credentials in shared credentials file: ~/.aws/credentials
2017-05-04 00:24:23,213 - MainThread - botocore.loaders - DEBUG - Loading
JSON file: C:\Program Files\Amazon\AWSCLI\botocore\data\endpoints.json
2017-05-04 00:24:23,230 - MainThread - botocore.loaders - DEBUG - Loading
JSON file: C:\Program
Files\Amazon\AWSCLI\botocore\data\s3\2006-03-01\service-2.json
2017-05-04 00:24:23,260 - MainThread - botocore.client - DEBUG -
Registering retry handlers for service: s3
2017-05-04 00:24:23,260 - MainThread - botocore.hooks - DEBUG - Event
creating-client-class.s3: calling handler <function
add_generate_presigned_post at 0x0000000003083048>
2017-05-04 00:24:23,260 - MainThread - botocore.hooks - DEBUG - Event
creating-client-class.s3: calling handler <function
add_generate_presigned_url at 0x000000000307FE48>
2017-05-04 00:24:23,260 - MainThread - botocore.args - DEBUG - The s3
config key is not a dictionary type, ignoring its value of: None
2017-05-04 00:24:23,260 - MainThread - botocore.endpoint - DEBUG - Setting
s3 timeout as (60, 60)
2017-05-04 00:24:23,260 - MainThread - botocore.client - DEBUG - Defaulting
to S3 virtual host style addressing with path style addressing fallback.
2017-05-04 00:24:23,260 - MainThread - botocore.client - DEBUG -
Registering retry handlers for service: s3
2017-05-04 00:24:23,276 - MainThread - botocore.hooks - DEBUG - Event
creating-client-class.s3: calling handler <function
add_generate_presigned_post at 0x0000000003083048>
2017-05-04 00:24:23,276 - MainThread - botocore.hooks - DEBUG - Event
creating-client-class.s3: calling handler <function
add_generate_presigned_url at 0x000000000307FE48>
2017-05-04 00:24:23,276 - MainThread - botocore.args - DEBUG - The s3
config key is not a dictionary type, ignoring its value of: None
2017-05-04 00:24:23,308 - MainThread - botocore.endpoint - DEBUG - Setting
s3 timeout as (60, 60)
2017-05-04 00:24:23,308 - MainThread - botocore.client - DEBUG - Defaulting
to S3 virtual host style addressing with path style addressing fallback.
2017-05-04 00:24:23,308 - MainThread - botocore.client - DEBUG -
Registering retry handlers for service: s3
2017-05-04 00:24:23,308 - MainThread - botocore.hooks - DEBUG - Event
creating-client-class.s3: calling handler <function
add_generate_presigned_post at 0x0000000003083048>
2017-05-04 00:24:23,308 - MainThread - botocore.hooks - DEBUG - Event
creating-client-class.s3: calling handler <function
add_generate_presigned_url at 0x000000000307FE48>
2017-05-04 00:24:23,308 - MainThread - botocore.args - DEBUG - The s3
config key is not a dictionary type, ignoring its value of: None
2017-05-04 00:24:23,308 - MainThread - botocore.endpoint - DEBUG - Setting
s3 timeout as (60, 60)
2017-05-04 00:24:23,308 - MainThread - botocore.client - DEBUG - Defaulting
to S3 virtual host style addressing with path style addressing fallback.
2017-05-04 00:24:23,308 - MainThread - awscli.customizations.s3.s3handler -
DEBUG - Using a multipart threshold of 8388608 and a part size of 8388608
2017-05-04 00:24:23,308 - MainThread - botocore.hooks - DEBUG - Event
choosing-s3-sync-strategy: calling handler <bound method
SizeOnlySync.use_sync_strategy of
<awscli.customizations.s3.syncstrategy.sizeonly.SizeOnlySync object at
0x0000000003F72DA0>>
2017-05-04 00:24:23,308 - MainThread - botocore.hooks - DEBUG - Event
choosing-s3-sync-strategy: calling handler <bound method
ExactTimestampsSync.use_sync_strategy of
<awscli.customizations.s3.syncstrategy.exacttimestamps.ExactTimestampsSync
object at 0x0000000003F729E8>>
2017-05-04 00:24:23,308 - MainThread - botocore.hooks - DEBUG - Event
choosing-s3-sync-strategy: calling handler <bound method
DeleteSync.use_sync_strategy of
<awscli.customizations.s3.syncstrategy.delete.DeleteSync object at
0x0000000003F72DD8>>
2017-05-04 00:24:23,322 - MainThread - awscli.customizations.s3.filters -
DEBUG - C:\MyData\試\test2.txt did not match clude filter: ?:\*\Thumbs.db
2017-05-04 00:24:23,322 - MainThread - awscli.customizations.s3.filters -
DEBUG - C:\MyData\試\test2.txt did not match clude filter: ?:\*\Thumbs.db
2017-05-04 00:24:23,322 - MainThread - awscli.customizations.s3.filters -
DEBUG - =C:\MyData\試\test2.txt final filtered status, should_include: True
2017-05-04 00:24:23,355 - MainThread - botocore.loaders - DEBUG - Loading
JSON file: C:\Program
Files\Amazon\AWSCLI\botocore\data\s3\2006-03-01\paginators-1.json
2017-05-04 00:24:23,355 - MainThread - botocore.hooks - DEBUG - Event
before-parameter-build.s3.ListObjects: calling handler <function
set_list_objects_encoding_type_url at 0x00000000030BFF28>
2017-05-04 00:24:23,355 - MainThread - botocore.hooks - DEBUG - Event
before-parameter-build.s3.ListObjects: calling handler <function
validate_bucket_name at 0x00000000030BF048>
2017-05-04 00:24:23,355 - MainThread - botocore.hooks - DEBUG - Event
before-parameter-build.s3.ListObjects: calling handler <bound method
S3RegionRedirector.redirect_from_cache of
<botocore.utils.S3RegionRedirector object at 0x00000000045A7470>>
2017-05-04 00:24:23,355 - MainThread - botocore.hooks - DEBUG - Event
before-parameter-build.s3.ListObjects: calling handler <function
generate_idempotent_uuid at 0x00000000030BCCF8>
2017-05-04 00:24:23,355 - MainThread - botocore.hooks - DEBUG - Event
before-call.s3.ListObjects: calling handler <function add_expect_header at
0x00000000030BF438>
2017-05-04 00:24:23,355 - MainThread - botocore.hooks - DEBUG - Event
before-call.s3.ListObjects: calling handler <bound method
S3RegionRedirector.set_request_url of <botocore.utils.S3RegionRedirector
object at 0x00000000045A7470>>
2017-05-04 00:24:23,355 - MainThread - botocore.endpoint - DEBUG - Making
request for OperationModel(name=ListObjects) (verify_ssl=True) with params:
{'body': '', 'url': u'
https://s3-ap-southeast-1.amazonaws.com/chanryan-share?prefix=test%2F&encoding-type=url',
'headers': {'User-Agent': 'aws-cli/1.11.82 Python/2.7.9 Windows/8
botocore/1.5.45'}, 'context': {'auth_type': None, 'client_region':
'ap-southeast-1', 'signing': {'bucket': u'chanryan-share'},
'has_streaming_input': False, 'client_config': <botocore.config.Config
object at 0x0000000003DC5E48>, 'encoding_type_auto_set': True},
'query_string': {u'prefix': u'test/', u'encoding-type': 'url'}, 'url_path':
u'/chanryan-share', 'method': u'GET'}
2017-05-04 00:24:23,355 - MainThread - botocore.hooks - DEBUG - Event
request-created.s3.ListObjects: calling handler <function
disable_upload_callbacks at 0x000000000390F048>
2017-05-04 00:24:23,355 - MainThread - botocore.hooks - DEBUG - Event
request-created.s3.ListObjects: calling handler <bound method
RequestSigner.handler of <botocore.signers.RequestSigner object at
0x0000000003F0F518>>
2017-05-04 00:24:23,355 - MainThread - botocore.hooks - DEBUG - Event
choose-signer.s3.ListObjects: calling handler <function
set_operation_specific_signer at 0x00000000030BCC18>
2017-05-04 00:24:23,355 - MainThread - botocore.hooks - DEBUG - Event
before-sign.s3.ListObjects: calling handler <function fix_s3_host at
0x0000000002EB64A8>
2017-05-04 00:24:23,355 - MainThread - botocore.utils - DEBUG - Checking
for DNS compatible bucket for:
https://s3-ap-southeast-1.amazonaws.com/chanryan-share?prefix=test%2F&encoding-type=url
2017-05-04 00:24:23,355 - MainThread - botocore.utils - DEBUG - URI updated
to:
https://chanryan-share.s3.amazonaws.com/?prefix=test%2F&encoding-type=url
2017-05-04 00:24:23,355 - MainThread - botocore.auth - DEBUG - Calculating
signature using hmacv1 auth.
2017-05-04 00:24:23,369 - MainThread - botocore.auth - DEBUG - HTTP request
method: GET
2017-05-04 00:24:23,369 - MainThread - botocore.auth - DEBUG - StringToSign:
GET


Wed, 03 May 2017 16:24:23 GMT
/chanryan-share/
2017-05-04 00:24:23,369 - MainThread - botocore.hooks - DEBUG - Event
request-created.s3.ListObjects: calling handler <function
enable_upload_callbacks at 0x000000000390F0B8>
2017-05-04 00:24:23,369 - MainThread - botocore.endpoint - DEBUG - Sending
http request: <PreparedRequest [GET]>
2017-05-04 00:24:23,369 - MainThread -
botocore.vendored.requests.packages.urllib3.connectionpool - INFO -
Starting new HTTPS connection (1): chanryan-share.s3.amazonaws.com
2017-05-04 00:24:24,369 - MainThread -
botocore.vendored.requests.packages.urllib3.connectionpool - DEBUG - "GET
/?prefix=test%2F&encoding-type=url HTTP/1.1" 200 None
2017-05-04 00:24:24,369 - MainThread - botocore.parsers - DEBUG - Response
headers: {'x-amz-bucket-region': 'ap-southeast-1', 'x-amz-id-2':
'eJnOnMQ9an4ZXD64048x3UZ/5GcmJEFTFuUQf5o7bNnUPwoa4ju+fLNvRsvxpgm0n8/l4nmGx3k=',
'server': 'AmazonS3', 'transfer-encoding': 'chunked', 'x-amz-request-id':
'F43BB055CD9EB318', 'date': 'Wed, 03 May 2017 16:24:09 GMT',
'content-type': 'application/xml'}
2017-05-04 00:24:24,369 - MainThread - botocore.parsers - DEBUG - Response
body:
<?xml version="1.0" encoding="UTF-8"?>
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/
"><Name>chanryan-share</Name><Prefix>test/</Prefix><Marker></Marker><MaxKeys>1000</MaxKeys><EncodingType>url</EncodingType><IsTruncated>false</IsTruncated><Contents><Key>test/</Key><LastModified>2017-05-03T16:14:38.000Z</LastModified><ETag>&quot;d41d8cd98f00b204e9800998ecf8427e&quot;</ETag><Size>0</Size><Owner><ID>cbc48206327ceb7cfb3dc70204e9c30cf5caba0f16dd729b132fc9e6980be964</ID><DisplayName>chanryan.angler</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>test/test1.txt</Key><LastModified>2017-05-03T16:21:40.000Z</LastModified><ETag>&quot;d41d8cd98f00b204e9800998ecf8427e&quot;</ETag><Size>0</Size><Owner><ID>cbc48206327ceb7cfb3dc70204e9c30cf5caba0f16dd729b132fc9e6980be964</ID><DisplayName>chanryan.angler</DisplayName></Owner><StorageClass>STANDARD_IA</StorageClass></Contents></ListBucketResult>
2017-05-04 00:24:24,369 - MainThread - botocore.hooks - DEBUG - Event
needs-retry.s3.ListObjects: calling handler
<botocore.retryhandler.RetryHandler object at 0x00000000045002E8>
2017-05-04 00:24:24,369 - MainThread - botocore.retryhandler - DEBUG - No
retry needed.
2017-05-04 00:24:24,369 - MainThread - botocore.hooks - DEBUG - Event
needs-retry.s3.ListObjects: calling handler <bound method
S3RegionRedirector.redirect_from_error of
<botocore.utils.S3RegionRedirector object at 0x00000000045A7470>>
2017-05-04 00:24:24,385 - MainThread - botocore.hooks - DEBUG - Event
after-call.s3.ListObjects: calling handler <function decode_list_object at
0x00000000030BFF98>
2017-05-04 00:24:24,385 - MainThread - botocore.hooks - DEBUG - Event
after-call.s3.ListObjects: calling handler <function enhance_error_msg at
0x0000000003BD60B8>
C:\Program Files\Amazon\AWSCLI\.\dateutil\parser.py:605: UnicodeWarning:
Unicode equal comparison failed to convert both arguments to Unicode -
interpreting them as being unequal
2017-05-04 00:24:24,385 - MainThread - awscli.customizations.s3.filters -
DEBUG - chanryan-share/test/test1.txt did not match clude filter:
?:/*/Thumbs.db
2017-05-04 00:24:24,385 - MainThread - awscli.customizations.s3.filters -
DEBUG - chanryan-share/test/test1.txt did not match clude filter:
?:/*/Thumbs.db
2017-05-04 00:24:24,385 - MainThread - awscli.customizations.s3.filters -
DEBUG - =chanryan-share/test/test1.txt final filtered status,
should_include: True
2017-05-04 00:24:24,385 - MainThread -
awscli.customizations.s3.syncstrategy.delete - DEBUG - syncing: (None) ->
chanryan-share/test/test1.txt (remove), file does not exist at source
(C:\MyData\試\test1.txt) and delete mode enabled
2017-05-04 00:24:24,385 - MainThread - s3transfer.utils - DEBUG - Acquiring
0
2017-05-04 00:24:24,385 - Thread-2 - s3transfer.tasks - DEBUG -
DeleteSubmissionTask(transfer_id=0, {'transfer_future':
<s3transfer.futures.TransferFuture object at 0x00000000035C8198>}) about to
wait for the following futures []
2017-05-04 00:24:24,385 - MainThread -
awscli.customizations.s3.syncstrategy.base - DEBUG - syncing:
C:\MyData\試\test2.txt -> chanryan-share/test/test2.txt, file does not exist
at destination
2017-05-04 00:24:24,385 - Thread-2 - s3transfer.tasks - DEBUG -
DeleteSubmissionTask(transfer_id=0, {'transfer_future':
<s3transfer.futures.TransferFuture object at 0x00000000035C8198>}) done
waiting for dependent futures
2017-05-04 00:24:24,385 - MainThread - s3transfer.utils - DEBUG - Acquiring
1
2017-05-04 00:24:24,385 - Thread-2 - s3transfer.tasks - DEBUG - Executing
task DeleteSubmissionTask(transfer_id=0, {'transfer_future':
<s3transfer.futures.TransferFuture object at 0x00000000035C8198>}) with
kwargs {'osutil': <s3transfer.utils.OSUtils object at 0x00000000036A8550>,
'client': <botocore.client.S3 object at 0x000000000459DF98>, 'config':
<s3transfer.manager.TransferConfig object at 0x00000000036A84E0>,
'transfer_future': <s3transfer.futures.TransferFuture object at
0x00000000035C8198>, 'request_executor':
<s3transfer.futures.BoundedExecutor object at 0x00000000036A86D8>}
2017-05-04 00:24:24,385 - Thread-3 - s3transfer.tasks - DEBUG -
UploadSubmissionTask(transfer_id=1, {'transfer_future':
<s3transfer.futures.TransferFuture object at 0x00000000035C84A8>}) about to
wait for the following futures []
2017-05-04 00:24:24,385 - Thread-2 - s3transfer.futures - DEBUG -
Submitting task DeleteObjectTask(transfer_id=0, {'extra_args': {},
'bucket': u'chanryan-share', 'key': u'test/test1.txt'}) to executor
<s3transfer.futures.BoundedExecutor object at 0x00000000036A86D8> for
transfer request: 0.
2017-05-04 00:24:24,385 - Thread-3 - s3transfer.tasks - DEBUG -
UploadSubmissionTask(transfer_id=1, {'transfer_future':
<s3transfer.futures.TransferFuture object at 0x00000000035C84A8>}) done
waiting for dependent futures
2017-05-04 00:24:24,385 - Thread-2 - s3transfer.utils - DEBUG - Acquiring 0
2017-05-04 00:24:24,401 - Thread-3 - s3transfer.tasks - DEBUG - Executing
task UploadSubmissionTask(transfer_id=1, {'transfer_future':
<s3transfer.futures.TransferFuture object at 0x00000000035C84A8>}) with
kwargs {'osutil': <s3transfer.utils.OSUtils object at 0x00000000036A8550>,
'client': <botocore.client.S3 object at 0x000000000459DF98>, 'config':
<s3transfer.manager.TransferConfig object at 0x00000000036A84E0>,
'transfer_future': <s3transfer.futures.TransferFuture object at
0x00000000035C84A8>, 'request_executor':
<s3transfer.futures.BoundedExecutor object at 0x00000000036A86D8>}
2017-05-04 00:24:24,401 - Thread-4 - s3transfer.tasks - DEBUG -
DeleteObjectTask(transfer_id=0, {'extra_args': {}, 'bucket':
u'chanryan-share', 'key': u'test/test1.txt'}) about to wait for the
following futures []
2017-05-04 00:24:24,401 - Thread-2 - s3transfer.utils - DEBUG - Releasing
acquire 0/None
2017-05-04 00:24:24,401 - Thread-4 - s3transfer.tasks - DEBUG -
DeleteObjectTask(transfer_id=0, {'extra_args': {}, 'bucket':
u'chanryan-share', 'key': u'test/test1.txt'}) done waiting for dependent
futures
2017-05-04 00:24:24,401 - Thread-4 - s3transfer.tasks - DEBUG - Executing
task DeleteObjectTask(transfer_id=0, {'extra_args': {}, 'bucket':
u'chanryan-share', 'key': u'test/test1.txt'}) with kwargs {'extra_args':
{}, 'client': <botocore.client.S3 object at 0x000000000459DF98>, 'bucket':
u'chanryan-share', 'key': u'test/test1.txt'}
2017-05-04 00:24:24,401 - Thread-4 - botocore.hooks - DEBUG - Event
before-parameter-build.s3.DeleteObject: calling handler <function
validate_bucket_name at 0x00000000030BF048>
2017-05-04 00:24:24,401 - Thread-4 - botocore.hooks - DEBUG - Event
before-parameter-build.s3.DeleteObject: calling handler <bound method
S3RegionRedirector.redirect_from_cache of
<botocore.utils.S3RegionRedirector object at 0x00000000045A7470>>
2017-05-04 00:24:24,401 - Thread-4 - botocore.hooks - DEBUG - Event
before-parameter-build.s3.DeleteObject: calling handler <function
generate_idempotent_uuid at 0x00000000030BCCF8>
2017-05-04 00:24:24,417 - Thread-4 - botocore.hooks - DEBUG - Event
before-call.s3.DeleteObject: calling handler <function add_expect_header at
0x00000000030BF438>
2017-05-04 00:24:24,417 - Thread-4 - botocore.hooks - DEBUG - Event
before-call.s3.DeleteObject: calling handler <bound method
S3RegionRedirector.set_request_url of <botocore.utils.S3RegionRedirector
object at 0x00000000045A7470>>
2017-05-04 00:24:24,417 - Thread-4 - botocore.endpoint - DEBUG - Making
request for OperationModel(name=DeleteObject) (verify_ssl=True) with
params: {'body': '', 'url': u'
https://s3-ap-southeast-1.amazonaws.com/chanryan-share/test/test1.txt',
'headers': {'User-Agent': 'aws-cli/1.11.82 Python/2.7.9 Windows/8
botocore/1.5.45'}, 'context': {'auth_type': None, 'client_region':
'ap-southeast-1', 'signing': {'bucket': u'chanryan-share'},
'has_streaming_input': False, 'client_config': <botocore.config.Config
object at 0x0000000003DC5E48>}, 'query_string': {}, 'url_path':
u'/chanryan-share/test/test1.txt', 'method': u'DELETE'}
2017-05-04 00:24:24,417 - Thread-4 - botocore.hooks - DEBUG - Event
request-created.s3.DeleteObject: calling handler <function
disable_upload_callbacks at 0x000000000390F048>
2017-05-04 00:24:24,417 - Thread-4 - botocore.hooks - DEBUG - Event
request-created.s3.DeleteObject: calling handler <bound method
RequestSigner.handler of <botocore.signers.RequestSigner object at
0x0000000003F0F518>>
2017-05-04 00:24:24,417 - Thread-4 - botocore.hooks - DEBUG - Event
choose-signer.s3.DeleteObject: calling handler <function
set_operation_specific_signer at 0x00000000030BCC18>
2017-05-04 00:24:24,417 - Thread-4 - botocore.hooks - DEBUG - Event
before-sign.s3.DeleteObject: calling handler <function fix_s3_host at
0x0000000002EB64A8>
2017-05-04 00:24:24,417 - Thread-4 - botocore.utils - DEBUG - Checking for
DNS compatible bucket for:
https://s3-ap-southeast-1.amazonaws.com/chanryan-share/test/test1.txt
2017-05-04 00:24:24,417 - Thread-4 - botocore.utils - DEBUG - URI updated
to: https://chanryan-share.s3.amazonaws.com/test/test1.txt
2017-05-04 00:24:24,433 - Thread-4 - botocore.auth - DEBUG - Calculating
signature using hmacv1 auth.
2017-05-04 00:24:24,433 - Thread-4 - botocore.auth - DEBUG - HTTP request
method: DELETE
2017-05-04 00:24:24,433 - Thread-4 - botocore.auth - DEBUG - StringToSign:
DELETE


Wed, 03 May 2017 16:24:24 GMT
/chanryan-share/test/test1.txt
2017-05-04 00:24:24,433 - Thread-4 - botocore.hooks - DEBUG - Event
request-created.s3.DeleteObject: calling handler <function
enable_upload_callbacks at 0x000000000390F0B8>
2017-05-04 00:24:24,433 - Thread-4 - botocore.endpoint - DEBUG - Sending
http request: <PreparedRequest [DELETE]>
2017-05-04 00:24:24,480 - Thread-4 -
botocore.vendored.requests.packages.urllib3.connectionpool - DEBUG -
"DELETE /test/test1.txt HTTP/1.1" 204 0
2017-05-04 00:24:24,480 - Thread-4 - botocore.parsers - DEBUG - Response
headers: {'x-amz-id-2':
'/ligBmt/wS0TvS4ogWdUTz6XE1iMQ//JkfSSsom/s0GFyzh08NurI0OI0Cvk3NHky/Lq8AT71Mo=',
'date': 'Wed, 03 May 2017 16:24:09 GMT', 'x-amz-request-id':
'0C5FDAF5FCB94CD6', 'server': 'AmazonS3'}
2017-05-04 00:24:24,480 - Thread-4 - botocore.parsers - DEBUG - Response
body:

2017-05-04 00:24:24,494 - Thread-4 - botocore.hooks - DEBUG - Event
needs-retry.s3.DeleteObject: calling handler
<botocore.retryhandler.RetryHandler object at 0x00000000045002E8>
2017-05-04 00:24:24,494 - Thread-4 - botocore.retryhandler - DEBUG - No
retry needed.
2017-05-04 00:24:24,494 - Thread-4 - botocore.hooks - DEBUG - Event
needs-retry.s3.DeleteObject: calling handler <bound method
S3RegionRedirector.redirect_from_error of
<botocore.utils.S3RegionRedirector object at 0x00000000045A7470>>
2017-05-04 00:24:24,494 - Thread-4 - botocore.hooks - DEBUG - Event
after-call.s3.DeleteObject: calling handler <function enhance_error_msg at
0x0000000003BD60B8>
d2elete: s3://chanryan-share/test/test1.txt
017-05-04 00:24:24,494 - Thread-4 - s3transfer.utils - DEBUG - Releasing
acquire 0/None
2017-05-04 00:24:24,588 - Thread-3 - s3transfer.futures - DEBUG -
Submitting task PutObjectTask(transfer_id=1, {'extra_args': {'ContentType':
'text/plain', 'StorageClass': u'STANDARD_IA', 'ServerSideEncryption':
u'AES256'}, 'bucket': u'chanryan-share', 'key': u'test/test2.txt'}) to
executor <s3transfer.futures.BoundedExecutor object at 0x00000000036A86D8>
for transfer request: 1.
2017-05-04 00:24:24,588 - Thread-1 - awscli.customizations.s3.results -
DEBUG - Error processing result QueuedResult(transfer_type='upload',
src=u'..\\MyData\\\u8a66\\test2.txt',
dest=u's3://chanryan-share/test/test2.txt', total_transfer_size=0L) with
handler <awscli.customizations.s3.results.ResultRecorder object at
0x00000000036A8C18>: 'ascii' codec can't encode character u'\u8a66' in
position 10: ordinal not in range(128)
Traceback (most recent call last):
  File "awscli\customizations\s3\results.pyc", line 604, in _process_result
  File "awscli\customizations\s3\results.pyc", line 241, in __call__
  File "awscli\customizations\s3\results.pyc", line 267, in
_record_queued_result
  File "awscli\customizations\s3\results.pyc", line 250, in
_get_ongoing_dict_key
  File "awscli\customizations\s3\results.pyc", line 250, in <genexpr>
UnicodeEncodeError: 'ascii' codec can't encode character u'\u8a66' in
position 10: ordinal not in range(128)
2017-05-04 00:24:24,588 - Thread-3 - s3transfer.utils - DEBUG - Acquiring 1
2017-05-04 00:24:24,588 - Thread-4 - s3transfer.tasks - DEBUG -
PutObjectTask(transfer_id=1, {'extra_args': {'ContentType': 'text/plain',
'StorageClass': u'STANDARD_IA', 'ServerSideEncryption': u'AES256'},
'bucket': u'chanryan-share', 'key': u'test/test2.txt'}) about to wait for
the following futures []
2017-05-04 00:24:24,588 - Thread-3 - s3transfer.utils - DEBUG - Releasing
acquire 1/None
2017-05-04 00:24:24,588 - Thread-4 - s3transfer.tasks - DEBUG -
PutObjectTask(transfer_id=1, {'extra_args': {'ContentType': 'text/plain',
'StorageClass': u'STANDARD_IA', 'ServerSideEncryption': u'AES256'},
'bucket': u'chanryan-share', 'key': u'test/test2.txt'}) done waiting for
dependent futures
2017-05-04 00:24:24,588 - Thread-4 - s3transfer.tasks - DEBUG - Executing
task PutObjectTask(transfer_id=1, {'extra_args': {'ContentType':
'text/plain', 'StorageClass': u'STANDARD_IA', 'ServerSideEncryption':
u'AES256'}, 'bucket': u'chanryan-share', 'key': u'test/test2.txt'}) with
kwargs {'extra_args': {'ContentType': 'text/plain', 'StorageClass':
u'STANDARD_IA', 'ServerSideEncryption': u'AES256'}, 'client':
<botocore.client.S3 object at 0x000000000459DF98>, 'bucket':
u'chanryan-share', 'key': u'test/test2.txt', 'fileobj':
<s3transfer.utils.ReadFileChunk object at 0x00000000035C8198>}
2017-05-04 00:24:24,588 - Thread-4 - botocore.hooks - DEBUG - Event
before-parameter-build.s3.PutObject: calling handler <function
validate_ascii_metadata at 0x00000000030BFA58>
2017-05-04 00:24:24,588 - Thread-4 - botocore.hooks - DEBUG - Event
before-parameter-build.s3.PutObject: calling handler <function sse_md5 at
0x00000000030BF0B8>
2017-05-04 00:24:24,605 - Thread-4 - botocore.hooks - DEBUG - Event
before-parameter-build.s3.PutObject: calling handler <function
convert_body_to_file_like_object at 0x00000000030C0048>
2017-05-04 00:24:24,605 - Thread-4 - botocore.hooks - DEBUG - Event
before-parameter-build.s3.PutObject: calling handler <function
validate_bucket_name at 0x00000000030BF048>
2017-05-04 00:24:24,605 - Thread-4 - botocore.hooks - DEBUG - Event
before-parameter-build.s3.PutObject: calling handler <bound method
S3RegionRedirector.redirect_from_cache of
<botocore.utils.S3RegionRedirector object at 0x00000000045A7470>>
2017-05-04 00:24:24,605 - Thread-4 - botocore.hooks - DEBUG - Event
before-parameter-build.s3.PutObject: calling handler <function
generate_idempotent_uuid at 0x00000000030BCCF8>
2017-05-04 00:24:24,605 - Thread-4 - botocore.hooks - DEBUG - Event
before-call.s3.PutObject: calling handler <function
conditionally_calculate_md5 at 0x00000000030BCF98>
2017-05-04 00:24:24,605 - Thread-4 - botocore.hooks - DEBUG - Event
before-call.s3.PutObject: calling handler <function add_expect_header at
0x00000000030BF438>
2017-05-04 00:24:24,605 - Thread-4 - botocore.handlers - DEBUG - Adding
expect 100 continue header to request.
2017-05-04 00:24:24,605 - Thread-4 - botocore.hooks - DEBUG - Event
before-call.s3.PutObject: calling handler <bound method
S3RegionRedirector.set_request_url of <botocore.utils.S3RegionRedirector
object at 0x00000000045A7470>>
2017-05-04 00:24:24,605 - Thread-4 - botocore.endpoint - DEBUG - Making
request for OperationModel(name=PutObject) (verify_ssl=True) with params:
{'body': <s3transfer.utils.ReadFileChunk object at 0x00000000035C8198>,
'url': u'
https://s3-ap-southeast-1.amazonaws.com/chanryan-share/test/test2.txt',
'headers': {'User-Agent': 'aws-cli/1.11.82 Python/2.7.9 Windows/8
botocore/1.5.45', u'x-amz-server-side-encryption': 'AES256',
u'Content-Type': 'text/plain', 'Expect': '100-continue',
u'x-amz-storage-class': 'STANDARD_IA'}, 'context': {'auth_type': None,
'client_region': 'ap-southeast-1', 'signing': {'bucket':
u'chanryan-share'}, 'has_streaming_input': True, 'client_config':
<botocore.config.Config object at 0x0000000003DC5E48>}, 'query_string': {},
'url_path': u'/chanryan-share/test/test2.txt', 'method': u'PUT'}
2017-05-04 00:24:24,605 - Thread-4 - botocore.hooks - DEBUG - Event
request-created.s3.PutObject: calling handler <function
disable_upload_callbacks at 0x000000000390F048>
2017-05-04 00:24:24,619 - Thread-4 - botocore.hooks - DEBUG - Event
request-created.s3.PutObject: calling handler <bound method
RequestSigner.handler of <botocore.signers.RequestSigner object at
0x0000000003F0F518>>
2017-05-04 00:24:24,619 - Thread-4 - botocore.hooks - DEBUG - Event
choose-signer.s3.PutObject: calling handler <function
set_operation_specific_signer at 0x00000000030BCC18>
2017-05-04 00:24:24,619 - Thread-4 - botocore.hooks - DEBUG - Event
before-sign.s3.PutObject: calling handler <function fix_s3_host at
0x0000000002EB64A8>
2017-05-04 00:24:24,619 - Thread-4 - botocore.utils - DEBUG - Checking for
DNS compatible bucket for:
https://s3-ap-southeast-1.amazonaws.com/chanryan-share/test/test2.txt
2017-05-04 00:24:24,619 - Thread-4 - botocore.utils - DEBUG - URI updated
to: https://chanryan-share.s3.amazonaws.com/test/test2.txt
2017-05-04 00:24:24,619 - Thread-4 - botocore.auth - DEBUG - Calculating
signature using hmacv1 auth.
2017-05-04 00:24:24,619 - Thread-4 - botocore.auth - DEBUG - HTTP request
method: PUT
2017-05-04 00:24:24,619 - Thread-4 - botocore.auth - DEBUG - StringToSign:
PUT

text/plain
Wed, 03 May 2017 16:24:24 GMT
x-amz-server-side-encryption:AES256
x-amz-storage-class:STANDARD_IA
/chanryan-share/test/test2.txt
2017-05-04 00:24:24,619 - Thread-4 - botocore.hooks - DEBUG - Event
request-created.s3.PutObject: calling handler <function
enable_upload_callbacks at 0x000000000390F0B8>
2017-05-04 00:24:24,619 - Thread-4 - botocore.endpoint - DEBUG - Sending
http request: <PreparedRequest [PUT]>
2017-05-04 00:24:24,635 - Thread-4 - botocore.awsrequest - DEBUG - Waiting
for 100 Continue response.
2017-05-04 00:24:24,683 - Thread-4 - botocore.awsrequest - DEBUG - 100
Continue response seen, now sending request body.
2017-05-04 00:24:24,683 - Thread-4 -
botocore.vendored.requests.packages.urllib3.connectionpool - DEBUG - "PUT
/test/test2.txt HTTP/1.1" 200 0
2017-05-04 00:24:24,683 - Thread-4 - botocore.parsers - DEBUG - Response
headers: {'content-length': '0', 'x-amz-storage-class': 'STANDARD_IA',
'x-amz-id-2':
'Pc7wLu2Y7k5KlgOlLoKcNRSCiQNPCaJeXluKUeXRRtFQUc8aQFlTIiwY9ThhXYxb3/luW/nstGU=',
'server': 'AmazonS3', 'x-amz-request-id': 'DB933D0AE84AD34A', 'etag':
'"d41d8cd98f00b204e9800998ecf8427e"', 'date': 'Wed, 03 May 2017 16:24:09
GMT', 'x-amz-server-side-encryption': 'AES256'}
2017-05-04 00:24:24,683 - Thread-4 - botocore.parsers - DEBUG - Response
body:

2017-05-04 00:24:24,683 - Thread-4 - botocore.hooks - DEBUG - Event
needs-retry.s3.PutObject: calling handler
<botocore.retryhandler.RetryHandler object at 0x00000000045002E8>
2017-05-04 00:24:24,683 - Thread-4 - botocore.retryhandler - DEBUG - No
retry needed.
2017-05-04 00:24:24,683 - Thread-4 - botocore.hooks - DEBUG - Event
needs-retry.s3.PutObject: calling handler <bound method
S3RegionRedirector.redirect_from_error of
<botocore.utils.S3RegionRedirector object at 0x00000000045A7470>>
2017-05-04 00:24:24,683 - Thread-4 - botocore.hooks - DEBUG - Event
after-call.s3.PutObject: calling handler <function enhance_error_msg at
0x0000000003BD60B8>
2017-05-04 00:24:24,697 - Thread-4 - s3transfer.utils - DEBUG - Releasing
acquire 1/None
2017-05-04 00:24:24,697 - Thread-1 - awscli.customizations.s3.results -
DEBUG - Error processing result SuccessResult(transfer_type='upload',
src=u'..\\MyData\\\u8a66\\test2.txt',
dest=u's3://chanryan-share/test/test2.txt') with handler
<awscli.customizations.s3.results.ResultRecorder object at
0x00000000036A8C18>: 'ascii' codec can't encode character u'\u8a66' in
position 10: ordinal not in range(128)
Traceback (most recent call last):
  File "awscli\customizations\s3\results.pyc", line 604, in _process_result
  File "awscli\customizations\s3\results.pyc", line 241, in __call__
  File "awscli\customizations\s3\results.pyc", line 318, in
_record_success_result
  File "awscli\customizations\s3\results.pyc", line 253, in
_pop_result_from_ongoing_dicts
  File "awscli\customizations\s3\results.pyc", line 250, in
_get_ongoing_dict_key
  File "awscli\customizations\s3\results.pyc", line 250, in <genexpr>
UnicodeEncodeError: 'ascii' codec can't encode character u'\u8a66' in
position 10: ordinal not in range(128)
2017-05-04 00:24:24,697 - Thread-1 - awscli.customizations.s3.results -
DEBUG - Error processing result SuccessResult(transfer_type='upload',
src=u'..\\MyData\\\u8a66\\test2.txt',
dest=u's3://chanryan-share/test/test2.txt') with handler
<awscli.customizations.s3.results.ResultPrinter object at
0x00000000036A8CC0>: 'ascii' codec can't encode character u'\u8a66' in
position 10: ordinal not in range(128)
Traceback (most recent call last):
  File "awscli\customizations\s3\results.pyc", line 604, in _process_result
  File "awscli\customizations\s3\results.pyc", line 412, in __call__
  File "awscli\customizations\s3\results.pyc", line 429, in _print_success
  File "awscli\customizations\s3\results.pyc", line 466, in
_get_transfer_location
UnicodeEncodeError: 'ascii' codec can't encode character u'\u8a66' in
position 10: ordinal not in range(128)
2017-05-04 00:24:24,744 - Thread-1 - awscli.customizations.s3.results -
DEBUG - Shutdown request received in result processing thread, shutting
down result thread.

C:\MyBin>
```

2017-05-03 5:51 GMT+08:00 Kyle Knapp <notifications@github.com>:

> My guess is there are no files that actually need syncing (i.e. the files
> are all up-to-date with each other)? If you can run the command with
> --debug and add it to the issue, I can confirm that.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/aws/aws-cli/issues/2575#issuecomment-298772134>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/Aa-LuZYBHl6a2Z-NDF6Q908wjWr79_vWks5r16VXgaJpZM4NNnjS>
> .
>


Resolving patch:
diff --git a/awscli/customizations/s3/results.py b/awscli/customizations/s3/results.py
--- a/awscli/customizations/s3/results.py
+++ b/awscli/customizations/s3/results.py
@@ -353,24 +353,24 @@ class ResultPrinter(BaseResultHandler):
         'Completed {files_completed} file(s) with ' + _FILES_REMAINING
     )
     SUCCESS_FORMAT = (
-        '{transfer_type}: {transfer_location}'
+        u'{transfer_type}: {transfer_location}'
     )
-    DRY_RUN_FORMAT = '(dryrun) ' + SUCCESS_FORMAT
+    DRY_RUN_FORMAT = u'(dryrun) ' + SUCCESS_FORMAT
     FAILURE_FORMAT = (
-        '{transfer_type} failed: {transfer_location} {exception}'
+        u'{transfer_type} failed: {transfer_location} {exception}'
     )
     # TODO: Add "warning: " prefix once all commands are converted to using
     # result printer and remove "warning: " prefix from ``create_warning``.
     WARNING_FORMAT = (
-        '{message}'
+        u'{message}'
     )
     ERROR_FORMAT = (
-        'fatal error: {exception}'
+        u'fatal error: {exception}'
     )
     CTRL_C_MSG = 'cancelled: ctrl-c received'
 
-    SRC_DEST_TRANSFER_LOCATION_FORMAT = '{src} to {dest}'
-    SRC_TRANSFER_LOCATION_FORMAT = '{src}'
+    SRC_DEST_TRANSFER_LOCATION_FORMAT = u'{src} to {dest}'
+    SRC_TRANSFER_LOCATION_FORMAT = u'{src}'
 
     def __init__(self, result_recorder, out_file=None, error_file=None):
         """Prints status of ongoing transfer


Test patch:
diff --git a/tests/unit/customizations/s3/test_results.py b/tests/unit/customizations/s3/test_results.py
--- a/tests/unit/customizations/s3/test_results.py
+++ b/tests/unit/customizations/s3/test_results.py
@@ -1406,6 +1406,88 @@ def test_final_total_does_not_print_out_newline_for_no_transfers(self):
         self.result_printer(FinalTotalSubmissionsResult(0))
         self.assertEqual(self.out_file.getvalue(), '')
 
+    def test_print_unicode_success_src_and_dest(self):
+        # Pretend that this is the final result in the result queue that
+        # is processed.
+        self.result_recorder.final_expected_files_transferred = 1
+        self.result_recorder.expected_files_transferred = 1
+        self.result_recorder.files_transferred = 1
+
+        result = SuccessResult(
+            transfer_type='upload',
+            src=u'/tmp/\u2713',
+            dest='s3://mybucket/mykey'
+        )
+        self.result_printer(result)
+        expected = u'upload: /tmp/\u2713 to s3://mybucket/mykey\n'
+        self.assertEqual(self.out_file.getvalue(), expected)
+
+    def test_print_unicode_success_src(self):
+        # Pretend that this is the final result in the result queue that
+        # is processed.
+        self.result_recorder.final_expected_files_transferred = 1
+        self.result_recorder.expected_files_transferred = 1
+        self.result_recorder.files_transferred = 1
+
+        result = SuccessResult(
+            transfer_type='delete',
+            src=u's3://mybucket/tmp/\u2713',
+            dest=None
+        )
+        self.result_printer(result)
+        expected = u'delete: s3://mybucket/tmp/\u2713\n'
+        self.assertEqual(self.out_file.getvalue(), expected)
+
+    def test_print_unicode_dryrun(self):
+        result = DryRunResult(
+            transfer_type='upload',
+            src=u's3://mybucket/\u2713',
+            dest='./local/file'
+        )
+        self.result_printer(result)
+        expected = u'(dryrun) upload: s3://mybucket/\u2713 to ./local/file\n'
+        self.assertEqual(self.out_file.getvalue(), expected)
+
+    def test_print_unicode_failure(self):
+        transfer_type = 'upload'
+        src = u'\u2713'
+        dest = 's3://mybucket/mykey'
+
+        # Pretend that this is the final result in the result queue that
+        # is processed.
+        self.result_recorder.final_expected_files_transferred = 1
+        self.result_recorder.expected_files_transferred = 1
+        self.result_recorder.files_transferred = 1
+
+        failure_result = FailureResult(
+            transfer_type=transfer_type, src=src, dest=dest,
+            exception=Exception('my exception'))
+
+        self.result_printer(failure_result)
+
+        ref_failure_statement = (
+            u'upload failed: \u2713 to s3://mybucket/mykey my exception\n'
+        )
+        self.assertEqual(self.error_file.getvalue(), ref_failure_statement)
+        self.assertEqual(self.out_file.getvalue(), '')
+
+    def test_print_unicode_warning(self):
+        # Pretend that this is the final result in the result queue that
+        # is processed.
+        self.result_recorder.final_expected_files_transferred = 1
+        self.result_recorder.expected_files_transferred = 1
+        self.result_recorder.files_transferred = 1
+
+        self.result_printer(WarningResult(u'warning: unicode exists \u2713'))
+        ref_warning_statement = u'warning: unicode exists \u2713\n'
+        self.assertEqual(self.error_file.getvalue(), ref_warning_statement)
+        self.assertEqual(self.out_file.getvalue(), '')
+
+    def test_print_unicode_error(self):
+        self.result_printer(ErrorResult(Exception('unicode exists \u2713')))
+        ref_error_statement = 'fatal error: unicode exists \u2713\n'
+        self.assertEqual(self.error_file.getvalue(), ref_error_statement)
+
 
 class TestOnlyShowErrorsResultPrinter(BaseResultPrinterTest):
     def setUp(self):