aiwhj commented on issue #8347: URL: https://github.com/apache/iceberg/issues/8347#issuecomment-1687932446
> For glue you could try and specify the [client.credentials-provider](https://github.com/apache/iceberg/blob/master/aws/src/main/java/org/apache/iceberg/aws/AwsClientProperties.java#L52). However, I see that you specified a bunch of S3-related **table properties**, which is wrong. Those aren't used in any way. > > You need to pass them when creating the catalog, meaning that you need to set **catalog properties** instead of **table properties**. See https://iceberg.apache.org/docs/latest/flink-configuration/#catalog-configuration. > > Given that you want to use `S3FileIO`, you'd set only the ones that exist in https://github.com/apache/iceberg/blob/master/aws/src/main/java/org/apache/iceberg/aws/s3/S3FileIOProperties.java#L43. In your case that would most likely be `s3.access-key-id` / `s3.secret-access-key` / `s3.path-style-access` / `s3.endpoint`. Thank you for your reply. I tried creating a Catalog first and then creating a table based on the Catalog. I followed your suggestion to configure using client.credentials-provider, and the authorization step has passed. However, I encountered another error. It seems that it is not connecting to my Minio but instead connecting to the online AWS service. ``` CREATE CATALOG my_catalog WITH ( 'connector'='iceberg', 'catalog-name'='test_log', 'type'='iceberg', 'catalog-impl'='org.apache.iceberg.aws.glue.GlueCatalog', 'warehouse'='s3a://iceberg/my/key/prefix', 'io-impl'='org.apache.iceberg.aws.s3.S3FileIO', 's3.access-key-id'='DNxkAwJpbuB***', 's3.secret-access-key'='YVMYE78PgQ8xBizDPm******', 's3.endpoint'='http://minio:30619', 's3.path-style-access'='true', 'client.region'='us-east-1', 'client.credentials-provider'='software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider', 'client.factory'='org.apache.iceberg.aws.s3.DefaultS3FileIOAwsClientFactory' ); ``` ``` CREATE TABLE `my_catalog`.`default`.`test` ( id BIGINT COMMENT 'unique id', data STRING ); ```  I found a configuration called `client.factory` and specified it as `org.apache.iceberg.aws.s3.DefaultS3FileIOAwsClientFactory`, but it resulted in an error: org.apache.iceberg.aws.s3.DefaultS3FileIOAwsClientFactory cannot be cast to org.apache.iceberg.aws.AwsClientFactory.  I'm not sure what to do next. Could you provide me with an example? Thank you. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
