在python中获取GCP PubSub主题策略时出现Unicode错误

时间:2017-11-06 00:12:06

标签: python-2.7 google-cloud-pubsub gcp

我有一个功能可以获取Google Cloud PubSub上主题的政策详情。我正在获取策略并在其中添加权限,然后更新它。我正在使用python sample docs中的一个示例代码。我正在使用create_iot_topic函数。 我的代码如下:

def create_iot_topic(topic_url):
    # eg: topic_url = 'projects/<projectname>/topics/<topicname>'
    topic1 = pubsub_client.topic(topic_url)
    print(topic_url)
    policy = topic1.get_iam_policy()
    publishers = policy.get('roles/pubsub.publisher', [])
    publishers.add(policy.service_account(
            'cloud-iot@system.gserviceaccount.com'))
    policy['roles/pubsub.publisher'] = publishers
    topic1.set_iam_policy(policy)

    return topic1

调用此函数时,我在第5行(get_iam_policy()函数)收到错误:

UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 1438: ordinal not in range(128)

我需要帮助解决这个问题。有人能给我一些指向我的地方。

谢谢,

1 个答案:

答案 0 :(得分:0)

上面给定链接中的代码最近更新,现在没有错误。