Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. #import snowflake connector module
  2. import snowflake.connector
  3. import sys
  4. import os
  5. from cryptography.hazmat.backends import default_backend
  6. from cryptography.hazmat.primitives.asymmetric import rsa
  7. from cryptography.hazmat.primitives.asymmetric import dsa
  8. from cryptography.hazmat.primitives import serialization
  9.  
  10. # 確定輸入的參數是否給定正確
  11. # Sample: python load_data.py <account> <user> <role>
  12. if len(sys.argv) < 4 :
  13. print("ERROR: Please pass the following command-line parameters in order:",end='\n')
  14. print("account,user,role.")
  15. sys.exit(-1)
  16. else:
  17. ACCOUNT = sys.argv[1]
  18. USER = sys.argv[2]
  19. ROLE = sys.argv[3]
  20.  
  21. with open("/Users/abehsu/Documents/Snowflake/Snowpipe_poc/rsa_key.p8", "rb") as key:
  22. p_key = serialization.load_pem_private_key(
  23. key.read(),
  24. password = os.environ['PRIVATE_KEY_PASSPHRASE'].encode(),
  25. backend=default_backend()
  26. )
  27.  
  28. pkb = p_key.private_bytes(
  29. encoding=serialization.Encoding.DER,
  30. format=serialization.PrivateFormat.PKCS8,
  31. encryption_algorithm=serialization.NoEncryption()
  32. )
  33.  
  34.  
  35. con = snowflake.connector.connect(
  36. account=ACCOUNT,
  37. user=USER,
  38. role=ROLE,
  39. private_key=pkb
  40. )
  41.  
  42. results = con.cursor().execute("select current_warehouse(), current_database(), current_schema();")
  43.  
  44. for result in results:
  45. print("current_warehouse","current_database","current_schema")
  46. print(result[0],result[1],result[2])
  47.  
  48.  
  49.  
  50. con.cursor().execute("""
  51. USE WAREHOUSE tiny_warehouse_mg;
  52. """)
  53.  
  54. con.cursor().execute("""
  55. USE SCHEMA testdb_mg.testschema_mg;
  56. """)
  57.  
  58. con.cursor().execute("""
  59. PUT file:////Users/abehsu/Documents/Snowflake/Snowpipe_poc/tmp/file* @%test_table
  60. """)
  61.  
  62. con.cursor().execute("""
  63. COPY INTO test_table
  64. """)
  65.  
  66. cur = con.cursor()
  67. try:
  68. cur.execute("""
  69. SELECT * FROM test_table
  70. """)
  71.  
  72. for (col1,col2) in cur:
  73. print("col1","col2")
  74. print('%s,%s' %(col1,col2))
  75. finally:
  76. cur.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement